2

当我做X509Certificate2 x509 = new X509Certificate2(certificateFile);证书需要采用什么格式?

我有一个私钥:

-----BEGIN RSA PRIVATE KEY-----
......
-----END RSA PRIVATE KEY-----

和证书:

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
           ..............
        Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=IL, ST=SS, L=...., O=....., OU=....., CN=...../emailAddress=.....
        Validity
            Not Before: Mar 19 14:45:09 2013 GMT
            Not After : Mar 19 14:45:09 2014 GMT
        Subject: C=IL, ST=SS, L=...., O=....., OU=....., CN=...../emailAddress=.....
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    ...................
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Subject Key Identifier: 
                .........
            X509v3 Authority Key Identifier: 
                keyid:..........

            X509v3 Basic Constraints: 
                CA:TRUE
    Signature Algorithm: sha1WithRSAEncryption
        .....

然而,我无法使用上面的 C# 代码加载。我错过了什么?

4

1 回答 1

1

-----BEGIN RSA PRIVATE KEY-----是 PKCS#1 格式(未加密)的 RSA 私钥的标头。此格式用于私钥 PEM 文件。

.NET Framework 没有提供任何现成的方法来直接以这种格式导出私钥,因此您必须自己实现它。

本文档可以帮助您 - 有一个解码 RSA 私钥的示例。编码只是相反的操作。

于 2017-12-30T15:51:50.547 回答