다음을 통해 공유


DSACryptoServiceProvider 클래스

정의

래퍼 개체를 정의하여 DSA 알고리즘의 CSP(암호화 서비스 공급자) 구현에 액세스합니다. 이 클래스는 상속될 수 없습니다.

public ref class DSACryptoServiceProvider sealed : System::Security::Cryptography::DSA, System::Security::Cryptography::ICspAsymmetricAlgorithm
public ref class DSACryptoServiceProvider sealed : System::Security::Cryptography::DSA
public sealed class DSACryptoServiceProvider : 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
type DSACryptoServiceProvider = class
    inherit DSA
    interface ICspAsymmetricAlgorithm
type DSACryptoServiceProvider = class
    inherit DSA
[<System.Runtime.InteropServices.ComVisible(true)>]
type DSACryptoServiceProvider = class
    inherit DSA
    interface ICspAsymmetricAlgorithm
Public NotInheritable Class DSACryptoServiceProvider
Inherits DSA
Implements ICspAsymmetricAlgorithm
Public NotInheritable Class DSACryptoServiceProvider
Inherits DSA
상속
DSACryptoServiceProvider
특성
구현

설명

클래스를 DSACryptoServiceProvider 사용하여 디지털 서명을 만들고 데이터의 무결성을 보호할 수 있습니다.

공개 키 시스템을 사용하여 메시지에 디지털 서명하기 위해 발신자는 먼저 메시지에 해시 함수를 적용하여 메시지 다이제스트를 만듭니다. 그런 다음 보낸 사람의 개인 키를 사용하여 메시지 다이제스트를 암호화하여 보낸 사람의 개인 서명을 만듭니다. 메시지와 서명을 받으면 수신자는 보낸 사람의 공개 키를 사용하여 서명의 암호를 해독하여 메시지 다이제스트를 복구하고 발신자가 사용한 것과 동일한 해시 알고리즘을 사용하여 메시지를 해시합니다. 수신기가 계산하는 메시지 다이제스트가 보낸 사람으로부터 받은 메시지 다이제스트와 정확히 일치하는 경우 수신자는 전송 중에 메시지가 변경되지 않았는지 확인할 수 있습니다. 보낸 사람의 공개 키는 일반적인 지식이므로 누구나 서명을 확인할 수 있습니다.

참고

DSA 알고리즘의 작성자는 해당 알고리즘에 대한 지원을 철회했습니다. 클래스 대신 클래스를 RSACryptoServiceProvider 사용하는 것이 좋습니다 DSACryptoServiceProvider . 사용 하 여 DSACryptoServiceProvider 레거시 애플리케이션 및 데이터를 사용 하 여 호환성을 위해서만 합니다.

이 알고리즘은 512비트에서 1024비트까지의 키 길이를 64비트 단위로 지원합니다.

생성자

DSACryptoServiceProvider()

DSACryptoServiceProvider 클래스의 새 인스턴스를 초기화합니다.

DSACryptoServiceProvider(CspParameters)

CSP(암호화 서비스 공급자)의 지정된 매개 변수를 사용하여 DSACryptoServiceProvider 클래스의 새 인스턴스를 초기화합니다.

DSACryptoServiceProvider(Int32)

지정된 키 크기를 사용하여 DSACryptoServiceProvider 클래스의 새 인스턴스를 초기화합니다.

DSACryptoServiceProvider(Int32, CspParameters)

CSP(암호화 서비스 공급자)의 지정된 키 크기 및 매개 변수를 사용하여 DSACryptoServiceProvider 클래스의 새 인스턴스를 초기화합니다.

필드

KeySizeValue

비대칭 알고리즘에서 사용하는 키 모듈러스의 크기(비트 단위)를 나타냅니다.

(다음에서 상속됨 AsymmetricAlgorithm)
LegalKeySizesValue

비대칭 알고리즘에서 지원하는 키 크기를 지정합니다.

