Classe System.Security.Cryptography.RSACryptoServiceProvider

Cet article vous offre des remarques complémentaires à la documentation de référence pour cette API.

La RSACryptoServiceProvider classe est l’implémentation par défaut de RSA.

La RSACryptoServiceProvider taille des clés prend en charge de 384 bits à 16384 bits par incréments de 8 bits si le fournisseur de chiffrement Microsoft Enhanced est installé. Il prend en charge les tailles de clé de 384 bits à 512 bits par incréments de 8 bits si vous avez installé le fournisseur de chiffrement de base Microsoft.

Les tailles de clé valides dépendent du fournisseur de services de chiffrement (CSP) utilisé par l’instance RSACryptoServiceProvider . Les fournisseurs de services cloud Windows activent les tailles de clés de 384 à 16384 bits pour les versions de Windows antérieures à Windows 8.1 et les tailles de clés de 512 à 16384 bits pour Windows 8.1. Pour plus d’informations, consultez la fonction CryptGenKey dans la documentation Windows.

Interopérabilité avec l’API de chiffrement Microsoft (CAPI)

Contrairement à l’implémentation RSA dans CAPI non managé, la RSACryptoServiceProvider classe inverse l’ordre d’un tableau chiffré d’octets après le chiffrement et avant le déchiffrement. Par défaut, les données chiffrées par la RSACryptoServiceProvider classe ne peuvent pas être déchiffrées par la fonction CAPI CryptDecrypt et les données chiffrées par la méthode CAPI CryptEncrypt ne peuvent pas être déchiffrées par la RSACryptoServiceProvider classe.

Si vous ne compensez pas l’ordre inverse lors de l’interopérabilité entre les API, la RSACryptoServiceProvider classe lève un CryptographicException.

Pour interagir avec CAPI, vous devez inverser manuellement l’ordre des octets chiffrés avant l’interopérabilité des données chiffrées avec une autre API. Vous pouvez facilement inverser l’ordre d’un tableau d’octets managé en appelant la Array.Reverse méthode.