Condividi tramite


RSACng Classe

Definizione

Fornisce un'implementazione CNG (Cryptography Next Generation) dell'algoritmo RSA.

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
Ereditarietà

Commenti

La RSACng classe è derivata dalla RSA classe . Pertanto, non è una sostituzione di drop-in per gli usi esistenti di RSACryptoServiceProvider.

RSACng usa un modello di programmazione simile alla ECDsaCng classe anziché alla RSACryptoServiceProvider classe. Ad esempio:

  • La chiave usata da RSACng è gestita da un oggetto separato CngKey . Al contrario, RSACryptoServiceProvider ha una chiave direttamente collegata alle operazioni del tipo stesso.

  • RSACngesegue operazioni come la firma e la verifica delle firme usando le proprietà dell'oggetto, così come ECDsaCng usa le proprietà dell'oggetto RSACng per controllare le operazioni di firma e verifica.

Nota

La RSACng classe è un'implementazione dell'algoritmo RSA usando le librerie windows CNG e non è disponibile nei sistemi operativi diversi da Windows. Per le applicazioni che non eseguono l'interoperabilità di Windows, è consigliabile usare RSA.Create invece di fare riferimento direttamente a questo tipo.

Costruttori

RSACng()

Inizializza una nuova istanza della classe RSACng con una coppia di chiavi casuale di 2.048 bit.

RSACng(CngKey)

Inizializza una nuova istanza della classe RSACng con la chiave specificata.

RSACng(Int32)

Inizializza una nuova istanza della classe RSACng con una chiave generata in modo casuale delle dimensioni specificate.

Campi

KeySizeValue

Rappresenta la dimensione in bit del modulo della chiave usato dall'algoritmo asimmetrico.

(Ereditato da AsymmetricAlgorithm)
LegalKeySizesValue

Specifica le dimensioni delle chiavi supportate dall'algoritmo asimmetrico.

(Ereditato da AsymmetricAlgorithm)

Proprietà

Key

Ottiene la chiave che verrà usata dall'oggetto RSACng per qualsiasi operazione di crittografia eseguita.

KeyExchangeAlgorithm

Ottiene il nome dell'algoritmo di scambio delle chiavi disponibile con questa implementazione di RSA.

KeyExchangeAlgorithm

Ottiene il nome dell'algoritmo di scambio delle chiavi disponibile con l'implementazione di RSA.

(Ereditato da RSA)
KeySize

Ottiene o imposta la dimensione in bit del modulo della chiave usato dall'algoritmo asimmetrico.

(Ereditato da AsymmetricAlgorithm)
LegalKeySizes

Ottiene le dimensioni in bit della chiave supportate da questa implementazione di RSA.

LegalKeySizes

Ottiene le dimensioni delle chiavi supportate dall'algoritmo asimmetrico.

(Ereditato da AsymmetricAlgorithm)
SignatureAlgorithm

Ottiene il nome dell'algoritmo di firma disponibile con questa implementazione di RSA.

SignatureAlgorithm

Ottiene il nome dell'algoritmo di firma disponibile con l'implementazione di RSA.

(Ereditato da RSA)

Metodi

Clear()

Rilascia tutte le risorse usate dalla classe AsymmetricAlgorithm.

(Ereditato da AsymmetricAlgorithm)
Decrypt(Byte[], RSAEncryptionPadding)

Decrittografa i dati di input usando la modalità di riempimento specificata.

Decrypt(ReadOnlySpan<Byte>, RSAEncryptionPadding)

Decrittografa i dati di input usando la modalità di riempimento specificata.

(Ereditato da RSA)
Decrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding)

Decrittografa i dati di input usando la modalità di riempimento specificata.

(Ereditato da RSA)
DecryptValue(Byte[])

Esegue la decrittografia dei dati di input usando la chiave privata.

DecryptValue(Byte[])
Obsoleti.

Quando è sottoposto a override in una classe derivata, decrittografa i dati di input usando la chiave privata.

(Ereditato da RSA)
Dispose()

Rilascia tutte le risorse usate dall'istanza corrente della classe AsymmetricAlgorithm.

(Ereditato da AsymmetricAlgorithm)
Dispose(Boolean)

Rilascia le risorse non gestite usate dalla classe AsymmetricAlgorithm e facoltativamente le risorse gestite.

(Ereditato da AsymmetricAlgorithm)
Encrypt(Byte[], RSAEncryptionPadding)

Crittografa i dati di input usando il riempimento specificato.

Encrypt(ReadOnlySpan<Byte>, RSAEncryptionPadding)

Crittografa i dati di input usando la modalità di riempimento specificata.

(Ereditato da RSA)
Encrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding)

Crittografa i dati di input usando la modalità di riempimento specificata.

(Ereditato da RSA)
EncryptValue(Byte[])

Crittografa i dati di input usando la chiave pubblica.

EncryptValue(Byte[])
Obsoleti.

Quando è sottoposto a override in una classe derivata, decrittografa i dati di input usando la chiave pubblica.

(Ereditato da RSA)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Esporta la chiave corrente nel formato PKCS#8 EncryptedPrivateKeyInfo con una password basata su byte.

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Esporta la chiave corrente nel formato PKCS#8 EncryptedPrivateKeyInfo con una password basata su byte.

(Ereditato da AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Esporta la chiave corrente nel formato PKCS#8 EncryptedPrivateKeyInfo con una password basata su caratteri.

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Esporta la chiave corrente nel formato PKCS#8 EncryptedPrivateKeyInfo con una password basata su caratteri.

(Ereditato da AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters)

Esporta la chiave corrente nel formato PKCS#8 EncryptedPrivateKeyInfo con una password basata su byte, con codifica PEM.

(Ereditato da AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters)

Esporta la chiave corrente nel formato PKCS#8 EncryptedPrivateKeyInfo con una password basata su caratteri, con codifica PEM.

(Ereditato da AsymmetricAlgorithm)
ExportParameters(Boolean)

Esporta la chiave usata dall'oggetto RSA in un oggetto RSAParameters.

ExportPkcs8PrivateKey()

Esporta la chiave corrente nel formato PKCS#8 PrivateKeyInfo.

(Ereditato da AsymmetricAlgorithm)
ExportPkcs8PrivateKeyPem()

Esporta la chiave corrente nel formato PKCS#8 PrivateKeyInfo, con codifica PEM.

(Ereditato da AsymmetricAlgorithm)
ExportRSAPrivateKey()

Esporta la chiave corrente nel formato PKCS#1 RSAPrivateKey.

(Ereditato da RSA)
ExportRSAPrivateKeyPem()

Esporta la chiave corrente nel formato PKCS#1 RSAPrivateKey, con codifica PEM.

(Ereditato da RSA)
ExportRSAPublicKey()

Esporta la parte della chiave pubblica della chiave corrente nel formato PKCS#1 RSAPublicKey.

(Ereditato da RSA)
ExportRSAPublicKeyPem()

Esporta la parte della chiave pubblica della chiave corrente nel formato PKCS#1 RSAPublicKey, codificata CON PEM.

(Ereditato da RSA)
ExportSubjectPublicKeyInfo()

Esporta la parte della chiave pubblica della chiave corrente nel formato X.509 SubjectPublicKeyInfo.

(Ereditato da AsymmetricAlgorithm)
ExportSubjectPublicKeyInfoPem()

Esporta la parte pubblica della chiave pubblica della chiave corrente nel formato X.509 SubjectPublicKeyInfo, codificato con PEM.

(Ereditato da AsymmetricAlgorithm)
FromXmlString(String)

Inizializza un oggetto RSA dalle informazioni sulla chiave di una stringa XML.

(Ereditato da RSA)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetMaxOutputSize()

Ottiene il numero massimo di byte che un'operazione RSA può produrre.

(Ereditato da RSA)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
HashData(Byte[], Int32, Int32, HashAlgorithmName)

Quando sottoposto a override in una classe derivata, calcola il valore hash di una parte specificata di una matrice di byte usando un algoritmo hash specificato.

(Ereditato da RSA)
HashData(Stream, HashAlgorithmName)

Quando sottoposto a override in una classe derivata, calcola il valore hash di un flusso binario specificato usando un algoritmo hash specificato.

(Ereditato da RSA)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Importa la coppia di chiavi pubblica/privata da una struttura PKCS#8 EncryptedPrivateKeyInfo dopo la decrittografia con una password basata su byte, sostituendo le chiavi per questo oggetto.

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

Importa la coppia di chiavi pubblica/privata da una struttura PKCS#8 EncryptedPrivateKeyInfo dopo la decrittografia con una password basata su byte, sostituendo le chiavi per questo oggetto.

(Ereditato da RSA)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

Importa la coppia di chiavi pubblica/privata da una struttura PKCS#8 EncryptedPrivateKeyInfo dopo la decrittografia con una password basata su caratteri, sostituendo le chiavi per questo oggetto.

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

Importa la coppia di chiavi pubblica/privata da una struttura PKCS#8 EncryptedPrivateKeyInfo dopo la decrittografia con una password basata su caratteri, sostituendo le chiavi per questo oggetto.

(Ereditato da RSA)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

Importa una chiave privata con codifica PEM crittografata RFC 7468, sostituendo le chiavi per questo oggetto.

(Ereditato da RSA)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Importa una chiave privata con codifica PEM crittografata RFC 7468, sostituendo le chiavi per questo oggetto.

(Ereditato da RSA)
ImportFromPem(ReadOnlySpan<Char>)

Importa una chiave con codifica PEM RFC 7468, sostituendo le chiavi per questo oggetto.

(Ereditato da RSA)
ImportParameters(RSAParameters)

Sostituisce la chiave esistente usata dall'istanza corrente creando un nuovo oggetto CngKey per la struttura di parametri.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Importa la coppia di chiavi pubblica/privata da una struttura PKCS#8 PrivateKeyInfo dopo la decrittografia, sostituendo le chiavi per questo oggetto.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Importa la coppia di chiavi pubblica/privata da una struttura PKCS#8 PrivateKeyInfo dopo la decrittografia, sostituendo le chiavi per questo oggetto.

(Ereditato da RSA)
ImportRSAPrivateKey(ReadOnlySpan<Byte>, Int32)

Importa la coppia di chiavi pubblica/privata da una struttura PKCS#1 RSAPrivateKey dopo la decrittografia, sostituendo le chiavi per questo oggetto.

(Ereditato da RSA)
ImportRSAPublicKey(ReadOnlySpan<Byte>, Int32)

Importa la chiave pubblica da una struttura PKCS#1 RSAPublicKey dopo la decrittografia, sostituendo le chiavi per questo oggetto.

(Ereditato da RSA)
ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Importa la chiave pubblica da una struttura X.509 SubjectPublicKeyInfo dopo la decrittografia, sostituendo le chiavi per questo oggetto.

(Ereditato da RSA)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
SignData(Byte[], HashAlgorithmName, RSASignaturePadding)

Calcola il valore hash della matrice di byte specificata usando l'algoritmo hash e la modalità di spaziatura interna specificati e firma il valore hash risultante.

(Ereditato da RSA)
SignData(Byte[], Int32, Int32, HashAlgorithmName, RSASignaturePadding)

Calcola il valore hash di una parte della matrice di byte specificata usando l'algoritmo hash e la modalità di riempimento specificati e firma il valore hash risultante.

(Ereditato da RSA)
SignData(ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding)

Calcola il valore hash dei dati specificati e lo firma.

(Ereditato da RSA)
SignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding)

