创建可使用Python TLSLite parseAsPublicKey加载的公钥

创建可使用Python TLSLite parseAsPublicKey加载的公钥,python,ssl,pem,Python,Ssl,Pem,我想从Python的TLSlite库加载公钥 只要格式是通用的,就可以以我们喜欢的任何方式创建密钥-到目前为止,我使用的是使用openssl命令行工具创建的PEM密钥: openssl genrsa 2048 > private.pem 然后: openssl rsa -in private.pem -pubout > public.pem 结果如下: -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADC

我想从Python的TLSlite库加载公钥

只要格式是通用的,就可以以我们喜欢的任何方式创建密钥-到目前为止,我使用的是使用openssl命令行工具创建的PEM密钥:

   openssl genrsa 2048 > private.pem
然后:

   openssl rsa -in private.pem -pubout > public.pem
结果如下:

-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCw0zAfn11dltN7b3HL+vDsp+oS
rhwAYPjtpMtsdKp7/i5fCf2oAo2wSBPfjM7q9DAZgPrnlzDYldIZ5MooUL2EJ59c
6TRQN/2pBeE59nzvRif1DSgWgZhK7mvjo4YtLS10eqOxY5A8VVyKmNzQ15ILbYwg
8ZwXoiMJJPECmt0iswIDAQAB
-----END PUBLIC KEY-----
密钥将加载以下内容:

   from libs.tlslite.utils import keyfactory
   pubkey = open('public.pem').read()
   keyfactory.parsePEMKey(pubkey, private=False)
但是,这会因语法错误而失败。剥离换行符,仅使用破折号之间的字符串部分等。所有操作都失败


我很乐意使用不同的通用密钥格式,但是我需要TLSLite或其他纯Python解决方案才能读取文件,因为我使用的是Google AppEngine。

您可能应该包括实现参数,如:


parsePEMKeykey_data,private=False,implementations=['python']

您能多发布一些代码吗?您发布的两行当前似乎没有相互关联。pubkey应该用于keyfactory.parsePEMKey调用吗?@kwatford-很好-我已经相应地修改了示例代码