다음을 통해 공유


RSA 클래스

정의

RSA 알고리즘의 모든 구현이 상속될 기본 클래스를 나타냅니다.

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

설명

개발자는 특정 파생 클래스가 아닌 기본 클래스에 RSA 대해 프로그래밍하는 것이 좋습니다. 파생 클래스는 기본 시스템 암호화 라이브러리와의 interop용입니다.

생성자

RSA()

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

필드

KeySizeValue

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

(다음에서 상속됨 AsymmetricAlgorithm)
LegalKeySizesValue

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

(다음에서 상속됨 AsymmetricAlgorithm)

속성

KeyExchangeAlgorithm

RSA 구현과 함께 사용 가능한 키 교환 알고리즘의 이름을 가져옵니다.

KeyExchangeAlgorithm

파생 클래스에 재정의하는 경우 키 교환 알고리즘의 이름을 가져옵니다. 그렇지 않으면 NotImplementedException이 throw됩니다.

(다음에서 상속됨 AsymmetricAlgorithm)
KeySize

비대칭 알고리즘에서 사용하는 키 모듈러스의 크기(비트 단위)를 가져오거나 설정합니다.

(다음에서 상속됨 AsymmetricAlgorithm)
LegalKeySizes

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

(다음에서 상속됨 AsymmetricAlgorithm)
SignatureAlgorithm

RSA 구현과 함께 사용 가능한 서명 알고리즘의 이름을 가져옵니다.

SignatureAlgorithm

파생 클래스에서 구현하는 경우 서명 알고리즘 이름을 가져옵니다. 그렇지 않으면 항상 NotImplementedException이 throw됩니다.

(다음에서 상속됨 AsymmetricAlgorithm)

메서드

Clear()

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

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

RSA 알고리즘의 기본 구현 인스턴스를 만듭니다.

Create(Int32)

지정된 키 크기를 이용하여 새 임시 RSA 키를 만듭니다.

Create(RSAParameters)

지정된 RSA 키 매개 변수를 이용하여 새 임시 RSA 키를 만듭니다.

Create(String)
사용되지 않음.

RSA의 지정된 구현 인스턴스를 만듭니다.

Decrypt(Byte[], RSAEncryptionPadding)

파생 클래스에서 재정의하는 경우 지정된 패딩 모드를 사용하여 입력 데이터를 해독합니다.

Decrypt(ReadOnlySpan<Byte>, RSAEncryptionPadding)

지정된 패딩 모드를 사용하여 입력 데이터의 암호를 해독합니다.

Decrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding)

지정된 패딩 모드를 사용하여 입력 데이터의 암호를 해독합니다.

DecryptValue(Byte[])
사용되지 않음.

파생 클래스에서 재정의하는 경우 프라이빗 키를 사용하여 입력 데이터를 해독합니다.

Dispose()

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

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

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

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

파생 클래스에서 재정의하는 경우 지정된 패딩 모드를 사용하여 입력 데이터를 암호화합니다.

Encrypt(ReadOnlySpan<Byte>, RSAEncryptionPadding)

지정된 패딩 모드를 사용하여 입력 데이터를 암호화합니다.

Encrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding)

지정된 패딩 모드를 사용하여 입력 데이터를 암호화합니다.

EncryptValue(Byte[])
사용되지 않음.

파생 클래스에서 재정의하는 경우 공개 키를 사용하여 입력 데이터를 암호화합니다.

Equals(Object)

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

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

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

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

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

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

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

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

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

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

파생 클래스에서 재정의하는 경우 RSAParameters를 내보냅니다.

ExportPkcs8PrivateKey()

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

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

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

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

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

ExportRSAPrivateKeyPem()

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

ExportRSAPublicKey()

PKCS#1 RSAPublicKey 형식으로 현재 키의 퍼블릭 키 부분을 내보냅니다.

ExportRSAPublicKeyPem()

현재 키의 공개 키 부분을 PKCS#1 RSAPublicKey 형식인 PEM 인코딩으로 내보냅니다.

ExportSubjectPublicKeyInfo()

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

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

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

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

XML 문자열의 키 정보를 사용하여 RSA 개체를 초기화합니다.

FromXmlString(String)

파생 클래스에서 재정의되는 경우 XML 문자열에서 AsymmetricAlgorithm 개체를 다시 생성합니다. 그렇지 않으면 NotImplementedException이 throw됩니다.

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

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

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

RSA 작업에서 생성할 수 있는 최대 바이트 수를 가져옵니다.

GetType()

현재 인스턴스의 Type을 가져옵니다.

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

파생 클래스에서 재정의할 때 지정된 해싱 알고리즘을 사용하여 지정된 바이트 배열 부분의 해시 값을 계산합니다.

