OpenSSLを使用して秘密鍵と一緒にCSRを生成するために、次のコマンドを使用しています。
openssl req -new -subj "/CN=sample.myhost.com" -out newcsr.csr -nodes -sha512 -newkey rsa:2048
2つのファイルが生成されます。
newcsr.csr
privkey.pem
生成された秘密鍵にはパスワードがありません。生成プロセス中にパスワードを追加するにはどうすればよいですか?
注:私の最終目標はp12
ファイルは、CSRに従って提供された証明書と秘密キー(パスワードで保護されています)を組み合わせて作成します。
(ぎこちない名前の)_-nodes
_(読み:)(DES暗号化を省略します))コマンドからのパラメーター。
出力ファイルのパスワードを指定する場合は、(これも厄介な名前の)_-passout
_パラメータが必要です。
これは多次元パラメーターであり、いくつかのソースから実際のパスワードを読み取ることができます。ファイルや環境変数などから。または、コマンドラインから直接(安全性が最も低い)。以下は、これらの使用法の例です。
(公式の manpageは "Pass Phrase Options"セクションにさらに多くのパスワードソースをリストしています (アーカイブ here 。))
_$ openssl req -new -passout pass:"Pomegranate" -subj "/CN=sample.myhost.com" -out newcsr.csr -sha512 -newkey rsa:2048
Generating a 2048 bit RSA private key
................................................................................................................................+++
......................+++
writing new private key to 'privkey.pem'
-----
$ openssl rsa -in privkey.pem -passin pass:'Pomegranate' | head -n2
writing RSA key
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAsSP5kLRPP8wPODrnvuAeeoqGMqTOvRULL423vv6+zjYhwPUi
_
_$ export MYPASS='Elderberry'
$ openssl req -new -passout env:MYPASS -subj "/CN=sample.myhost.com" -out newcsr.csr -sha512 -newkey rsa:2048
Generating a 2048 bit RSA private key
............................+++
.....................+++
writing new private key to 'privkey.pem'
-----
$ openssl rsa -in privkey.pem -passin pass:'Elderberry' | head -n2
writing RSA key
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAv0NnBnigPp+O9G4UXc0qSyeELdJJjTmnO9GEtE5GlPGoK7vW
_
_$ echo "Farkleberry" > password.txt
$ openssl req -new -passout file:password.txt -subj "/CN=sample.myhost.com" -out newcsr.csr -sha512 -newkey rsa:2048
Generating a 2048 bit RSA private key
......................+++
...........+++
writing new private key to 'privkey.pem'
-----
$ openssl rsa -in privkey.pem -passin pass:'Farkleberry' | head -n2
writing RSA key
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAsHICgYvqe4i9CIR5eQk38JJmuTaJQvyxPH9S+BahT5XWh88z
_
次のコマンドを使用して、パスワードでキーを更新できます。
openssl rsa -des3 -in server.key -out server.key.new
次に、mv server.key.new server.key
を使用して、古いキーを上書きします。