RSA 클래스

정의

RSA 알고리즘의 모든 구현이 상속될 기본 클래스를 나타냅니다.Represents the base class from which all implementations of the RSA algorithm inherit.

public ref class RSA abstract : System::Security::Cryptography::AsymmetricAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class RSA : System.Security.Cryptography.AsymmetricAlgorithm
type RSA = class
    inherit AsymmetricAlgorithm
Public MustInherit Class RSA
Inherits AsymmetricAlgorithm
상속
파생
특성

설명

이 클래스 확장을 구현 하는 입증 된 RSA 키입니다.Extending this class proves that you are implementing an RSA key. 이 새 제공 하는 모든 개발자를 위한 필수 RSA 중요 한 구현 합니다.This is required for any developer providing a new RSA key implementation.

이 클래스의 전용의 id에 대 한 계층 멤버를 그대로 RSA 알고리즘입니다.The only purpose of this class is as a hierarchy member for identification of the RSA algorithm.

RSACryptoServiceProvider에서는 Microsoft Enhanced Cryptographic Provider가 설치되어 있는 경우 길이가 384 - 16384비트(8비트 단위로 증가)인 키를 지원하고,The RSACryptoServiceProvider supports key lengths from 384 bits to 16384 bits in increments of 8 bits if you have the Microsoft Enhanced Cryptographic Provider installed. Microsoft Base Cryptographic Provider가 설치되어 있는 경우에는 길이가 384 - 512비트(8비트 단위로 증가)인 키를 지원합니다.It supports key lengths from 384 bits to 512 bits in increments of 8 bits if you have the Microsoft Base Cryptographic Provider installed.

생성자

RSA()

RSA 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the RSA class.

필드

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)

속성

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

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

(다음에서 상속됨 AsymmetricAlgorithm)
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)
Create()

RSA 알고리즘의 기본 구현 인스턴스를 만듭니다.Creates an instance of the default implementation of the RSA algorithm.

Create(Int32)

지정된 키 크기를 이용하여 새 임시 RSA 키를 만듭니다.Creates a new ephemeral RSA key with the specified key size.

Create(RSAParameters)

지정된 RSA 키 매개 변수를 이용하여 새 임시 RSA 키를 만듭니다.Creates a new ephemeral RSA key with the specified RSA key parameters.

Create(String)

RSA의 지정된 구현 인스턴스를 만듭니다.Creates an instance of the specified implementation of RSA.

Decrypt(Byte[], RSAEncryptionPadding)

파생 클래스에서 재정의하는 경우 지정된 패딩 모드를 사용하여 입력 데이터를 해독합니다.When overridden in a derived class, decrypts the input data using the specified padding mode.

DecryptValue(Byte[])

파생 클래스에서 재정의하는 경우 프라이빗 키를 사용하여 입력 데이터를 해독합니다.When overridden in a derived class, 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)

파생 클래스에서 재정의하는 경우 지정된 패딩 모드를 사용하여 입력 데이터를 암호화합니다.When overridden in a derived class, encrypts the input data using the specified padding mode.

EncryptValue(Byte[])

파생 클래스에서 재정의하는 경우 공개 키를 사용하여 입력 데이터를 암호화합니다.When overridden in a derived class, 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)

파생 클래스에서 재정의하는 경우 RSAParameters를 내보냅니다.When overridden in a derived class, exports the RSAParameters.

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.

ExportRSAPublicKey()

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

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.

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.

HashData(Stream, HashAlgorithmName)

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

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.

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.

ImportParameters(RSAParameters)

파생 클래스에서 재정의하는 경우 지정된 RSAParameters를 가져옵니다.When overridden in a derived class, imports the specified RSAParameters.

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.

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.

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.

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.

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.

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.

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.

SignHash(Byte[], HashAlgorithmName, RSASignaturePadding)

파생 클래스에서 재정의할 때 지정된 패딩을 사용해서 프라이빗 키로 암호화하여 지정된 해시 값에 대한 서명을 계산합니다.When overridden in a derived class, computes the signature for the specified hash value by encrypting it with the private key using the specified padding.

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.

TryDecrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding, Int32)
TryEncrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding, Int32)
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.

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.

TryExportPkcs8PrivateKey(Span<Byte>, Int32)

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

TryExportRSAPrivateKey(Span<Byte>, Int32)

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

TryExportRSAPublicKey(Span<Byte>, Int32)

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

TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

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

TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)
TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding, Int32)
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.

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.

VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding)
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.

VerifyHash(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding)

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

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

명시적 인터페이스 구현

IDisposable.Dispose()

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

(다음에서 상속됨 AsymmetricAlgorithm)

적용 대상

추가 정보