您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

pyOpenSSL创建一个pem文件

pyOpenSSL创建一个pem文件

我希望这将对以后的人们有所帮助,因为我有同样的需求,并且找不到答案,所以我自己做了。以为我会和你分享

bio_pub = _new_mem_buf()  # Memory buffers to write to
bio_priv = _new_mem_buf()

helper = OpenSSL.crypto._PassphraseHelper(OpenSSL.crypto.FILETYPE_PEM, None)

pk = OpenSSL.crypto.PKey()
pk.generate_key(OpenSSL.crypto.TYPE_RSA, n)

# Convert from EVP_PKEY type to RSA type
rsa_pkey = _lib.EVP_PKEY_get1_RSA(pk._pkey)


result_code = _lib.PEM_write_bio_RSAPublicKey(bio_pub, rsa_pkey)
result_code = _lib.PEM_write_bio_RSAPrivateKey(
    bio_priv, rsa_pkey, _ffi.NULL, _ffi.NULL, 0,
    helper.callback, helper.callback_args)

在这部分之后,您将在缓冲区中拥有公钥和私钥。要以字符串形式获取它,可以调用以下函数

_bio_to_string(bio_pub), _bio_to_string(bio_priv)

我将这些导入用于OpenSSL.crypto的特殊“私有”功能

import OpenSSL
from OpenSSL._util import lib as _lib, ffi as _ffi
from OpenSSL.crypto import _new_mem_buf, _bio_to_string
其他 2022/1/1 18:38:47 有449人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