Freigeben über


System.Security.Cryptography.RSACryptoServiceProvider-Klasse

Dieser Artikel enthält ergänzende Hinweise zur Referenzdokumentation für diese API.

Die RSACryptoServiceProvider Klasse ist die Standardimplementierung von RSA.

Die RSACryptoServiceProvider unterstützten Schlüsselgrößen von 384 Bit bis 16384 Bit in Schritten von 8 Bits, wenn Der erweiterte Kryptografieanbieter von Microsoft installiert ist. Es unterstützt Schlüsselgrößen von 384 Bit bis zu 512 Bits in Schritten von 8 Bits, wenn der Microsoft Base-Kryptografieanbieter installiert ist.

Gültige Schlüsselgrößen sind vom kryptografischen Dienstanbieter (CSP) abhängig, der von der RSACryptoServiceProvider Instanz verwendet wird. Windows-CSPs ermöglichen Schlüsselgrößen von 384 bis 16384 Bit für Windows-Versionen vor Windows 8.1 und Schlüsselgrößen von 512 bis 16384 Bit für Windows 8.1. Weitere Informationen finden Sie in der Windows-Dokumentation unter CryptGenKey-Funktion .

Interoperabilität mit der Microsoft Cryptographic API (CAPI)

Im Gegensatz zur RSA-Implementierung in nicht verwalteter CAPI kehrt die RSACryptoServiceProvider Klasse die Reihenfolge eines verschlüsselten Arrays von Bytes nach verschlüsselung und vor der Entschlüsselung um. Standardmäßig können von der RSACryptoServiceProvider CAPI-Funktion verschlüsselte Daten nicht von der CAPI-Funktion CryptDecrypt entschlüsselt werden, und daten, die von der CAPI-Methode CryptEncrypt verschlüsselt wurden, können nicht von der RSACryptoServiceProvider Klasse entschlüsselt werden.

Wenn Sie die umgekehrte Sortierung beim Arbeiten zwischen APIs nicht ausgleichen, löst die RSACryptoServiceProvider Klasse eine CryptographicException.

Um mit CAPI zu interoperieren, müssen Sie die Reihenfolge verschlüsselter Bytes manuell umkehren, bevor die verschlüsselten Daten mit einer anderen API interoperates. Sie können die Reihenfolge eines verwalteten Bytearrays ganz einfach umkehren, indem Sie die Array.Reverse Methode aufrufen.