ルートCAを使用して中間証明書のCSRに署名しようとしていますが、OpenSSLがパスワードを要求しましたが、その後は何も起こりません。エラーメッセージも証明書も作成されません。失敗しているコマンドは次のとおりです。
openssl ca -config rootca.cnf -extensions v3_intermediate_ca ^
-days 730 -notext -md sha256 ^
-in C:/Certificates/IntermediateCA/csr/intermediate.csr.pem ^
-out C:/Certificates/IntermediateCA/public/intermediate.cert.pem
opensslは次のように応答します。
Enter pass phrase for C:/Certificates/RootCA/private/rootca.key.pem:
パスワードを入力しても、その後は何も起こりません。
この質問に対する良い答えは2つの部分になります:
追加の詳細
これが必要かどうかはわかりませんが、残りの中間CAを生成するために使用している追加のコマンドを次に示します。
中間CA秘密鍵の作成:
openssl genrsa -aes256 -out private/intermediate.key.pem 4096
中間CSRの作成:
openssl req -config intermediateca.cnf -new -sha256 ^
-key private/intermediate.key.pem ^
-out csr/intermediate.csr.pem
rootca.cnf(重要な部分):
[ CA_default ]
dir = C:/Certificates/RootCA
...
[ policy_strict ]
countryName = match
stateOrProvinceName = match
localityName = match
organizationName = match
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
...
[ req_distinguished_name ]
0.organizationName_default = org1
1.organizationName_default = org1.1
...
[ v3_intermediate_ca ]
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer
basicConstraints = critical, CA:true, pathlen:0
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
opensslは、index.txt
ファイルが「破損している」と考えている可能性があります。スクリプトを作成しているときにecho '' > index.txt
でファイルをリセットしているときに、これと同じ動作が発生しました。 index.txt
ファイルを削除し、touch index.txt
を使用して再作成するだけで、opensslを再び満足させることができました。