RSACng 類別

定義

提供 RSA 演算法的新一代密碼編譯 (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. 因此,它不是的現有用法的替代方案 RSACryptoServiceProviderTherefore, 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.

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 類別所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。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)

使用 Char 型密碼以 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()

取得目前執行個體的 TypeGets 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>)

匯入 RFC 7468 PEM 編碼的加密私密金鑰,並取代這個物件的金鑰。Imports an encrypted RFC 7468 PEM-encoded private key, replacing the keys for this object.

(繼承來源 RSA)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

匯入 RFC 7468 PEM 編碼的加密私密金鑰,並取代這個物件的金鑰。Imports an encrypted RFC 7468 PEM-encoded private key, replacing the keys for this object.

(繼承來源 RSA)
ImportFromPem(ReadOnlySpan<Char>)

匯入 RFC 7468 PEM 編碼的金鑰,並取代這個物件的金鑰。Imports an RFC 7468 PEM-encoded key, 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.

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)

建立並傳回 XML 字串,其中包含目前 RSA 物件的金鑰。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()

此 API 支援此產品基礎結構,但無法直接用於程式碼之中。

如需這個成員的說明,請參閱 Dispose()For a description of this member, see Dispose().

(繼承來源 AsymmetricAlgorithm)

適用於