Base64中的X.509证书公钥

时间:2014-06-30 14:53:37

标签: base64 ssl-certificate public-key-encryption x509

我正在尝试找到我正在使用的证书的base64公钥。我在证书的详细信息选项卡中找到的公钥不是base64,我被要求提供base64公钥。

有没有办法可以获得base64版本的公钥?可以通过从证书中获取公钥并将其加密到base64来完成吗?例如,下面是我为证书找到的公钥:

" 30 82 01 0a 02 82 01 01 00 bc 39 25 06 5d 99 a4 05 5f e7 fc 59 1f 28 b5 48 d2 0d 2e ea aa eb ed 74 ef c9 2f 90 f8 ad 96 80 24 0f c2 dc 71 58 ea 3e fa 5c c9 29 87 51 7c cb 54 28 7c f9 10 15 b0 ac 8f eb 9e d3 d7 70 35 93 8a c7 1f 45 97 e3 c8 0b 72 a1 65 79 cf 74 6c 87 d9 eb 7d a0 b9 0e 4b 45 3d 81 f0 18 6e 9f 97 11 54 cb d8 e2 35 1a 4b e7 4d bf 68 1d ad 4e ca 57 25 9e 2f f7 f8 44 6f c2 0c 78 d8 19 ef 22 5a 9f 78 9f 17 1a b8 c0 72 0f 51 5c 21 6f c9 1e 80 de 7c 25 47 d0 28 01 2a 94 6e 34 39 1f 42 39 be 5f 0e c2 7c b4 fa a5 b9 05 4e 9c 45 75 63 a3 87 c3 e5 dd 54 35 85 d4 8d c2 5f da 6f 86 12 cf b3 8b 65 23 1d 34 43 c5 2e b1 49 56 56 25 93 f7 09 bf 9e 48 21 91 6a de 27 9e 6d 38 2f f5 f4 93 23 46 e8 41 b4 21 b4 02 50 79 71 48 72 0f 57 46 a0 20 c0 19 02 f9 d4 76 02 2d 85 fd 79 cd 70 fc 41 8b 02 03 01 00 01 "

如何将其转换为base64?谢谢你的帮助!

2 个答案:

答案 0 :(得分:16)

我会假设你在窗户上。

我这样做是为了安装证书。打开证书(来自mmc或直接)打开相关证书。

在详细信息选项卡中,有“复制到文件”选项。按next直到它为您提供导出文件格式。

选择Base-64编码的X.509(.cer)。保存到桌面。

如果用记事本打开此文件,它将在---- BEGIN CERTIFICATE ----和----- END CERTIFICATE ------

之间显示base64编码的公钥。

编辑:

我保存了这个base64字符串,然后在代码中转换回来获取实际的证书。这很容易。

var base64Cert = // read from Db or somewhere
var base64EncodedStr = Encoding.Unicode.GetString(base64Cert);
var cert = new X509Certificate2(Convert.FromBase64String(base64EncodedStr), "password", X509KeyStorageFlags.PersistKeySet);
if(cert != null)
{
    // use certificate
}

答案 1 :(得分:1)

您可以使用ASN.1 Editor。它有一个很好的数据转换器,允许您从HEX,BASE64,PEM转换为前面提到的任何一个。

enter image description here