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);
做到了!
我正在尝试重新使用我生成的密钥对来创建 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);
做到了!