关于证书,如何使用 go 语言从 pfx 文件中提取出私钥
前言
最近在对接银联的支付,需要用到证书,其中有一类是pfx文件,稍微了解了下大概就是把密钥和其他东西打包起来的一种格式,现在,我想解这个pfx文件,得到密钥
遇到的问题
使用openssl将pfx文件转化为cert,解出来是这样的,如下图,go语言没有自带的包能处理pfx文件,所以我找到了一个包:golang.org/x/crypto/pkcs12
里面有个decode函数能decode pfx文件,得到密钥,但是得到的是一堆数字
,请问是啥原因,或者有没有别的包可以起到解pfx的效果
keyFile, err := ioutil.ReadFile(rootKey)
if err != nil {
t.Error(err)
return
}
privateKey, keyBlock, err := pkcs12.DecodeAll(keyFile, "000000")
if keyBlock == nil {
t.Error(err)
return
}
//结果:308204be020100300d06092a864886f70d010101050004820。。。
##其他问题
golang.org/x/crypto/pkcs12
这个解出来的应该是pkcs12的,但银联要求的是rsa1加签,对应的是pkcs8,就算用这个包解出了密钥,还是得转化
本作品采用《CC 协议》,转载必须注明作者和本文链接