CryptoProvider Klas

Definitie

Biedt digitale rechtenbeheerservices voor het versleutelen en ontsleutelen van beveiligde inhoud.

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
Overname
CryptoProvider
Kenmerken
Implementeringen

Voorbeelden

In het volgende voorbeeld ziet u hoe u de CryptoProvider klasse gebruikt om een EncryptedPackageEnvelopete maken.

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

Opmerkingen

CryptoProvider wordt gemaakt als gevolg van de methode bij het Bind binden van een rechten die worden beheerd UseLicense aan een SecureEnvironment.

Net als bij andere System.Security.RightsManagement typen is CryptoProvider het alleen bruikbaar in volledig vertrouwde toepassingen.

Eigenschappen

Name Description
BlockSize

Hiermee haalt u de grootte van het coderingsblok op in bytes.

BoundGrants

Hiermee haalt u een verzameling op met de rechten die verificatie hebben doorgegeven en die aan de gebruiker worden verleend.

CanDecrypt

Hiermee wordt een waarde opgehaald die aangeeft of de gebruiker rechten heeft om te ontsleutelen.

CanEncrypt

Hiermee wordt een waarde opgehaald die aangeeft of de gebruiker rechten heeft om te versleutelen.

CanMergeBlocks

Hiermee wordt een waarde opgehaald die aangeeft of Encrypt(Byte[]) en Decrypt(Byte[]) buffers kan accepteren die verschillende blokgrootten in lengte hebben.

Methoden

Name Description
Decrypt(Byte[])

Ontsleutelt coderingstekst om tekst te wissen.

Dispose()

Alle resources die worden gebruikt door de CryptoProvider.

Dispose(Boolean)

Publiceert de niet-beheerde resources die worden gebruikt door de CryptoProvider beheerde resources en brengt eventueel de beheerde resources vrij.

Encrypt(Byte[])

Versleutelt duidelijke tekst naar coderingstekst.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
Finalize()

Maakt resources vrij en voert interne opschoning uit voordat het exemplaar wordt vrijgemaakt door garbagecollection.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op

Zie ook