backend.py 文件源码

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

项目:xxNet 作者: drzorm 项目源码 文件源码
def _public_key_bytes(self, encoding, format, pkcs1_write_func, evp_pkey,
                          cdata):
        if not isinstance(encoding, serialization.Encoding):
            raise TypeError("encoding must be an item from the Encoding enum")

        if not isinstance(format, serialization.PublicFormat):
            raise TypeError(
                "format must be an item from the PublicFormat enum"
            )

        # This is a temporary check until we land DER serialization.
        if encoding is not serialization.Encoding.PEM:
            raise ValueError("Only PEM encoding is supported by this backend")

        if format is serialization.PublicFormat.SubjectPublicKeyInfo:
            write_bio = self._lib.PEM_write_bio_PUBKEY
            key = evp_pkey
        elif format is serialization.PublicFormat.PKCS1:
            write_bio = pkcs1_write_func
            key = cdata

        bio = self._create_mem_bio()
        res = write_bio(bio, key)
        assert res == 1
        return self._read_mem_bio(bio)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号