RSACng クラス

定義

RSA アルゴリズムの Cryptography Next Generation (CNG) 実装を提供します。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 は、RSACryptoServiceProvider クラスではなく ECDsaCng クラスに似たプログラミングモデルを使用します。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 の相互運用を実行していないアプリケーションの場合は、この型を直接参照するのではなく、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.

KeyExchangeAlgorithm

RSA のこの実装で使用可能なキー交換アルゴリズムの名前を取得します。Gets the name of the key exchange algorithm available with this implementation of RSA.

(継承元 RSA)
KeySize

非対称アルゴリズムで使用されるキー モジュラスのサイズをビット単位で取得または設定します。Gets or sets the size, in bits, of the key modulus used by the asymmetric algorithm.

(継承元 AsymmetricAlgorithm)
LegalKeySizes

RSA のこの実装でサポートされているキー サイズをビット単位で取得します。Gets the key sizes, in bits, that are supported by this implementation of RSA.

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.

SignatureAlgorithm

RSA のこの実装で使用可能なキー交換アルゴリズムの名前を取得します。Gets the name of the signature algorithm available with this implementation of RSA.

(継承元 RSA)

メソッド

Clear()

AsymmetricAlgorithm クラスによって使用されているすべてのリソースを解放します。Releases all resources used by the AsymmetricAlgorithm class.

(継承元 AsymmetricAlgorithm)
Decrypt(Byte[], RSAEncryptionPadding)

指定されたパディング モードを使用して入力データを復号化します。Decrypts input data using the specified padding mode.

Decrypt(Byte[], RSAEncryptionPadding)

派生クラスでオーバーライドされると、指定されたパディング モードを使用して入力データを復号化します。When overridden in a derived class, decrypts the input data using the specified padding mode.

(継承元 RSA)
DecryptValue(Byte[])

秘密キーを使用して入力データを復号化します。Decrypts the input data using the private key.

DecryptValue(Byte[])

派生クラスでオーバーライドされると、秘密キーを使用して入力データの暗号化を解除します。When overridden in a derived class, decrypts the input data using the private key.

(継承元 RSA)
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.

Encrypt(Byte[], RSAEncryptionPadding)

派生クラスでオーバーライドされると、指定されたパディング モードを使用して入力データを暗号化します。When overridden in a derived class, encrypts the input data using the specified padding mode.

(継承元 RSA)
EncryptValue(Byte[])

公開キーを使用して入力データを暗号化します。Encrypts the input data using the public key.

EncryptValue(Byte[])

派生クラスでオーバーライドされると、公開キーを使用して入力データを暗号化します。When overridden in a derived class, encrypts the input data using the public key.

(継承元 RSA)
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 形式で、char ベースのパスワードを使用してエクスポートします。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)

char ベースのパスワードを使用して暗号化解除した後に、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)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>) (継承元 RSA)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>) (継承元 RSA)
ImportFromPem(ReadOnlySpan<Char>) (継承元 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.

SignHash(Byte[], HashAlgorithmName, RSASignaturePadding)

派生クラスでオーバーライドされると、指定されたパディングを使用して、指定されたハッシュ値の署名を計算します。When overridden in a derived class, computes the signature for the specified hash value using the specified padding.

(継承元 RSA)
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 input data using the specified padding mode, writing the result into a provided buffer.

(継承元 RSA)
TryEncrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding, Int32)

指定したパディング モードで、指定したバッファーに入力データを暗号化することを試みます。Attempts to encrypt the input data with a specified padding mode into a provided buffer.

(継承元 RSA)
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)

char ベースのパスワードを使用して、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)

指定されたアルゴリズムを使用して指定されたデータのハッシュを計算し、その結果を指定されたバッファーに書き込むことを試みます。Attempts to compute the hash of the provided data by using the specified algorithm, writing the results into a provided buffer.

(継承元 RSA)
TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding, Int32)

指定されたアルゴリズムで、指定されたデータをハッシュし、現在のキーでハッシュを署名して、その結果を指定されたバッファーに書き込むことを試みます。Attempts to hash the provided data with the specified algorithm and sign the hash with the current key, writing the signature into a provided buffer.

(継承元 RSA)
TrySignHash(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding, Int32)

現在のキーで、ハッシュを署名して、その結果を指定されたバッファーに書き込むことを試みます。Attempts to sign the hash with the current key, writing the signature into a provided buffer.

(継承元 RSA)
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)

指定したハッシュ アルゴリズムとパディングを使用して、指定したデーターのハッシュ値を計算し、これを指定した署名と比較することによって、デジタル署名が有効であることを確認します。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(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(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.

(継承元 RSA)
VerifyHash(ReadOnlySpan<Byte>, ReadOnlySpan<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.

(継承元 RSA)

明示的なインターフェイスの実装

IDisposable.Dispose()

このメンバーの説明については、Dispose() のトピックを参照してください。For a description of this member, see Dispose().

(継承元 AsymmetricAlgorithm)

適用対象