CryptoProvider Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Korumalı içeriği şifrelemek ve şifresini çözmek için dijital hak yönetimi hizmetleri sağlar.
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
- Devralma
-
CryptoProvider
- Öznitelikler
- Uygulamalar
Örnekler
Aşağıdaki örnekte, oluşturmak için sınıfının nasıl kullanılacağı CryptoProvider gösterilmektedir 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
Açıklamalar
CryptoProvider, bir ile yönetilen UseLicenseSecureEnvironmenthakları bağlarken yönteminin Bind bir sonucu olarak oluşturulur.
Diğer System.Security.RightsManagement türlerde olduğu gibi, CryptoProvider yalnızca tam güven uygulamalarında kullanılabilir.
Özellikler
BlockSize |
Şifre bloğu boyutunu bayt cinsinden alır. |
BoundGrants |
Doğrulamayı geçen ve kullanıcıya verilen hakları listeleyen bir koleksiyon alır. |
CanDecrypt |
Kullanıcının şifre çözme hakları olup olmadığını gösteren bir değer alır. |
CanEncrypt |
Kullanıcının şifreleme haklarına sahip olup olmadığını gösteren bir değer alır. |
CanMergeBlocks |
Farklı blok boyutlarına sahip arabelleklerin uzunluğunda olup olmadığını Encrypt(Byte[]) ve Decrypt(Byte[]) kabul edip edemeyeceğini belirten bir değer alır. |
Yöntemler
Decrypt(Byte[]) |
Metni temizlemek için şifre çözme metninin şifresini çözer. |
Dispose() |
CryptoProvider tarafından kullanılan tüm kaynakları serbest bırakır. |
Dispose(Boolean) |
CryptoProvider tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve yönetilen kaynakları isteğe bağlı olarak serbest bırakır. |
Encrypt(Byte[]) |
Metni şifrelemek için düz metni şifreler. |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
Finalize() |
Örnek çöp toplama tarafından geri kazanılmadan önce kaynakları serbest kaldırır ve iç temizleme gerçekleştirir. |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |