C#CX509PrivateKey格式
问题描述:
我试图重新使用我生成的密钥对创建PKCS10
证书签名请求,但我无法弄清楚这个私钥的格式是什么。C#CX509PrivateKey格式
要创建密钥,我使用的是CERTENROLLLib CX509PrivateKey
类。
我已经设置专用密钥ProviderType到XCV_PROV_RSA_FULL
,当我导出(试图弄清楚它是什么格式)我用
Export("PRIVATEBLOB", EncodingType.XCN_CRYPT_STRING_BASE64)
当我导出的私钥总是开头"BwIAAACkAABSU0E"
有谁知道这是什么格式?我认为ANS.1 DER编码总是以"MII"
开始或者类似的。
答
我想我回答我自己的问题:
命令
Export("PRIVATEBLOB", EncodingType.XCN_CRYPT_STRING_BASE64)
导出私钥为Base64编码的CSP斑点。为了导入正在使用的C#RSA库,我必须使用以下内容:
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
byte[] CryptoKey = Convert.FromBase64String(base64CspBlob);
rsa.ImportCspBlob(CryptoKey);
这样做了!
感谢您报告回来。我猜测一样多,但我无法测试,跑出时间。可怕的API文档,很高兴你明白了。 –