HashData(Stream, HashAlgorithmName)

파생 클래스에서 재정의할 때 지정된 해싱 알고리즘을 사용하여 지정된 이진 스트림의 해시 값을 계산합니다.

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

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

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

파생 클래스에서 재정의되는 경우, 바이트 기반 암호로 해독한 다음 이 개체의 키를 대체하여 PKCS#8 EncryptedPrivateKeyInfo 구조에서 퍼블릭/프라이빗 키 쌍을 가져옵니다.

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

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

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

파생 클래스에서 재정의되는 경우, 문자 기반 암호로 해독한 다음 이 개체의 키를 대체하여 PKCS#8 EncryptedPrivateKeyInfo 구조에서 퍼블릭/프라이빗 키 쌍을 가져옵니다.

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

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

ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

파생 클래스에서 재정의할 때 암호화된 RFC 7468 PEM으로 인코딩된 키를 가져와 이 개체의 키를 바꿉니다.

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

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

ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

파생 클래스에서 재정의할 때 암호화된 RFC 7468 PEM으로 인코딩된 키를 가져와 이 개체의 키를 바꿉니다.

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

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

ImportFromPem(ReadOnlySpan<Char>)

파생 클래스에서 재정의할 때 RFC 7468 텍스트로 인코딩된 키를 가져와 이 개체의 키를 바꿉니다.

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

파생 클래스에서 재정의하는 경우 지정된 RSAParameters를 가져옵니다.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

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

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

파생 클래스에서 재정의되는 경우, 해독한 다음 이 개체의 키를 대체하여 PKCS#8 PrivateKeyInfo 구조에서 퍼블릭/프라이빗 키 쌍을 가져옵니다.

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

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

ImportRSAPublicKey(ReadOnlySpan<Byte>, Int32)

해독한 다음 이 개체의 키를 대체하여 PKCS#1 RSAPublicKey 구조체에서 퍼블릭 키를 가져옵니다.

ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

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

ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

파생 클래스에서 재정의되는 경우, 해독한 다음 이 개체의 키를 대체하여 X.509 SubjectPublicKeyInfo 구조에서 퍼블릭 키를 가져옵니다.

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

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

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

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

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

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

SignData(ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding)

지정된 데이터의 해시 값을 계산하고 서명합니다.

SignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding)

지정된 알고리즘을 사용하여 제공된 데이터의 해시를 계산하고 현재 키로 해시에 서명하여 서명을 제공된 버퍼에 기록합니다.

SignData(Stream, HashAlgorithmName, RSASignaturePadding)

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

SignHash(Byte[], HashAlgorithmName, RSASignaturePadding)

파생 클래스에서 재정의할 때 지정된 패딩을 사용하여 지정된 해시 값의 서명을 계산합니다.

SignHash(ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding)

지정된 패딩을 사용하여 지정된 해시 값의 서명을 계산합니다.

SignHash(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding)

현재 키로 해시에 서명하고 제공된 버퍼에 서명을 작성합니다.

ToString()

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

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

현재 RSA 개체의 키가 들어 있는 XML 문자열을 만들고 반환합니다.

ToXmlString(Boolean)

파생 클래스에서 재정의되는 경우 현재 AsymmetricAlgorithm 개체의 XML 문자열 표현을 만들고 반환합니다. 그렇지 않으면 NotImplementedException이 throw됩니다.

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

지정된 패딩 모드를 사용하여 입력 데이터를 암호 해독하고 그 결과를 지정된 버퍼에 쓰려고 합니다.

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

지정된 패딩 모드를 통해 제공된 버퍼로 입력 데이터를 암호화하려고 합니다.

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

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

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

파생 클래스에서 재정의되는 경우, 바이트 기반 암호를 사용하여 PKCS#8 EncryptedPrivateKeyInfo 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다.

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

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

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

파생 클래스에서 재정의되는 경우, 문자 기반 암호를 사용하여 PKCS#8 EncryptedPrivateKeyInfo 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다.

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

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

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

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

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

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

TryExportPkcs8PrivateKey(Span<Byte>, Int32)

파생 클래스에서 재정의되는 경우, PKCS#8 PrivateKeyInfo 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다.

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

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

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

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

TryExportRSAPrivateKeyPem(Span<Char>, Int32)

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

TryExportRSAPublicKey(Span<Byte>, Int32)

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

TryExportRSAPublicKeyPem(Span<Char>, Int32)

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

TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

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

TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

파생 클래스에서 재정의되는 경우, X.509 SubjectPublicKeyInfo 형식의 현재 키를 제공된 버퍼로 내보내려고 시도합니다.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

명시적 인터페이스 구현

IDisposable.Dispose()

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

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

(다음에서 상속됨 AsymmetricAlgorithm)

적용 대상

추가 정보