CryptoProvider Klasse

Definition

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)

Gilt für:

Weitere Informationen