CryptoProvider Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt digitale Rechteverwaltungsdienste zum Verschlüsseln und Entschlüsseln geschützter Inhalte bereit.
public ref class CryptoProvider : IDisposable
[System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)]
public class CryptoProvider : IDisposable
public class CryptoProvider : IDisposable
[<System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)>]
type CryptoProvider = class
interface IDisposable
type CryptoProvider = class
interface IDisposable
Public Class CryptoProvider
Implements IDisposable
- Vererbung
-
CryptoProvider
- Attribute
- Implementiert
Beispiele
Das folgende Beispiel zeigt, wie Sie die CryptoProvider Klasse zum Erstellen einer EncryptedPackageEnvelope.
WriteStatus(" Signing the UnsignedPublishLicense\n" +
" to build the PublishLicense.");
UseLicense authorsUseLicense;
PublishLicense publishLicense =
unsignedLicense.Sign(_secureEnv, out authorsUseLicense);
WriteStatus(" Binding the author's UseLicense and");
WriteStatus(" obtaining the CryptoProvider.");
CryptoProvider cryptoProvider = authorsUseLicense.Bind(_secureEnv);
WriteStatus(" Creating the EncryptedPackage.");
Stream packageStream = File.OpenRead(packageFile);
EncryptedPackageEnvelope ePackage =
EncryptedPackageEnvelope.CreateFromPackage(encryptedFile,
packageStream, publishLicense, cryptoProvider);
WriteStatus(" Adding an author's UseLicense.");
RightsManagementInformation rmi =
ePackage.RightsManagementInformation;
rmi.SaveUseLicense(author, authorsUseLicense);
ePackage.Close();
WriteStatus(" Done - Package encryption complete.");
WriteStatus("Verifying package encryption.");
if (EncryptedPackageEnvelope.IsEncryptedPackageEnvelope(encryptedFile))
{
WriteStatus(" Confirmed - '" + encryptedFilename +
"' is encrypted.");
}
else
{
MessageBox.Show("ERROR: '" + encryptedFilename +
"' is NOT ENCRYPTED.", "Encryption Error",
MessageBoxButton.OK, MessageBoxImage.Error);
WriteStatus("ERROR: '" + encryptedFilename +
"' is NOT ENCRYPTED.\n");
return false;
}
WriteStatus(" Signing the UnsignedPublishLicense" & vbLf & " to build the PublishLicense.")
Dim authorsUseLicense As UseLicense = Nothing
Dim publishLicense As PublishLicense = unsignedLicense.Sign(_secureEnv, authorsUseLicense)
WriteStatus(" Binding the author's UseLicense and")
WriteStatus(" obtaining the CryptoProvider.")
Dim cryptoProvider As CryptoProvider = authorsUseLicense.Bind(_secureEnv)
WriteStatus(" Creating the EncryptedPackage.")
Dim packageStream As Stream = File.OpenRead(packageFile)
Dim ePackage As EncryptedPackageEnvelope = EncryptedPackageEnvelope.CreateFromPackage(encryptedFile, packageStream, publishLicense, cryptoProvider)
WriteStatus(" Adding an author's UseLicense.")
Dim rmi As RightsManagementInformation = ePackage.RightsManagementInformation
rmi.SaveUseLicense(author, authorsUseLicense)
ePackage.Close()
WriteStatus(" Done - Package encryption complete.")
WriteStatus("Verifying package encryption.")
If EncryptedPackageEnvelope.IsEncryptedPackageEnvelope(encryptedFile) Then
WriteStatus(" Confirmed - '" & encryptedFilename & "' is encrypted.")
Else
MessageBox.Show("ERROR: '" & encryptedFilename & "' is NOT ENCRYPTED.", "Encryption Error", MessageBoxButton.OK, MessageBoxImage.Error)
WriteStatus("ERROR: '" & encryptedFilename & "' is NOT ENCRYPTED." & vbLf)
Return False
End If
Hinweise
CryptoProvider wird als Ergebnis der Bind Methode erstellt, wenn eine Bindung eines UseLicense an ein SecureEnvironment.
Wie bei anderen System.Security.RightsManagement Typen CryptoProvider kann nur in voll vertrauenswürdigen Anwendungen verwendet werden.
Eigenschaften
| Name | Beschreibung |
|---|---|
| BlockSize |
Ruft die Chiffreblockgröße in Bytes ab. |
| BoundGrants |
Ruft eine Auflistung ab, die die Rechte auflistet, die die Überprüfung bestanden haben und die dem Benutzer gewährt werden. |
| CanDecrypt |
Ruft einen Wert ab, der angibt, ob der Benutzer über die Berechtigung zum Entschlüsseln verfügt. |
| CanEncrypt |
Ruft einen Wert ab, der angibt, ob der Benutzer über die Berechtigung zum Verschlüsseln verfügt. |
| CanMergeBlocks |
Ruft einen Wert ab, der angibt, ob Encrypt(Byte[]) Puffer Decrypt(Byte[]) akzeptiert werden können, die unterschiedliche Blockgrößen enthalten. |
Methoden
| Name | Beschreibung |
|---|---|
| Decrypt(Byte[]) |
Entschlüsselt Chiffretext, um Text zu löschen. |
| Dispose() |
Gibt alle vom CryptoProviderverwendeten Ressourcen frei. |
| Dispose(Boolean) |
Gibt die nicht verwalteten Ressourcen frei, die von den CryptoProvider verwalteten Ressourcen verwendet werden, und gibt optional die verwalteten Ressourcen frei. |
| Encrypt(Byte[]) |
Verschlüsselt Klartext mit Chiffretext. |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| Finalize() |
Gibt Ressourcen frei und führt eine interne Bereinigung durch, bevor die Instanz von der Garbage Collection zurückgefordert wird. |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |