使用 python 加密技术为证书链创建 PCS12 文件

问题描述 投票:0回答:1

封装密码有这样的方法:

cryptography.hazmat.primitives.serialization.pkcs12.serialize_key_and_certificates(name, key, cert, cas, encryption_algorithm)

这可以创建带有证书/密钥对的 p12 文件。

1. 现在我有一系列证书 [certs],我喜欢将其放入 p12-keystore 中,但我不知道如何执行此操作?证书字节的串联和 PEM 的字节串都不起作用。

2. 如果做到了这一点。有没有办法通过 Python 添加额外的证书/密钥对到现有的密钥库。我喜欢避免使用 keytool-cli 工具。

python cryptography keystore pkcs#12
1个回答
0
投票

我将证书链推送到密钥库的解决方案是创建一个 pem-str,然后将此字符串加载为 pem-证书:

    pem_str=''
    for crt in crts: 
        pem_str += crt.public_bytes(encoding=serialization.Encoding.PEM).decode('ascii')
    crt = x509.load_pem_x509_certificate(pem_str.encode('ascii'))
    p12 = pkcs12.serialize_key_and_certificates((args.CN).encode('ascii'), pkey, crt, None, 
                                                BestAvailableEncryption(args.P12pwd.encode('ascii')))

不知道有没有更直接的方法?我的问题的第二部分仍然开放。

© www.soinside.com 2019 - 2024. All rights reserved.