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)
ただし、これは SyntaxError で失敗します。改行を削除したり、ダッシュ間の文字列の一部のみを使用したりするなど、すべて失敗します。
別の一般的なキー形式を使用しても問題ありませんが、Google AppEngine を使用しているため、ファイルを読み取るには、TLSLite または別の純粋な Python ソリューションが必要です。