/usr/local/ssl/ssl/openssl.cnf の内容を OpenSSL の設定ファイルを同様に修正します。
次に先程作成したサーバの署名要求書に認証局が署名し、サーバの証明書を作成します。
# cd /usr/local/ssl/CA | |
# /usr/local/ssl/bin/openssl ca -in /usr/local/ssl/SERVER/csr.pem -keyfile private/cakey.pem -cert cacert.pem -out /usr/local/ssl/SERVER/cert.pem -config /usr/local/ssl/openssl.cnf | |
Using configuration from /usr/local/ssl/openssl.cnf | |
Enter pass phrase for private/cakey.pem: | 【証明書のパスフレーズを入力】 |
Check that the request matches the signature | |
Signature ok | |
... (略) ... | |
Certificate is to be certified until Nov 17 05:08:00 2009 GMT (365 days) | |
Sign the certificate? [y/n]:y | |
1 out of 1 certificate requests certified, commit? [y/n]y | |
Write out database with 1 new entries | |
Data Base Updated |
これで自己認証局に署名されたサーバ証明書の cert.pem が作成されます。
以前発行した証明書要求が失効されていない状態で証明書発行を行なうと以下のエラーメッセージが出力される。
その場合は証明書要求の失効処理を行う必要がある。
# cd /usr/local/ssl/CA | |
# /usr/local/ssl/bin/openssl ca -in /usr/local/ssl/SERVER/csr.pem -keyfile private/cakey.pem -cert cacert.pem -out /usr/local/ssl/SERVER/cert.pem -config /usr/local/ssl/openssl.cnf | |
Using configuration from /usr/local/ssl/openssl.cnf | |
... (略) ... | |
failed to update database | |
TXT_DB error number 2 |
# openssl ca -revoke newcerts/00.pem | |
Using configuration from /usr/local/ssl/openssl.cnf | |
Enter pass phrase for /usr/.../private/cakey.pem: | 【証明書のパスフレーズを入力】 |
Revoking Certificate 00. | |
Data Base Updated |
それでもうまくいかない場合にはデータベースファイルである index.txt を直接編集しかない。