def test_pkcs12_format(self):
"""
PKCS12 ???? ???/??? ??? ?? ??
"""
logging.debug("----- PKCS12 Test Start -----")
# ECC ? ? ??
pri_key = ec.generate_private_key(ec.SECP256K1(), default_backend())
pub_key = pri_key.public_key()
logging.debug("Key_Type : %s", type(pri_key))
# ??? ??
cert = self._generate_cert(pub_key=pub_key, issuer_key=pri_key, subject_name="test")
cert_pem = cert.public_bytes(
encoding=serialization.Encoding.DER
)
key_pem = pri_key.private_bytes(
encoding=serialization.Encoding.DER,
format=serialization.PrivateFormat.PKCS8,
encryption_algorithm=serialization.NoEncryption()
)
# ???/???? OpenSSL Key? ??
crypto = OpenSSL.crypto
cert_ssl_key = crypto.load_certificate(
type=crypto.FILETYPE_ASN1,
buffer=cert_pem
)
priv_ssl_key = crypto.load_privatekey(
type=crypto.FILETYPE_ASN1,
buffer=key_pem,
passphrase=None
)
logging.debug("Key_Type : %s", type(priv_ssl_key))
# ??? ??????? PKCS12???? ??
p12 = OpenSSL.crypto.PKCS12()
p12.set_privatekey(priv_ssl_key)
p12.set_certificate(cert_ssl_key)
pfx = p12.export()
pfx_b64 = base64.b64encode(pfx, altchars=None)
logging.debug("%s", pfx_b64)
评论列表
文章目录