Classe System.Security.Cryptography.RSACryptoServiceProvider

Questo articolo fornisce osservazioni supplementari alla documentazione di riferimento per questa API.

La RSACryptoServiceProvider classe è l'implementazione predefinita di RSA.

RSACryptoServiceProvider supporta le dimensioni delle chiavi da 384 bit a 16384 bit in incrementi di 8 bit se è installato il provider di crittografia avanzato Microsoft. Supporta dimensioni delle chiavi da 384 bit a 512 bit in incrementi di 8 bit se è installato il provider di crittografia di base Microsoft.

Le dimensioni valide delle chiavi dipendono dal provider di servizi di crittografia (CSP) usato dall'istanza RSACryptoServiceProvider di . I CSP di Windows abilitano le dimensioni delle chiavi da 384 a 16384 bit per le versioni di Windows precedenti a Windows 8.1 e le dimensioni delle chiavi da 512 a 16384 bit per Windows 8.1. Per altre informazioni, vedere La funzione CryptGenKey nella documentazione di Windows.

Interoperabilità con l'API di crittografia Microsoft (CAPI)

A differenza dell'implementazione RSA in CAPI non gestito, la RSACryptoServiceProvider classe inverte l'ordine di una matrice crittografata di byte dopo la crittografia e prima della decrittografia. Per impostazione predefinita, i dati crittografati dalla RSACryptoServiceProvider classe non possono essere decrittografati dalla funzione CAPI CryptDecrypt e i dati crittografati dal metodo CAPI CryptEncrypt non possono essere decrittografati dalla RSACryptoServiceProvider classe .

Se non si compensa l'ordinamento inverso durante l'interoperabilità tra le API, la RSACryptoServiceProvider classe genera un'eccezione CryptographicException.

Per interagire con CAPI, è necessario invertire manualmente l'ordine dei byte crittografati prima che i dati crittografati interagiscano con un'altra API. È possibile invertire facilmente l'ordine di una matrice di byte gestita chiamando il Array.Reverse metodo .