CryptoProvider Classe

Definizione

Fornisce servizi di gestione dei diritti digitali per crittografare e decrittografare il contenuto protetto.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
Ereditarietà
CryptoProvider
Attributi
Implementazioni

Esempi

Nell'esempio seguente viene illustrato come utilizzare la CryptoProvider classe per creare un EncryptedPackageEnvelopeoggetto.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

Commenti

CryptoProviderviene creato come risultato del Bind metodo quando si associa un diritto gestito UseLicense a un SecureEnvironment.CryptoProvider is created as a result of the Bind method when binding a rights managed UseLicense to a SecureEnvironment.

Come per gli System.Security.RightsManagement altri tipi CryptoProvider , è utilizzabile solo nelle applicazioni con attendibilità totale.As with other System.Security.RightsManagement types, CryptoProvider is only usable in full trust applications.

Proprietà

BlockSize

Ottiene la dimensione del blocco crittografato, in byte.Gets the cipher block size, in bytes.

BoundGrants

Ottiene un insieme che elenca i diritti sottoposti a verifica e concessi all'utente.Gets a collection listing the rights that passed verification and that are granted to the user.

CanDecrypt

Ottiene un valore che indica se l'utente possiede i diritti per decrittografare.Gets a value that indicates whether the user has rights to decrypt.

CanEncrypt

Ottiene un valore che indica se l'utente possiede i diritti per crittografare.Gets a value that indicates whether the user has rights to encrypt.

CanMergeBlocks

Ottiene un valore che indica se Encrypt(Byte[]) e Decrypt(Byte[]) possono accettare buffer con una lunghezza dei blocchi diversa.Gets a value that indicates whether Encrypt(Byte[]) and Decrypt(Byte[]) can accept buffers that are different block sizes in length.

Metodi

Decrypt(Byte[])

Consente di decrittografare un testo crittografato.Decrypts cipher text to clear text.

Dispose()

Rilascia tutte le risorse usate da CryptoProvider.Releases all resources used by the CryptoProvider.

Dispose(Boolean)

Rilascia le risorse non gestite usate da CryptoProvider e, facoltativamente, le risorse gestite.Releases the unmanaged resources used by the CryptoProvider and optionally releases the managed resources.

Encrypt(Byte[])

Crittografa testo non crittografato creando testo crittografato.Encrypts clear text to cipher text.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
Finalize()

Rilascia risorse ed esegue operazioni di pulizia interna prima che l'istanza venga recuperata tramite Garbage Collection.Frees resources and performs internal cleanup before the instance is reclaimed by garbage collection.

GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Si applica a

Vedi anche