(다음에서 상속됨 AsymmetricAlgorithm)

속성

CspKeyContainerInfo

암호화 키 쌍에 대한 추가 정보를 설명하는 CspKeyContainerInfo 개체를 가져옵니다.

KeyExchangeAlgorithm

키 교환 알고리즘의 이름을 가져옵니다.

KeySize

비대칭 알고리즘에서 사용되는 키 크기를 가져옵니다(단위: 비트).

LegalKeySizes

비대칭 알고리즘에서 지원하는 키 크기를 가져옵니다.

LegalKeySizes

비대칭 알고리즘에서 지원하는 키 크기를 가져옵니다.

(다음에서 상속됨 AsymmetricAlgorithm)
PersistKeyInCsp

키를 CSP(암호화 서비스 공급자)에 유지할지 여부를 나타내는 값을 가져오거나 설정합니다.

PublicOnly

DSACryptoServiceProvider 개체에 공용 키만 들어 있는지 여부를 나타내는 값을 가져옵니다.

SignatureAlgorithm

서명 알고리즘의 이름을 가져옵니다.

UseMachineKeyStore

사용자 프로필 저장소 대신 컴퓨터의 키 저장소에 키를 유지할지 여부를 나타내는 값을 가져오거나 설정합니다.

메서드

Clear()

AsymmetricAlgorithm 클래스에서 사용하는 모든 리소스를 해제합니다.

(다음에서 상속됨 AsymmetricAlgorithm)
CreateSignature(Byte[])

지정된 데이터에 대한 DSA 서명을 만듭니다.

CreateSignature(Byte[], DSASignatureFormat)

지정된 해시 값의 DSA 시그니처를 표시된 형식으로 만듭니다.

(다음에서 상속됨 DSA)
CreateSignatureCore(ReadOnlySpan<Byte>, DSASignatureFormat)

지정된 해시 값의 DSA 시그니처를 표시된 형식으로 만듭니다.

(다음에서 상속됨 DSA)
Dispose()

AsymmetricAlgorithm 클래스의 현재 인스턴스에서 사용하는 모든 리소스를 해제합니다.

(다음에서 상속됨 AsymmetricAlgorithm)
Dispose(Boolean)

AsymmetricAlgorithm 클래스에 사용되는 관리되지 않는 리소스를 해제하고, 필요에 따라 관리되는 리소스를 해제합니다.

(다음에서 상속됨 AsymmetricAlgorithm)
Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
ExportCspBlob(Boolean)

DSACryptoServiceProvider 개체와 관련된 키 정보가 들어 있는 BLOB을 내보냅니다.

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

바이트 기반 암호를 사용하여 PKCS#8 EncryptedPrivateKeyInfo 형식의 현재 키를 내보냅니다.

