Estoy tratando de extraer las claves privadas de un objeto RSACryptoServiceProvider usando .ExportRSAPrivateKey() . Según MSDN , exporta una "matriz de bytes que contiene la representación PKCS#1 RSAPrivateKey de esta clave", cuya representación se define en el Apéndice A de RFC8017 . Entonces, en base a eso, asumo que debería estar codificado en ASN1 e intentar usar una clase AsnReader :
using (var rsa = new RSACryptoServiceProvider(1024)) { var priv = rsa.ExportRSAPrivateKey(); var asnr = new AsnReader(priv, AsnEncodingRules.DER); var N = asnr.ReadInteger(); } Sin embargo, este código falla en .ReadInteger() con la excepción: "The provided data is tagged with 'Universal' class value '16', but it should have been 'Universal' class value '2'."
¿Qué estoy haciendo mal?