対話形式ではなく、サイレントでSSL証明書を作成したい。つまり、データの入力を求められません。
証明書を作成する通常の方法は次のとおりです。
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 \
-keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
私は以下を試しました:
openssl genrsa -out server.key 2048
touch openssl.cnf
cat >> openssl.cnf <<EOF
[ req ]
Prompt = no
distinguished_name = req_distinguished_name
[ req_distinguished_name ]
C = GB
ST = Test State
L = Test Locality
O = Org Name
OU = Org Unit Name
CN = Common Name
emailAddress = [email protected]
EOF
openssl req -x509 -config openssl.cnf -nodes -days 7300 \
-signkey server.key -out /etc/ssl/private/pure-ftpd.pem
しかし、まだデータのプロンプトが表示されます。
不足しているのは、証明書のサブジェクトを-subj
フラグに含めることです。ワークフローに統合するのが簡単で、後でクリーンアップする必要がないため、私はこれを構成ファイルの作成よりも好みます。
ワンステップキーとcsr生成:
openssl req -new -newkey rsa:4096 -nodes \
-keyout www.example.com.key -out www.example.com.csr \
-subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com"
ワンステップの自己署名パスワードなし証明書の生成:
openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 \
-subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com" \
-keyout www.example.com.key -out www.example.com.cert
これらのコマンドはいずれも、データを要求しません。
これに対する私の答えを参照してください ほぼ同じ質問 スーパーユーザー。
あなたが探しているコマンドは:
openssl req -new -x509 -config openssl.cnf -nodes -days 7300 -key server.key -out /etc/ssl/private/pure-ftpd.pem
バージョンからの変更:
-new
は何かを生成するために必要です-key
の代わりに使用-signkey