作者:苟姝慧_788 | 来源:互联网 | 2023-05-18 13:17
前言最近在对接银联的支付,需要用到证书,其中有一类是pfx文件,稍微了解了下大概就是把密钥和其他东西打包起来的一种格式,现在,我想解这个pfx文件,得到密钥遇到的问题使用opens
前言
最近在对接银联的支付,需要用到证书,其中有一类是pfx文件,稍微了解了下大概就是把密钥和其他东西打包起来的一种格式,现在,我想解这个pfx文件,得到密钥
遇到的问题
使用openssl将pfx文件转化为cert,解出来是这样的,如下图,go语言没有自带的包能处理pfx文件,所以我找到了一个包:golang.org/x/crypto/pkcs12
里面有个decode函数能decode pfx文件,得到密钥,但是得到的是一堆数字
,请问是啥原因,或者有没有别的包可以起到解pfx的效果
![关于证书,如何使用go语言从pfx文件中提取出私钥](https://img6.php1.cn/3cdc5/c64b/a6e/747ed7e6d1331cba.png)
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
}
##其他问题
golang.org/x/crypto/pkcs12
这个解出来的应该是pkcs12的,但银联要求的是rsa1加签,对应的是pkcs8,就算用这个包解出了密钥,还是得转化