教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 golang解析pfx证书文件,获得证书私钥

golang解析pfx证书文件,获得证书私钥

发布时间:2023-03-08   编辑:jiaochengji.com
教程集为您提供golang解析pfx证书文件,获得证书私钥等资源,欢迎您收藏本站,我们将为您提供最新的golang解析pfx证书文件,获得证书私钥资源

简介: 前一段时间,跟农商行对接支付接口,突然来了一个pfx格式的证书,我当时就懵逼了,因为网上针对于golang解析pfx的文章根本就没有用,只能自己研究了,如果对你有帮助的话,请点个赞吧


package main

func main () {
    getPrivateKey("key/request_key/test.pfx","test")
}

func getPrivateKey(privateKeyName, privatePassword string) (*rsa.PrivateKey, error) {
    f, err := os.Open(privateKeyName)
    if err != nil {
        return nil, err
    }

    bytes, err := ioutil.ReadAll(f)
    if err != nil {
        return nil, err
    }
    // 因为pfx证书公钥和密钥是成对的,所以要先转成pem.Block
    blocks,  err := pkcs12.ToPEM(bytes, privatePassword)
    if err != nil {
        return nil, err
    }
    if len(blocks) != 2 {
        return nil, errors.New("解密错误")
    }
    // 拿到第一个block,用x509解析出私钥(当然公钥也是可以的)
    privateKey, err := x509.ParsePKCS1PrivateKey(blocks[0].Bytes)
    if err != nil {
        return nil, err
    }
    return privateKey, nil
}
到此这篇关于“golang解析pfx证书文件,获得证书私钥”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
用PHP实现SHA1withRSA签名、加密、验证
Golang标准库——crypto(4)
关于Https原理的个人理解分享
golang TLS 服务端生成
【go密码学】-非对称加密算法
Javascript 到 PHP 加密通讯的简单实现
12306购票提示:此网站的安全证书有问题 解决办法
Golang-RSA2 签名及验签
基于Golang打造的开源WAF网关
DotNetOpenAuth搭建验证服务器及制作Windows签名

[关闭]
~ ~