简介:前一段时间,农商行和支付接口对接,突然来了pfx格式的证书。 我从那时开始就无知。 因为,为网上谷歌解析pfx的文章完全没有用。 只能自己研究。 如果对你有帮助的话,请称赞我
包主
func main () }
获取专用密钥(' key/request _ key/test.pfx ',' test ' ) )
}
funcgetprivatekey (私有密钥名称,私有密码字符串) * RSA .私有密钥,错误) {
f,err :=OS.open (私有密钥) )
if err!=nil {
返回Nil,err
}
(bytes,err:=Ioutil.readall(f ) ) ) ) ) ) ) ) )。
if err!=nil {
返回Nil,err
}
//pfx证书的公钥和私钥是成对的,首先转换为pem.Block
blocks,err:=pkcs12.topem(bytes,privatePassword ) ) ) )。
if err!=nil {
返回Nil,err
}
if len (积木)!=2 {
return nil,errors.New ('解密错误) ) ) )。
}
//获得第一块,用x509解析私钥(当然也可以是公钥)
私有密钥,err :=x509.parse PK CS1私有密钥(blocks [0].bytes ) ) ) ) ) ) 660
if err!=nil {
返回Nil,err
}
返回专用密钥,nil
}
疑问加站长微信联系(本论文作者以外) ) ) ) ) )。