CryptoProvider CryptoProvider CryptoProvider CryptoProvider Class

Definition

Stellt DRM-Dienste (Digital Rights Management) zum Verschlüsseln und Entschlüsseln von geschütztem Inhalt bereit.Provides digital rights management services for encrypting and decrypting protected content.

public ref class CryptoProvider : IDisposable
[System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)]
public class CryptoProvider : IDisposable
type CryptoProvider = class
    interface IDisposable
Public Class CryptoProvider
Implements IDisposable
Vererbung
CryptoProviderCryptoProviderCryptoProviderCryptoProvider
Attribute
Implementiert

Beispiele

Das folgende Beispiel zeigt, wie Sie mit der CryptoProvider -Klasse zur Erstellung einer EncryptedPackageEnvelope.The following example shows how to use the CryptoProvider class to create an 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 des erstellt die Bind Methode, wenn die Bindung ein Rights managed UseLicense auf eine SecureEnvironment.CryptoProvider is created as a result of the Bind method when binding a rights managed UseLicense to a SecureEnvironment.

Wie bei anderen System.Security.RightsManagement Typen CryptoProvider ist nur in Anwendungen mit voller Vertrauenswürdigkeit verwendet werden.As with other System.Security.RightsManagement types, CryptoProvider is only usable in full trust applications.

Eigenschaften

BlockSize BlockSize BlockSize BlockSize

Ruft die Verschlüsselungsblockgröße in Bytes ab.Gets the cipher block size, in bytes.

BoundGrants BoundGrants BoundGrants BoundGrants

Ruft eine Auflistung von Rechten ab, die erfolgreich überprüft und dem Benutzer gewährt wurden.Gets a collection listing the rights that passed verification and that are granted to the user.

CanDecrypt CanDecrypt CanDecrypt CanDecrypt

Ruft einen Wert ab, der angibt, ob der Benutzer über Entschlüsselungsrechte verfügt.Gets a value that indicates whether the user has rights to decrypt.

CanEncrypt CanEncrypt CanEncrypt CanEncrypt

Ruft einen Wert ab, der angibt, ob der Benutzer über Verschlüsselungsrechte verfügt.Gets a value that indicates whether the user has rights to encrypt.

CanMergeBlocks CanMergeBlocks CanMergeBlocks CanMergeBlocks

Ruft einen Wert ab, der angibt, ob Encrypt(Byte[]) und Decrypt(Byte[]) Puffer mit unterschiedlichen Blockgrößen akzeptieren.Gets a value that indicates whether Encrypt(Byte[]) and Decrypt(Byte[]) can accept buffers that are different block sizes in length.

Methoden

Decrypt(Byte[]) Decrypt(Byte[]) Decrypt(Byte[]) Decrypt(Byte[])

Entschlüsselt verschlüsselten Text.Decrypts cipher text to clear text.

Dispose() Dispose() Dispose() Dispose()

Gibt alle vom CryptoProvider verwendeten Ressourcen frei.Releases all resources used by the CryptoProvider.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Gibt die von CryptoProvider verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.Releases the unmanaged resources used by the CryptoProvider and optionally releases the managed resources.

Encrypt(Byte[]) Encrypt(Byte[]) Encrypt(Byte[]) Encrypt(Byte[])

Verschlüsselt Klartext in Verschlüsselungstext.Encrypts clear text to cipher text.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Finalize() Finalize() Finalize() Finalize()

Gibt Ressourcen frei und führt eine interne Bereinigung durch, bevor die Instanz durch die Garbage Collection wieder freigegeben wird.Frees resources and performs internal cleanup before the instance is reclaimed by garbage collection.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Gilt für:

Siehe auch