Calcola l'hash dei dati forniti con l'algoritmo specificato e firma l'hash con la chiave corrente, scrivendo la firma in un buffer fornito.

(Ereditato da RSA)
SignData(Stream, HashAlgorithmName, RSASignaturePadding)

Calcola il valore hash del flusso specificato usando l'algoritmo hash e la modalità di spaziatura interna specificati e firma il valore hash risultante.

(Ereditato da RSA)
SignHash(Byte[], HashAlgorithmName, RSASignaturePadding)

Firma i dati di cui è stato eseguito l'hashing usando l'algoritmo hash e la modalità di riempimento specificati.

SignHash(ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding)

Calcola la firma per il valore hash specificato usando il riempimento specificato.

(Ereditato da RSA)
SignHash(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding)

Firma l'hash con la chiave corrente, scrivendo la firma in un buffer fornito.

(Ereditato da RSA)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
ToXmlString(Boolean)

Crea e restituisce una stringa XML contenente la chiave dell'oggetto RSA corrente.

(Ereditato da RSA)
TryDecrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding, Int32)

Decrittografa i dati usando la chiave privata.

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

Prova a decrittografare i dati di input usando la modalità di riempimento specificata e scrivendo il risultato in un buffer specificato.

(Ereditato da RSA)
TryEncrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding, Int32)

Crittografa i dati usando la chiave pubblica.

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

Prova a crittografare i dati di input con una modalità di riempimento specificata in un buffer specificato.

(Ereditato da RSA)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

Tenta di esportare la chiave corrente nel formato PKCS#8 EncryptedPrivateKeyInfo in un buffer specificato, usando una password basata su byte.

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

Tenta di esportare la chiave corrente nel formato PKCS#8 EncryptedPrivateKeyInfo in un buffer specificato, usando una password basata su byte.

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

Tenta di esportare la chiave corrente nel formato PKCS#8 EncryptedPrivateKeyInfo in un buffer specificato, usando una password basata su caratteri.

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

