CryptoProvider Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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) |