首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用PyOpenSSL读取PFX文件?

如何使用PyOpenSSL读取PFX文件?
EN

Stack Overflow用户
提问于 2019-07-22 21:38:46
回答 1查看 2K关注 0票数 0

如何使用pyopenssl读取pfx文件?以及如何使用此SSL证书对XML进行签名?

我仍然很难理解如何阅读,但我也不知道如何签名。我想我应该使用库,但我不知道是否是这样。

到目前为止我的代码是:

代码语言:javascript
复制
import OpenSSL

def load_public_key(pfx_path, pfx_password):
        ''' Read the public key and return as PEM encoded '''

        # print('Opening:', pfx_path)
        with open(pfx_path, 'rb') as f:
                pfx_data = f.read()

        # print('Loading PFX contents:')
        pfx = OpenSSL.crypto.load_pkcs12(pfx_data, pfx_password)

        public_key = OpenSSL.crypto.dump_publickey(
                OpenSSL.crypto.FILETYPE_PEM,
                p12.get_certificate().get_pubkey())

        print(public_key)

        return public_key

teste = load_public_key("certificates/myfile.pfx", 'mypass')

我需要读取一个脚本,对任何xml签名,并使用该XML获取一个字符串。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-29 22:45:02

经过一些研究,我得出了以下结果:

代码语言:javascript
复制
from OpenSSL.crypto import *
import os

passwd = 'my_pass'
cd = 'my_folder'

p12 = load_pkcs12(open(cd + 'file.pfx', 'rb').read(), passwd)

pkey = p12.get_privatekey()
open(cd + 'pkey.pem', 'wb').write(dump_privatekey(FILETYPE_PEM, pkey))

cert = p12.get_certificate()
open(cd + 'cert.pem', 'wb').write(dump_certificate(FILETYPE_PEM, 
cert))

ca_certs = p12.get_ca_certificates()
ca_file = open(cd + 'ca.pem', 'wb')
for ca in ca_certs:
     ca_file.write(dump_certificate(FILETYPE_PEM, ca))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57154082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档