C#CX509私钥格式
我正在尝试重新使用为创建C#CX509私钥格式,c#,cryptography,pki,C#,Cryptography,Pki,我正在尝试重新使用为创建PKCS10证书签名请求而生成的密钥对,但我无法确定此私钥的格式 要创建密钥,我使用的是CERTENROLLLib CX509PrivateKey类 我已经将私钥提供程序类型设置为XCV\u PROV\u RSA\u FULL,当我导出它时(试图弄清楚它是什么格式),我会使用它 当我导出它时,私钥总是以“BwIAAACkAABSU0E” 有人知道这是什么格式吗?我认为ANS.1 DER编码总是以“MII”之类的开头。我想我回答了我自己的问题: 命令 Export("PRI
PKCS10
证书签名请求而生成的密钥对,但我无法确定此私钥的格式
要创建密钥,我使用的是CERTENROLLLib CX509PrivateKey
类
我已经将私钥提供程序类型设置为XCV\u PROV\u RSA\u FULL
,当我导出它时(试图弄清楚它是什么格式),我会使用它
当我导出它时,私钥总是以“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);
成功了 谢谢你的回复。我猜了很多,但我没能测试,时间不够了。糟糕的API文档,很高兴你找到了它。
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
byte[] CryptoKey = Convert.FromBase64String(base64CspBlob);
rsa.ImportCspBlob(CryptoKey);