2

CSRを大量に生成するためにpyOpenSSLを使用しています。

パスフレーズで保護された秘密鍵ファイルを生成する必要があります。

コードスニペット:

key = crypto.PKey()
key.generate_key(type, bits)
f = open(_keyfile, "w"
f.write(crypto.dump_privatekey(crypto.FILETYPE_PEM, key))
f.close()

パスフレーズでキーを生成できるかどうかを確認するドキュメントのどこにも見つかりません。

コマンドラインでopensslを使用していた場合、次のようにします。

${OPENSSLCMD} req -new -newkey rsa:"${KEYSIZE}" -passout pass:"${DBPASS}" -out "${DBFILE}" -keyout "${DBKEYFILE}" -subj "${CERTDN}" -config "${OPENSSLCONFIG}"

pyOpenSSL を使用してパスフレーズをキーに追加する方法はありますか?

4

1 に答える 1

1

あなたは答えからそう遠くありません。作成したキーをエクスポートするには:

f.write(crypto.dump_privatekey(crypto.FILETYPE_PEM, key))

OpenSSL.crypto.dump_privatekey関数はオプションの引数を受け入れるため、次のpassphraseようにするだけです。

f.write(crypto.dump_privatekey(crypto.FILETYPE_PEM, key, passphrase='your_passphrase_here'))

編集:

パスフレーズでキーを生成できるかどうかを確認するドキュメントのどこにも見つかりません。

キーを生成するときはパスフレーズは関係ありませんが、キーをエクスポートするときはパスフレーズが関係することを明確にするためです。OpenSSL.crypto.load_privatekeyまた、同じパスフレーズを使用してキーをロードするたびに必要になります。

于 2015-04-21T05:36:37.477 に答える