C# CX509PrivateKey格式

C# CX509PrivateKey Format

我正在尝试重新使用我生成的密钥对来创建 PKCS10 证书签名请求,但我无法弄清楚这个私钥的格式是什么。

要创建密钥,我使用 CERTENROLLLib CX509PrivateKey class。

我已将私钥 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 blob。为了导入使用 C# RSA 库,我必须使用以下内容:

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
byte[] CryptoKey = Convert.FromBase64String(base64CspBlob);
rsa.ImportCspBlob(CryptoKey);

做到了!