(다음에서 상속됨 AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

문자 기반 암호를 사용하여 PKCS#8 EncryptedPrivateKeyInfo 형식의 현재 키를 내보냅니다.

(다음에서 상속됨 AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters)

PEM 인코딩된 바이트 기반 암호를 사용하여 PKCS#8 EncryptedPrivateKeyInfo 형식으로 현재 키를 내보냅니다.

(다음에서 상속됨 AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters)

PEM 인코딩된 문자 기반 암호를 사용하여 PKCS#8 EncryptedPrivateKeyInfo 형식으로 현재 키를 내보냅니다.

(다음에서 상속됨 AsymmetricAlgorithm)
ExportParameters(Boolean)

DSAParameters를 내보냅니다.

ExportPkcs8PrivateKey()

PKCS#8 PrivateKeyInfo 형식으로 현재 키를 내보냅니다.

(다음에서 상속됨 AsymmetricAlgorithm)
ExportPkcs8PrivateKeyPem()

현재 키를 PKCS#8 PrivateKeyInfo 형식, PEM 인코딩 형식으로 내보냅니다.

(다음에서 상속됨 AsymmetricAlgorithm)
ExportSubjectPublicKeyInfo()

X.509 SubjectPublicKeyInfo 형식으로 된 현재 키의 퍼블릭 키 부분을 내보냅니다.

(다음에서 상속됨 AsymmetricAlgorithm)
ExportSubjectPublicKeyInfoPem()

현재 키의 공개 키 부분을 PEM 인코딩된 X.509 SubjectPublicKeyInfo 형식으로 내보냅니다.

(다음에서 상속됨 AsymmetricAlgorithm)
Finalize()

이 인스턴스와 연결된 모든 리소스를 해제합니다.

FromXmlString(String)

XML 문자열에서 DSA 개체를 다시 만듭니다.

(다음에서 상속됨 DSA)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetMaxSignatureSize(DSASignatureFormat)

표시된 형식의 이 키로 생성된 시그니처의 최대 크기(바이트)를 가져옵니다.

(다음에서 상속됨 DSA)
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 구조체에서 퍼블릭/프라이빗 키 쌍을 가져옵니다.

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

바이트 기반 암호로 해독한 다음 이 개체의 키를 대체하여 PKCS#8 EncryptedPrivateKeyInfo 구조체에서 퍼블릭/프라이빗 키 쌍을 가져옵니다.

(다음에서 상속됨 DSA)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

문자 기반 암호로 해독한 다음 이 개체의 키를 대체하여 PKCS#8 EncryptedPrivateKeyInfo 구조에서 퍼블릭/프라이빗 키 쌍을 가져옵니다.

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

문자 기반 암호로 해독한 다음 이 개체의 키를 대체하여 PKCS#8 EncryptedPrivateKeyInfo 구조에서 퍼블릭/프라이빗 키 쌍을 가져옵니다.

(다음에서 상속됨 DSA)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

암호화된 RFC 7468 PEM으로 인코딩된 프라이빗 키를 가져와 이 개체의 키를 바꿉니다.

(다음에서 상속됨 DSA)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

암호화된 RFC 7468 PEM으로 인코딩된 프라이빗 키를 가져와 이 개체의 키를 바꿉니다.

(다음에서 상속됨 DSA)
ImportFromPem(ReadOnlySpan<Char>)

RFC 7468 PEM으로 인코딩된 키를 가져와 이 개체의 키를 바꿉니다.

(다음에서 상속됨 DSA)
ImportParameters(DSAParameters)

지정된 DSAParameters를 가져옵니다.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

해독한 다음 이 개체의 키를 대체하여 PKCS#8 PrivateKeyInfo 구조에서 퍼블릭/프라이빗 키 쌍을 가져옵니다.

(다음에서 상속됨 DSA)
ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

해독한 다음 이 개체의 키를 대체하여 X.509 SubjectPublicKeyInfo 구조에서 퍼블릭 키를 가져옵니다.

(다음에서 상속됨 DSA)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
SignData(Byte[])

지정된 바이트 배열의 해시 값을 계산하여 결과 해시 값에 서명합니다.

SignData(Byte[], HashAlgorithmName)

지정된 해시 알고리즘을 사용하여 지정된 바이트 배열의 해시 값을 계산하고 결과 해시 값을 서명합니다.

(다음에서 상속됨 DSA)
SignData(Byte[], HashAlgorithmName, DSASignatureFormat)

지정된 데이터의 해시 값을 계산하고 지정된 시그니처 형식을 사용하여 해당 값에 서명합니다.

(다음에서 상속됨 DSA)
SignData(Byte[], Int32, Int32)

지정된 시작점에서 지정된 끝점까지 바이트 배열에 서명합니다.

SignData(Byte[], Int32, Int32, HashAlgorithmName)

지정된 해시 알고리즘을 사용하여 지정된 바이트 배열 일부의 해시 값을 계산하고 결과 해시 값을 서명합니다.

(다음에서 상속됨 DSA)
SignData(Byte[], Int32, Int32, HashAlgorithmName, DSASignatureFormat)

지정된 데이터의 해시 값을 계산하고 지정된 시그니처 형식을 사용하여 해당 값에 서명합니다.

(다음에서 상속됨 DSA)
SignData(Stream)

지정된 입력 스트림의 해시 값을 계산하여 결과 해시 값에 서명합니다.

SignData(Stream, HashAlgorithmName)

지정된 해시 알고리즘을 사용하여 지정된 스트림의 해시 값을 계산하고 결과 해시 값을 서명합니다.

(다음에서 상속됨 DSA)
SignData(Stream, HashAlgorithmName, DSASignatureFormat)

지정된 데이터의 해시 값을 계산하고 지정된 시그니처 형식을 사용하여 해당 값에 서명합니다.

(다음에서 상속됨 DSA)
SignDataCore(ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

지정된 데이터의 해시 값을 계산하고 지정된 시그니처 형식을 사용하여 해당 값에 서명합니다.

(다음에서 상속됨 DSA)
SignDataCore(Stream, HashAlgorithmName, DSASignatureFormat)

지정된 데이터의 해시 값을 계산하고 지정된 시그니처 형식을 사용하여 해당 값에 서명합니다.

(다음에서 상속됨 DSA)
SignHash(Byte[], String)

프라이빗 키로 암호화하여 지정된 해시 값의 서명을 계산합니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)
ToXmlString(Boolean)

현재 DSA 개체의 XML 문자열 표현을 만들고 반환합니다.

(다음에서 상속됨 DSA)
TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, DSASignatureFormat, Int32)

표시된 형식으로 지정된 해시 값의 DSA 시그니처를 만들어 제공된 버퍼에 넣으려고 합니다.

(다음에서 상속됨 DSA)
TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, Int32)

제공된 버퍼에 지정된 해시의 DSA 시그니처를 만들려고 합니다.

(다음에서 상속됨 DSA)
TryCreateSignatureCore(ReadOnlySpan<Byte>, Span<Byte>, DSASignatureFormat, Int32)

표시된 형식으로 지정된 해시 값의 DSA 시그니처를 만들어 제공된 버퍼에 넣으려고 합니다.

(다음에서 상속됨 DSA)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

바이트 기반 암호를 사용하여 PKCS#8 EncryptedPrivateKeyInfo 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다.

(다음에서 상속됨 DSA)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

문자 기반 암호를 사용하여 PKCS#8 EncryptedPrivateKeyInfo 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다.

(다음에서 상속됨 DSA)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters, Span<Char>, Int32)

PEM 인코딩된 바이트 기반 암호를 사용하여 PKCS#8 EncryptedPrivateKeyInfo 형식으로 현재 키를 내보내려고 시도합니다.

(다음에서 상속됨 AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters, Span<Char>, Int32)

PEM 인코딩된 문자 기반 암호를 사용하여 PKCS#8 EncryptedPrivateKeyInfo 형식으로 현재 키를 내보냅니다.

(다음에서 상속됨 AsymmetricAlgorithm)
TryExportPkcs8PrivateKey(Span<Byte>, Int32)

PKCS#8 PrivateKeyInfo 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다.

(다음에서 상속됨 DSA)
TryExportPkcs8PrivateKeyPem(Span<Char>, Int32)

PEM으로 인코딩된 PKCS#8 PrivateKeyInfo 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다.

(다음에서 상속됨 AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

X.509 SubjectPublicKeyInfo 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다.

(다음에서 상속됨 DSA)
TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32)

PEM으로 인코딩된 X.509 SubjectPublicKeyInfo 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다.

(다음에서 상속됨 AsymmetricAlgorithm)
TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)

제공된 버퍼에 제공된 데이터의 해시 값을 컴퓨팅하려고 시도합니다.

(다음에서 상속됨 DSA)
TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, DSASignatureFormat, Int32)

표시된 형식으로 지정된 데이터의 DSA 시그니처를 만들어 제공된 버퍼에 넣으려고 합니다.

(다음에서 상속됨 DSA)
TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)

제공된 버퍼에 지정된 데이터의 DSA 시그니처를 만들려고 합니다.

(다음에서 상속됨 DSA)
TrySignDataCore(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, DSASignatureFormat, Int32)

표시된 형식으로 지정된 데이터의 DSA 시그니처를 만들어 제공된 버퍼에 넣으려고 합니다.

(다음에서 상속됨 DSA)
VerifyData(Byte[], Byte[])

지정된 서명 데이터를 지정된 데이터에 대해 계산된 서명과 비교하여 확인합니다.

VerifyData(Byte[], Byte[], HashAlgorithmName)

지정된 해시 알고리즘을 사용하여 지정된 데이터의 해시 값을 계산한 다음 이 값을 제공된 서명과 비교하여 디지털 서명이 유효한지 확인합니다.

(다음에서 상속됨 DSA)
VerifyData(Byte[], Byte[], HashAlgorithmName, DSASignatureFormat)

제공된 데이터의 디지털 시그니처가 유효한지 확인합니다.

(다음에서 상속됨 DSA)
VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName)

지정된 해시 알고리즘을 사용하여 바이트 배열 일부에 있는 데이터의 해시 값을 계산한 다음 이 값을 제공된 서명과 비교하여 디지털 서명이 유효한지 확인합니다.

(다음에서 상속됨 DSA)
VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName, DSASignatureFormat)

제공된 데이터의 디지털 시그니처가 유효한지 확인합니다.

(다음에서 상속됨 DSA)
VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName)

지정된 해시 알고리즘을 사용하여 바이트 범위에 있는 데이터의 해시 값을 계산한 다음 이 값을 제공된 서명과 비교하여 디지털 시그니처가 유효한지 확인합니다.

(다음에서 상속됨 DSA)
VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

제공된 데이터의 디지털 시그니처가 유효한지 확인합니다.

(다음에서 상속됨 DSA)
VerifyData(Stream, Byte[], HashAlgorithmName)

지정된 해시 알고리즘을 사용하여 지정된 스트림의 해시 값을 계산한 다음 이 값을 제공된 서명과 비교하여 디지털 서명이 유효한지 확인합니다.

(다음에서 상속됨 DSA)
VerifyData(Stream, Byte[], HashAlgorithmName, DSASignatureFormat)

제공된 데이터의 디지털 시그니처가 유효한지 확인합니다.

(다음에서 상속됨 DSA)
VerifyDataCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

제공된 데이터의 디지털 시그니처가 유효한지 확인합니다.

(다음에서 상속됨 DSA)
VerifyDataCore(Stream, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

제공된 데이터의 디지털 시그니처가 유효한지 확인합니다.

(다음에서 상속됨 DSA)
VerifyHash(Byte[], String, Byte[])

지정된 서명 데이터를 지정된 해시 값에 대해 계산된 서명과 비교하여 확인합니다.

VerifySignature(Byte[], Byte[])

지정된 데이터에 대한 DSA 서명을 확인합니다.

VerifySignature(Byte[], Byte[], DSASignatureFormat)

제공된 해시의 디지털 시그니처가 유효한지 확인합니다.

(다음에서 상속됨 DSA)
VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>)

제공된 데이터 해시의 디지털 시그니처가 유효한지 확인합니다.

(다음에서 상속됨 DSA)
VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, DSASignatureFormat)

제공된 해시의 디지털 시그니처가 유효한지 확인합니다.

(다음에서 상속됨 DSA)
VerifySignatureCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, DSASignatureFormat)

제공된 해시의 디지털 시그니처가 유효한지 확인합니다.

(다음에서 상속됨 DSA)

명시적 인터페이스 구현

IDisposable.Dispose()

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

이 멤버에 대한 설명은 Dispose()를 참조하세요.

(다음에서 상속됨 AsymmetricAlgorithm)

적용 대상

추가 정보