Tenta di esportare la chiave corrente nel formato PKCS#8 EncryptedPrivateKeyInfo in un buffer specificato, usando una password basata su caratteri.

(Ereditato da RSA)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters, Span<Char>, Int32)

Tenta di esportare la chiave corrente nel formato PKCS#8 EncryptedPrivateKeyInfo con una password basata su byte, con codifica PEM.

(Ereditato da AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters, Span<Char>, Int32)

Esporta la chiave corrente nel formato PKCS#8 EncryptedPrivateKeyInfo con una password basata su caratteri, con codifica PEM.

(Ereditato da AsymmetricAlgorithm)
TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Tenta di esportare la chiave corrente nel formato PKCS#8 PrivateKeyInfo in un buffer specificato.

TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Tenta di esportare la chiave corrente nel formato PKCS#8 PrivateKeyInfo in un buffer specificato.

(Ereditato da RSA)
TryExportPkcs8PrivateKeyPem(Span<Char>, Int32)

Tenta di esportare la chiave corrente nel formato PKCS#8 PrivateKeyInfo con codifica PEM in un buffer fornito.

(Ereditato da AsymmetricAlgorithm)
TryExportRSAPrivateKey(Span<Byte>, Int32)

Tenta di esportare la chiave corrente nel formato PKCS#1 RSAPrivateKey in un buffer specificato.

(Ereditato da RSA)
TryExportRSAPrivateKeyPem(Span<Char>, Int32)

Tenta di esportare la chiave corrente nel formato PKCS#1 CON codifica PEM in un buffer fornito.

(Ereditato da RSA)
TryExportRSAPublicKey(Span<Byte>, Int32)

Tenta di esportare la chiave corrente nel formato PKCS#1 RSAPublicKey in un buffer specificato.

(Ereditato da RSA)
TryExportRSAPublicKeyPem(Span<Char>, Int32)

Tenta di esportare la chiave corrente nel formato PKCS#1 CON codifica PEM in un buffer fornito.

(Ereditato da RSA)
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

Tenta di esportare la chiave corrente nel formato X.509 SubjectPublicKeyInfo in un buffer specificato.

(Ereditato da RSA)
TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32)

Tenta di esportare la chiave corrente nel formato X.509 SoggettoPublicKeyInfo con codifica PEM in un buffer fornito.

(Ereditato da AsymmetricAlgorithm)
TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)

Prova a calcolare l'hash dei dati specificati usando l'algoritmo specificato e scrivendo i risultati in un buffer specificato.

(Ereditato da RSA)
TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding, Int32)

Prova a eseguire l'hashing dei dati specificati con l'algoritmo specificato e di firmare l'hash con la chiave corrente, scrivendo la firma in un buffer specificato.

(Ereditato da RSA)
TrySignHash(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding, Int32)

Prova a firmare l'hash con la chiave corrente, scrivendo la firma in un buffer specificato.

TrySignHash(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding, Int32)

Prova a firmare l'hash con la chiave corrente, scrivendo la firma in un buffer specificato.

(Ereditato da RSA)
VerifyData(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding)

Verifica che una firma digitale sia valida calcolando il valore hash dei dati indicati usando l'algoritmo hash e la spaziatura interna specificati e confrontandolo con la firma fornita.

(Ereditato da RSA)
VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName, RSASignaturePadding)

Verifica che una firma digitale sia valida calcolando il valore hash dei dati in una parte di matrice di byte usando l'algoritmo hash e la spaziatura interna specificati e confrontandolo con la firma fornita.

(Ereditato da RSA)
VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, RSASignaturePadding)

Verifica che una firma digitale sia valida calcolando il valore hash dei dati indicati usando l'algoritmo hash e la spaziatura interna specificati e confrontandolo con la firma fornita.

(Ereditato da RSA)
VerifyData(Stream, Byte[], HashAlgorithmName, RSASignaturePadding)

Verifica che una firma digitale sia valida calcolando il valore hash del flusso specificato usando l'algoritmo hash e la spaziatura interna specificati e confrontandolo con la firma fornita.

(Ereditato da RSA)
VerifyHash(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding)

Verifica i dati firmati e di cui è già stato eseguito l'hashing con l'algoritmo e la modalità di riempimento specificati.

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

Verifica che una firma digitale sia valida determinando il valore hash nella firma tramite l'algoritmo hash e la spaziatura interna specificati e confrontandolo con il valore hash indicato.

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

Verifica che una firma digitale sia valida determinando il valore hash nella firma tramite l'algoritmo hash e la spaziatura interna specificati e confrontandolo con il valore hash indicato.

(Ereditato da RSA)

Si applica a