CryptoProvider 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
보호된 콘텐츠를 암호화 및 해독하기 위한 디지털 권한 관리 서비스를 제공합니다.
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
- 상속
-
CryptoProvider
- 특성
- 구현
예제
다음 예제에서는 사용 하는 방법을 보여 줍니다 합니다 CryptoProvider 만들 클래스를 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
설명
CryptoProvider 결과로 생성 됩니다는 Bind 메서드는 권한 바인딩 관리 되는 경우 UseLicense 에 SecureEnvironment합니다.
다른와 마찬가지로 System.Security.RightsManagement 형식을 CryptoProvider 완전 신뢰 애플리케이션에만 유용 합니다.
속성
BlockSize |
암호화 블록 크기를 바이트 단위로 가져옵니다. |
BoundGrants |
확인 과정을 거쳐 사용자에게 부여된 권한을 나열하는 컬렉션을 가져옵니다. |
CanDecrypt |
사용자에게 암호 해독 권한이 있는지 여부를 나타내는 값을 가져옵니다. |
CanEncrypt |
사용자에게 암호화 권한이 있는지 여부를 나타내는 값을 가져옵니다. |
CanMergeBlocks |
Encrypt(Byte[]) 및 Decrypt(Byte[])에 블록 크기의 길이가 서로 다른 버퍼를 사용할 수 있는지 여부를 나타내는 값을 가져옵니다. |
메서드
Decrypt(Byte[]) |
암호화 텍스트를 일반 텍스트로 해독합니다. |
Dispose() |
CryptoProvider에서 사용하는 모든 리소스를 해제합니다. |
Dispose(Boolean) |
CryptoProvider에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다. |
Encrypt(Byte[]) |
일반 텍스트를 암호화 텍스트로 암호화합니다. |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
Finalize() |
가비지 컬렉션에 의해 인스턴스가 회수되기 전에 리소스를 해제하고 내부 정리를 수행합니다. |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |