RSACng 클래스

정의

RSA 알고리즘의 CNG(Cryptography Next Generation) 구현을 제공합니다.Provides a Cryptography Next Generation (CNG) implementation of the RSA algorithm.

public ref class RSACng sealed : System::Security::Cryptography::RSA
public sealed class RSACng : System.Security.Cryptography.RSA
type RSACng = class
    inherit RSA
Public NotInheritable Class RSACng
Inherits RSA
상속

설명

합니다 RSACng 에서 파생 된 클래스는 RSA 클래스입니다.The RSACng class is derived from the RSA class. 따라서 없는 기존 사용에 대 한 드롭인 대체가 RSACryptoServiceProvider합니다.Therefore, it is not a drop-in replacement for existing uses of RSACryptoServiceProvider.

RSACng 유사한 프로그래밍 모델을 사용 합니다 ECDsaCng 클래스 보다는 RSACryptoServiceProvider 클래스입니다.RSACng uses a programming model that is similar to the ECDsaCng class rather than the RSACryptoServiceProvider class. 예:For example:

  • 사용 하는 키 RSACng 별도 관리 CngKey 개체입니다.The key used by RSACng is managed by a separate CngKey object. 반면, RSACryptoServiceProvider 형식 자체의 작업에 직접 연결 되는 키가 있습니다.In contrast, RSACryptoServiceProvider has a key that is directly tied to the operations of the type itself.

  • RSACng 서명 및 속성을 사용 하 여 서명 확인 등의 작업을 수행 합니다 RSACng 개체와 마찬가지로 ECDsaCng 해당 로그인을 제어 하는 개체 속성 및 확인 작업을 사용 하 여 합니다.RSACng performs such operations as signing and verifying signatures by using properties of the RSACng object, just as ECDsaCng uses its object properties to control signing and verification operations.

참고

RSACng 클래스는 Windows CNG 라이브러리를 사용 하는 RSA 알고리즘의 구현 및 Windows 이외의 운영 체제에서 사용할 수 없습니다.The RSACng class is an implementation of the RSA algorithm using the Windows CNG libraries and isn't available on operating systems other than Windows. Windows interop를 수행 하지 하는 애플리케이션을 사용 하는 것이 좋습니다 라면 RSA.Create 이 형식을 직접 참조 하는 대신 합니다.For applications which aren't doing Windows interop, you're encouraged to use RSA.Create instead of referencing this type directly.

생성자

RSACng()

난수 2,048비트 키 쌍을 사용하여 RSACng 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the RSACng class with a random 2,048-bit key pair.

RSACng(CngKey)

지정된 키를 사용하여 RSACng 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the RSACng class with the specified key.

RSACng(Int32)

지정한 크기의 임의로 생성된 키를 사용하여 RSACng 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the RSACng class with a randomly generated key of the specified size.

필드

KeySizeValue

비대칭 알고리즘에서 사용하는 키 모듈러스의 크기(비트 단위)를 나타냅니다.Represents the size, in bits, of the key modulus used by the asymmetric algorithm.

(다음에서 상속됨 AsymmetricAlgorithm)
LegalKeySizesValue

비대칭 알고리즘에서 지원하는 키 크기를 지정합니다.Specifies the key sizes that are supported by the asymmetric algorithm.

(다음에서 상속됨 AsymmetricAlgorithm)

속성

Key

RSACng 개체가 수행하는 모든 암호화 작업에 사용할 키를 가져옵니다.Gets the key that will be used by the RSACng object for any cryptographic operation that it performs.

KeyExchangeAlgorithm

RSA 구현과 함께 사용 가능한 키 교환 알고리즘의 이름을 가져옵니다.Gets the name of the key exchange algorithm available with this implementation of RSA.

KeySize

비대칭 알고리즘에서 사용하는 키 모듈러스의 크기(비트 단위)를 가져오거나 설정합니다.Gets or sets the size, in bits, of the key modulus used by the asymmetric algorithm.

(다음에서 상속됨 AsymmetricAlgorithm)
LegalKeySizes
SignatureAlgorithm

이 RSA 구현과 함께 사용 가능한 서명 알고리즘의 이름을 가져옵니다.Gets the name of the signature algorithm available with this implementation of RSA.

메서드

Clear()

AsymmetricAlgorithm 클래스에서 사용하는 모든 리소스를 해제합니다.Releases all resources used by the AsymmetricAlgorithm class.

(다음에서 상속됨 AsymmetricAlgorithm)
Decrypt(Byte[], RSAEncryptionPadding)

지정된 패딩 모드를 사용하여 입력 데이터를 해독합니다.Decrypts input data using the specified padding mode.

DecryptValue(Byte[])

프라이빗 키를 사용하여 입력 데이터의 암호를 해독합니다.Decrypts the input data using the private key.

Dispose()

AsymmetricAlgorithm 클래스의 현재 인스턴스에서 사용하는 모든 리소스를 해제합니다.Releases all resources used by the current instance of the AsymmetricAlgorithm class.

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

AsymmetricAlgorithm 클래스에 사용되는 관리되지 않는 리소스를 해제하고, 필요에 따라 관리되는 리소스를 해제합니다.Releases the unmanaged resources used by the AsymmetricAlgorithm class and optionally releases the managed resources.

(다음에서 상속됨 AsymmetricAlgorithm)
Encrypt(Byte[], RSAEncryptionPadding)

지정된 패딩을 사용하여 입력 데이터를 암호화합니다.Encrypts the input data using the specified padding.

EncryptValue(Byte[])

공개 키를 사용하여 입력 데이터를 암호화합니다.Encrypts the input data using the public key.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

바이트 기반 암호를 사용하여 PKCS#8 EncryptedPrivateKeyInfo 형식의 현재 키를 내보냅니다.Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a byte-based password.

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

문자 기반 암호를 사용하여 PKCS#8 EncryptedPrivateKeyInfo 형식의 현재 키를 내보냅니다.Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a char-based password.

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

RSA 개체가 사용하는 키를 RSAParameters 개체로 내보냅니다.Exports the key used by the RSA object into a RSAParameters object.

ExportPkcs8PrivateKey()

PKCS#8 PrivateKeyInfo 형식으로 현재 키를 내보냅니다.Exports the current key in the PKCS#8 PrivateKeyInfo format.

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

PKCS#1 RSAPrivateKey 형식으로 현재 키를 내보냅니다.Exports the current key in the PKCS#1 RSAPrivateKey format.

(다음에서 상속됨 RSA)
ExportRSAPublicKey()

PKCS#1 RSAPublicKey 형식으로 현재 키의 퍼블릭 키 부분을 내보냅니다.Exports the public-key portion of the current key in the PKCS#1 RSAPublicKey format.

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

X.509 SubjectPublicKeyInfo 형식으로 된 현재 키의 퍼블릭 키 부분을 내보냅니다.Exports the public-key portion of the current key in the X.509 SubjectPublicKeyInfo format.

(다음에서 상속됨 AsymmetricAlgorithm)
FromXmlString(String)

XML 문자열의 키 정보를 사용하여 RSA 개체를 초기화합니다.Initializes an RSA object from the key information from an XML string.

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

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
HashData(Byte[], Int32, Int32, HashAlgorithmName)

파생 클래스에서 재정의할 때 지정된 해싱 알고리즘을 사용하여 지정된 바이트 배열 부분의 해시 값을 계산합니다.When overridden in a derived class, computes the hash value of a specified portion of a byte array by using a specified hashing algorithm.

(다음에서 상속됨 RSA)
HashData(Stream, HashAlgorithmName)

파생 클래스에서 재정의할 때 지정된 해싱 알고리즘을 사용하여 지정된 이진 스트림의 해시 값을 계산합니다.When overridden in a derived class, computes the hash value of a specified binary stream by using a specified hashing algorithm.

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

바이트 기반 암호로 해독한 다음 이 개체의 키를 대체하여 PKCS#8 EncryptedPrivateKeyInfo 구조체에서 퍼블릭/프라이빗 키 쌍을 가져옵니다.Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a byte-based password, replacing the keys for this object.

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

문자 기반 암호로 해독한 다음 이 개체의 키를 대체하여 PKCS#8 EncryptedPrivateKeyInfo 구조에서 퍼블릭/프라이빗 키 쌍을 가져옵니다.Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a char-based password, replacing the keys for this object.

(다음에서 상속됨 RSA)
ImportParameters(RSAParameters)

매개 변수 구조에 대한 새 CngKey를 만들어 현재 인스턴스에서 사용 중인 기존 키를 바꿉니다.Replaces the existing key that the current instance is working with by creating a new CngKey for the parameters structure.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

해독한 다음 이 개체의 키를 대체하여 PKCS#8 PrivateKeyInfo 구조에서 퍼블릭/프라이빗 키 쌍을 가져옵니다.Imports the public/private keypair from a PKCS#8 PrivateKeyInfo structure after decryption, replacing the keys for this object.

(다음에서 상속됨 RSA)
ImportRSAPrivateKey(ReadOnlySpan<Byte>, Int32)

해독한 다음 이 개체의 키를 대체하여 PKCS#1 RSAPrivateKey 구조체에서 퍼블릭/프라이빗 키 쌍을 가져옵니다.Imports the public/private keypair from a PKCS#1 RSAPrivateKey structure after decryption, replacing the keys for this object.

(다음에서 상속됨 RSA)
ImportRSAPublicKey(ReadOnlySpan<Byte>, Int32)

해독한 다음 이 개체의 키를 대체하여 PKCS#1 RSAPublicKey 구조체에서 퍼블릭 키를 가져옵니다.Imports the public key from a PKCS#1 RSAPublicKey structure after decryption, replacing the keys for this object.

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

해독한 다음 이 개체의 키를 대체하여 X.509 SubjectPublicKeyInfo 구조에서 퍼블릭 키를 가져옵니다.Imports the public key from an X.509 SubjectPublicKeyInfo structure after decryption, replacing the keys for this object.

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

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

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

지정된 해시 알고리즘 및 패딩 모드를 사용하여 지정된 바이트 배열의 해시 값을 계산하고 결과 해시 값을 서명합니다.Computes the hash value of the specified byte array using the specified hash algorithm and padding mode, and signs the resulting hash value.

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

지정된 해시 알고리즘 및 패딩 모드를 사용하여 지정된 바이트 배열 일부의 해시 값을 계산하고 결과 해시 값을 서명합니다.Computes the hash value of a portion of the specified byte array using the specified hash algorithm and padding mode, and signs the resulting hash value.

(다음에서 상속됨 RSA)
SignData(Stream, HashAlgorithmName, RSASignaturePadding)

지정된 해시 알고리즘 및 패딩 모드를 사용하여 지정된 스트림의 해시 값을 계산하고 결과 해시 값을 서명합니다.Computes the hash value of the specified stream using the specified hash algorithm and padding mode, and signs the resulting hash value.

(다음에서 상속됨 RSA)
SignHash(Byte[], HashAlgorithmName, RSASignaturePadding)

지정된 해시 알고리즘 및 패딩 모드를 사용하여 해시된 데이터에 서명합니다.Signs data that was hashed by using the specified hashing algorithm and padding mode.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

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

현재 RSA 개체의 키가 들어 있는 XML 문자열을 만들고 반환합니다.Creates and returns an XML string containing the key of the current RSA object.

(다음에서 상속됨 RSA)
TryDecrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding, Int32)

프라이빗 키를 사용하여 지정된 데이터의 암호를 해독하려고 합니다.Attempts to decrypt the specified data using the private key.

TryEncrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding, Int32)

퍼블릭 키를 사용하여 지정된 데이터를 암호화하려고 합니다.Attempts to encrypt the specified data using the public key.

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

바이트 기반 암호를 사용하여 PKCS#8 EncryptedPrivateKeyInfo 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다.Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a byte-based password.

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

문자 기반 암호를 사용하여 PKCS#8 EncryptedPrivateKeyInfo 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다.Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a char-based password.

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

PKCS#8 PrivateKeyInfo 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다.Attempts to export the current key in the PKCS#8 PrivateKeyInfo format into a provided buffer.

(다음에서 상속됨 RSA)
TryExportRSAPrivateKey(Span<Byte>, Int32)

PKCS#1 RSAPrivateKey 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다.Attempts to export the current key in the PKCS#1 RSAPrivateKey format into a provided buffer.

(다음에서 상속됨 RSA)
TryExportRSAPublicKey(Span<Byte>, Int32)

PKCS#1 RSAPublicKey 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다.Attempts to export the current key in the PKCS#1 RSAPublicKey format into a provided buffer.

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

X.509 SubjectPublicKeyInfo 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다.Attempts to export the current key in the X.509 SubjectPublicKeyInfo format into a provided buffer.

(다음에서 상속됨 RSA)
TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32) (다음에서 상속됨 RSA)
TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding, Int32) (다음에서 상속됨 RSA)
TrySignHash(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding, Int32)
VerifyData(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding)

지정된 해시 알고리즘 및 패딩을 사용하여 지정된 데이터의 해시 값을 계산한 다음 이 값을 제공된 서명과 비교하여 디지털 서명이 유효한지 확인합니다.Verifies that a digital signature is valid by calculating the hash value of the specified data using the specified hash algorithm and padding, and comparing it to the provided signature.

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

지정된 해시 알고리즘과 패딩을 사용하여 바이트 배열 일부에 있는 데이터의 해시 값을 계산한 다음 이 값을 제공된 서명과 비교하여 디지털 서명이 유효한지 확인합니다.Verifies that a digital signature is valid by calculating the hash value of the data in a portion of a byte array using the specified hash algorithm and padding, and comparing it to the provided signature.

(다음에서 상속됨 RSA)
VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding) (다음에서 상속됨 RSA)
VerifyData(Stream, Byte[], HashAlgorithmName, RSASignaturePadding)

지정된 해시 알고리즘 및 패딩을 사용하여 지정된 스트림의 해시 값을 계산한 다음 이 값을 제공된 서명과 비교하여 디지털 서명이 유효한지 확인합니다.Verifies that a digital signature is valid by calculating the hash value of the specified stream using the specified hash algorithm and padding, and comparing it to the provided signature.

(다음에서 상속됨 RSA)
VerifyHash(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding)

서명된 후 지정된 알고리즘 및 패딩 모드로 이미 해시된 데이터를 확인합니다.Verifies data that was signed and already hashed with the specified algorithm and padding mode.

VerifyHash(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding)

명시적 인터페이스 구현

IDisposable.Dispose()

이 멤버에 대한 설명은 Dispose()를 참조하십시오.For a description of this member, see Dispose().

(다음에서 상속됨 AsymmetricAlgorithm)

적용 대상