封装密码有这样的方法:
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 工具。
我将证书链推送到密钥库的解决方案是创建一个 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')))
不知道有没有更直接的方法?我的问题的第二部分仍然开放。