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.