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); 

这样做了!

+0

感谢您报告回来。我猜测一样多,但我无法测试,跑出时间。可怕的API文档,很高兴你明白了。 –