test_crypto.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:loopchain 作者: theloopkr 项目源码 文件源码
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)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号