System.Security.Cryptography.RSACryptoServiceProvider – třída

Tento článek obsahuje doplňující poznámky k referenční dokumentaci pro toto rozhraní API.

Třída RSACryptoServiceProvider je výchozí implementace RSA.

Podporuje RSACryptoServiceProvider velikosti klíčů od 384 bitů do 16384 bitů v přírůstcích po 8 bitů, pokud máte nainstalovaného zprostředkovatele Microsoft Enhanced Cryptographic Provider. Podporuje velikosti klíčů od 384 bitů do 512 bitů v přírůstcích po 8 bitů, pokud máte nainstalovaného zprostředkovatele kryptografických služeb Microsoft Base.

Platné velikosti klíčů jsou závislé na poskytovateli kryptografických služeb (CSP), který instance používá RSACryptoServiceProvider . Poskytovatelé CSP systému Windows umožňují klíče o velikosti 384 až 16384 bitů pro verze Windows starší než Windows 8.1 a velikosti klíčů 512 až 16384 bitů pro Windows 8.1. Další informace naleznete v tématu Funkce CryptGenKey v dokumentaci systému Windows.

Interoperabilita s rozhraním Microsoft Cryptographic API (CAPI)

Na rozdíl od implementace RSA v nespravované CAPI RSACryptoServiceProvider třída obrátí pořadí šifrovaného pole bajtů po šifrování a před dešifrováním. Ve výchozím nastavení nelze data zašifrovaná RSACryptoServiceProvider třídou dešifrovat funkcí CAPI CryptDecrypt a data zašifrovaná metodou CAPI CryptEncrypt nelze dešifrovat RSACryptoServiceProvider třídou.

Pokud nekompenzujete reverzní řazení při spolupráci mezi rozhraními API, RSACryptoServiceProvider třída vyvolá CryptographicExceptionvýjimku .

Pokud chcete spolupracovat s CAPI, musíte před interoperabilitou šifrovaných dat s jiným rozhraním API ručně obrátit pořadí šifrovaných bajtů. Pořadí spravovaného bajtového pole můžete snadno obrátit voláním Array.Reverse metody.