DSACryptoServiceProvider 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
알고리즘의 CSP(암호화 서비스 공급자) 구현에 액세스하는 래퍼 개체를 DSA 정의합니다. 이 클래스는 상속할 수 없습니다.
public ref class DSACryptoServiceProvider sealed : System::Security::Cryptography::DSA
public ref class DSACryptoServiceProvider sealed : System::Security::Cryptography::DSA, System::Security::Cryptography::ICspAsymmetricAlgorithm
public sealed class DSACryptoServiceProvider : System.Security.Cryptography.DSA
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class DSACryptoServiceProvider : System.Security.Cryptography.DSA, System.Security.Cryptography.ICspAsymmetricAlgorithm
public sealed class DSACryptoServiceProvider : System.Security.Cryptography.DSA, System.Security.Cryptography.ICspAsymmetricAlgorithm
type DSACryptoServiceProvider = class
inherit DSA
[<System.Runtime.InteropServices.ComVisible(true)>]
type DSACryptoServiceProvider = class
inherit DSA
interface ICspAsymmetricAlgorithm
type DSACryptoServiceProvider = class
inherit DSA
interface ICspAsymmetricAlgorithm
Public NotInheritable Class DSACryptoServiceProvider
Inherits DSA
Public NotInheritable Class DSACryptoServiceProvider
Inherits DSA
Implements ICspAsymmetricAlgorithm
- 상속
- 특성
- 구현
설명
클래스를 DSACryptoServiceProvider 사용하여 디지털 서명을 만들고 데이터의 무결성을 보호할 수 있습니다.
공개 키 시스템을 사용하여 메시지에 디지털 서명하기 위해 보낸 사람 먼저 메시지에 해시 함수를 적용하여 메시지 다이제스트를 만듭니다. 그런 다음 보낸 사람의 개인 키를 사용하여 메시지 다이제스트를 암호화하여 보낸 사람의 개인 서명을 만듭니다. 메시지와 서명을 받으면 수신자는 보낸 사람의 공개 키를 사용하여 서명의 암호를 해독하여 메시지 다이제스트를 복구하고 발신자가 사용한 것과 동일한 해시 알고리즘을 사용하여 메시지를 해시합니다. 수신자가 계산하는 메시지가 보낸 사람으로부터 받은 메시지 다이제스트와 정확히 일치하면 수신자는 전송 중에 메시지가 변경되지 않았는지 확인할 수 있습니다. 보낸 사람의 공개 키는 일반적인 지식이므로 누구나 서명을 확인할 수 있습니다.
메모
DSA 알고리즘의 작성자는 해당 알고리즘에 대한 지원을 철회했습니다. RSACryptoServiceProvider 클래스를 DSACryptoServiceProvider 클래스 대신 사용하는 것이 좋습니다. 레거시 애플리케이션 및 데이터와의 호환성에만 사용합니다 DSACryptoServiceProvider .
이 알고리즘은 512비트에서 1024비트까지의 키 길이를 64비트 단위로 지원합니다.
생성자
| Name | Description |
|---|---|
| DSACryptoServiceProvider() |
DSACryptoServiceProvider 클래스의 새 인스턴스를 초기화합니다. |
| DSACryptoServiceProvider(CspParameters) |
CSP(암호화 서비스 공급자)에 DSACryptoServiceProvider 대해 지정된 매개 변수를 사용하여 클래스의 새 인스턴스를 초기화합니다. |
| DSACryptoServiceProvider(Int32, CspParameters) |
CSP(암호화 서비스 공급자)에 DSACryptoServiceProvider 대해 지정된 키 크기 및 매개 변수를 사용하여 클래스의 새 인스턴스를 초기화합니다. |
| DSACryptoServiceProvider(Int32) |
지정된 키 크기를 사용하여 클래스의 DSACryptoServiceProvider 새 인스턴스를 초기화합니다. |
필드
| Name | Description |
|---|---|
| KeySizeValue |
비대칭 알고리즘에서 사용하는 키 모듈러스의 크기를 비트 단위로 나타냅니다. (다음에서 상속됨 AsymmetricAlgorithm) |
| LegalKeySizesValue |
비대칭 알고리즘에서 지원하는 키 크기를 지정합니다. (다음에서 상속됨 AsymmetricAlgorithm) |
속성
| Name | Description |
|---|---|
| CspKeyContainerInfo |
CspKeyContainerInfo 암호화 키 쌍에 대한 추가 정보를 설명하는 개체를 가져옵니다. |
| KeyExchangeAlgorithm |
키 교환 알고리즘의 이름을 가져옵니다. |
| KeySize |
비대칭 알고리즘에서 사용되는 키의 크기를 비트 단위로 가져옵니다. |
| LegalKeySizes |
비대칭 알고리즘에서 지원하는 키 크기를 가져옵니다. |
| LegalKeySizes |
비대칭 알고리즘에서 지원하는 키 크기를 가져옵니다. (다음에서 상속됨 AsymmetricAlgorithm) |
| PersistKeyInCsp |
CSP(암호화 서비스 공급자)에서 키를 유지해야 하는지 여부를 나타내는 값을 가져오거나 설정합니다. |
| PublicOnly |
개체에 공개 키만 포함되는지 여부를 DSACryptoServiceProvider 나타내는 값을 가져옵니다. |
| SignatureAlgorithm |
서명 알고리즘의 이름을 가져옵니다. |
| UseMachineKeyStore |
키를 사용자 프로필 저장소 대신 컴퓨터의 키 저장소에 유지할지 여부를 나타내는 값을 가져오거나 설정합니다. |
메서드
| Name | Description |
|---|---|
| Clear() |
클래스에서 사용하는 모든 리소스를 해제합니다 AsymmetricAlgorithm . (다음에서 상속됨 AsymmetricAlgorithm) |
| CreateSignature(Byte[]) |
DSA 지정된 데이터에 대한 서명을 만듭니다. |
| Dispose() |
AsymmetricAlgorithm 클래스의 현재 인스턴스에서 사용하는 모든 리소스를 해제합니다. (다음에서 상속됨 AsymmetricAlgorithm) |
| Dispose(Boolean) |
클래스에서 사용하는 관리되지 않는 리소스를 AsymmetricAlgorithm 해제하고 필요에 따라 관리되는 리소스를 해제합니다. (다음에서 상속됨 AsymmetricAlgorithm) |
| Equals(Object) |
지정한 개체와 현재 개체가 같은지 여부를 확인합니다. (다음에서 상속됨 Object) |
| ExportCspBlob(Boolean) |
개체와 연결된 키 정보를 포함하는 Blob을 DSACryptoServiceProvider 내보냅니다. |
| ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters) |
바이트 기반 암호를 사용하여 PKCS#8 EncryptedPrivateKeyInfo 형식의 현재 키를 내보냅니다. (다음에서 상속됨 AsymmetricAlgorithm) |
| ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters) |
문자 기반 암호를 사용하여 PKCS#8 EncryptedPrivateKeyInfo 형식의 현재 키를 내보냅니다. (다음에서 상속됨 AsymmetricAlgorithm) |
| ExportParameters(Boolean) |
를 내보 DSAParameters냅니다. |
| ExportPkcs8PrivateKey() |
PKCS#8 PrivateKeyInfo 형식으로 현재 키를 내보냅니다. (다음에서 상속됨 AsymmetricAlgorithm) |
| ExportSubjectPublicKeyInfo() |
현재 키의 공개 키 부분을 X.509 SubjectPublicKeyInfo 형식으로 내보냅니다. (다음에서 상속됨 AsymmetricAlgorithm) |
| Finalize() |
이 인스턴스와 연결된 모든 리소스를 해제합니다. |
| FromXmlString(String) |
XML 문자열에서 개체를 DSA 다시 구성합니다. (다음에서 상속됨 DSA) |
| GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
| GetType() |
현재 인스턴스의 Type 가져옵니다. (다음에서 상속됨 Object) |
| HashData(Byte[], Int32, Int32, HashAlgorithmName) |
파생 클래스에서 재정의되는 경우 지정된 해시 알고리즘을 사용하여 바이트 배열의 지정된 부분의 해시 값을 계산합니다. (다음에서 상속됨 DSA) |
| HashData(Stream, HashAlgorithmName) |
파생 클래스에서 재정의되는 경우 지정된 해시 알고리즘을 사용하여 지정된 이진 스트림의 해시 값을 계산합니다. (다음에서 상속됨 DSA) |
| ImportCspBlob(Byte[]) |
DSA 키 정보를 나타내는 Blob을 가져옵니다. |
| ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32) |
파생 클래스에서 재정의된 경우 바이트 기반 암호로 암호를 해독한 후 PKCS#8 EncryptedPrivateKeyInfo 구조체에서 퍼블릭/프라이빗 키페어를 가져와서 이 개체의 키를 바꿔줍니다. (다음에서 상속됨 AsymmetricAlgorithm) |
| ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32) |
파생 클래스에서 재정의된 경우 문자 기반 암호로 암호를 해독한 후 PKCS#8 EncryptedPrivateKeyInfo 구조체에서 공용/프라이빗 키페어를 가져와서 이 개체의 키를 대체합니다. (다음에서 상속됨 AsymmetricAlgorithm) |
| ImportParameters(DSAParameters) |
지정된 DSAParameters을 가져옵니다. |
| ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32) |
파생 클래스에서 재정의된 경우 암호 해독 후 PKCS#8 PrivateKeyInfo 구조체에서 public/private Keypair를 가져와 이 개체의 키를 대체합니다. (다음에서 상속됨 AsymmetricAlgorithm) |
| ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32) |
파생 클래스에서 재정의된 경우 암호 해독 후 X.509 SubjectPublicKeyInfo 구조체에서 공개 키를 가져와서 이 개체의 키를 대체합니다. (다음에서 상속됨 AsymmetricAlgorithm) |
| MemberwiseClone() |
현재 Object단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
| SignData(Byte[], HashAlgorithmName) |
지정된 해시 알고리즘을 사용하여 지정된 바이트 배열의 해시 값을 계산하고 결과 해시 값에 서명합니다. (다음에서 상속됨 DSA) |
| SignData(Byte[], Int32, Int32, HashAlgorithmName) |
지정된 해시 알고리즘을 사용하여 지정된 바이트 배열의 일부 해시 값을 계산하고 결과 해시 값에 서명합니다. (다음에서 상속됨 DSA) |
| SignData(Byte[], Int32, Int32) |
지정된 시작점에서 지정된 끝점으로 바이트 배열에 서명합니다. |
| SignData(Byte[]) |
지정된 바이트 배열의 해시 값을 계산하고 결과 해시 값에 서명합니다. |
| SignData(Stream, HashAlgorithmName) |
지정된 해시 알고리즘을 사용하여 지정된 스트림의 해시 값을 계산하고 결과 해시 값에 서명합니다. (다음에서 상속됨 DSA) |
| SignData(Stream) |
지정된 입력 스트림의 해시 값을 계산하고 결과 해시 값에 서명합니다. |
| SignHash(Byte[], String) |
프라이빗 키로 암호화하여 지정된 해시 값에 대한 서명을 계산합니다. |
| ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
| ToXmlString(Boolean) |
현재 DSA 개체의 XML 문자열 표현을 만들고 반환합니다. (다음에서 상속됨 DSA) |
| TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, Int32) |
제공된 버퍼에 지정된 해시에 대한 DSA 서명을 만들려고 시도합니다. (다음에서 상속됨 DSA) |
| TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32) |
파생 클래스에서 재정의된 경우 바이트 기반 암호를 사용하여 PKCS#8 EncryptedPrivateKeyInfo 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다. (다음에서 상속됨 AsymmetricAlgorithm) |
| TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32) |
파생 클래스에서 재정의된 경우 문자 기반 암호를 사용하여 PKCS#8 EncryptedPrivateKeyInfo 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다. (다음에서 상속됨 AsymmetricAlgorithm) |
| TryExportPkcs8PrivateKey(Span<Byte>, Int32) |
파생 클래스에서 재정의된 경우 PKCS#8 PrivateKeyInfo 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다. (다음에서 상속됨 AsymmetricAlgorithm) |
| TryExportSubjectPublicKeyInfo(Span<Byte>, Int32) |
파생 클래스에서 재정의된 경우 X.509 SubjectPublicKeyInfo 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다. (다음에서 상속됨 AsymmetricAlgorithm) |
| TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32) |
제공된 데이터의 해시 값을 제공된 버퍼로 계산하려고 시도합니다. (다음에서 상속됨 DSA) |
| TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32) |
지정된 데이터에 대한 DSA 서명을 제공된 버퍼에 만들려고 시도합니다. (다음에서 상속됨 DSA) |
| VerifyData(Byte[], Byte[], HashAlgorithmName) |
지정된 해시 알고리즘을 사용하여 지정된 데이터의 해시 값을 계산하고 제공된 서명과 비교하여 디지털 서명이 유효한지 확인합니다. (다음에서 상속됨 DSA) |
| VerifyData(Byte[], Byte[]) |
지정된 서명 데이터를 지정된 데이터에 대해 계산된 서명과 비교하여 확인합니다. |
| VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName) |
지정된 해시 알고리즘을 사용하여 바이트 배열의 일부에서 데이터의 해시 값을 계산하고 제공된 서명과 비교하여 디지털 서명이 유효한지 확인합니다. (다음에서 상속됨 DSA) |
| VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName) |
지정된 해시 알고리즘을 사용하여 바이트 범위에서 데이터의 해시 값을 계산하고 제공된 서명과 비교하여 디지털 서명이 유효한지 확인합니다. (다음에서 상속됨 DSA) |
| VerifyData(Stream, Byte[], HashAlgorithmName) |
지정된 해시 알고리즘을 사용하여 지정된 스트림의 해시 값을 계산하고 제공된 서명과 비교하여 디지털 서명이 유효한지 확인합니다. (다음에서 상속됨 DSA) |
| VerifyHash(Byte[], String, Byte[]) |
지정된 해시 값에 대해 계산된 서명과 비교하여 지정된 서명 데이터를 확인합니다. |
| VerifySignature(Byte[], Byte[]) |
DSA 지정된 데이터에 대한 서명을 확인합니다. |
| VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) |
디지털 서명이 제공된 데이터 해시에 대해 유효한지 확인합니다. (다음에서 상속됨 DSA) |
명시적 인터페이스 구현
| Name | Description |
|---|---|
| IDisposable.Dispose() |
이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다. 이 멤버에 대한 설명은 을 참조하세요 Dispose(). (다음에서 상속됨 AsymmetricAlgorithm) |