- PR -

Openssl 証明書の有効期限について

1
投稿者投稿内容
hiro
会議室デビュー日: 2006/01/07
投稿数: 19
投稿日時: 2006-07-12 19:32
はじめまして。
Openssl初心者です。

現在、WebサーバのSSL化を検討しています。
Opensslの有効期限設定についてよくわからなかったので、ご教授頂きたく、
投稿致しました。

証明書の有効期限を変更するには、『openssl.cnf』ファイル内の
「default_days」を変更すれば証明書の有効期限が変えられることは
調査の結果判明しました。
今回、検証のため、この「default_days」を"1"としたのですが、
証明書の有効期限が30日後となっていました。
『openssl.cnf』内の「default_crl_days」が30となっていたので、
「default_crl_days」となんらかの関係があると思うのですが、
やはり、これが原因でしょうか?
また、「default_days」と「default_crl_days」はどう違うのでしょうか?
どなたかご教授をお願いします。

openssl.cnfの設定
-----------------------
default_days = 1
default_crl_days = 30
-----------------------
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2006-07-13 11:20
証明書はどのように作成されましたか?

$ openssl req -new -x509 ...

で作成されたのであれば、openssl.cnf ファイルの default_days の設定は反映されず、デフォルト値の 30 が適用されます (openssl-0.9.7j/apps/req.c line:155)。なので、明示的に指定したいのであれば、-days 1 とする必要があります。

$ openssl ca ...

で作成されたのであれば、設定ファイルの default_days の設定が有効になるかと思います (openssl-0.9.7j/apps/ca.c line:1120)。

default_crl_days は

$ openssl ca -gencrl ...

コマンドを実行する際に使用されます (openssl-0.9.7j/apps/ca.c line:1397)。証明書失効リスト (CRL) の有効期限のデフォルト値になります。
hiro
会議室デビュー日: 2006/01/07
投稿数: 19
投稿日時: 2006-07-13 11:55
返信、ありがとうございます。

CA証明書の作成には、

 ・CA証明書発行要求CSRの作成
 $ openssl req -new -key private/ca.key -out ca.csr
 ・CA証明書への自己署名と発行
 $ openssl x509 -req -in ca.csr -signkey private/ca.key -out ca.crt

のコマンドを使用しました。

サーバ証明書の作成には、

 ・サーバ証明書発行要求CSRの作成
 $ openssl req -new -key server.key -out server.csr
 ・CAが署名
 $ openssl ca -out server.crt -infiles server.csr

のコマンドを使用しました。

もしかして、CA証明書の有効期限はopenssl.cnf ファイルの default_days の設定は反映されず、デフォルト値の 30 が適用されてしまっている。
サーバ証明書の有効期限はopenssl.cnf ファイルの default_days の設定が反映されており、 default_days の 1 が適用されている。
ということでしょうか?
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2006-07-13 15:25
引用:

hiroさんの書き込み (2006-07-13 11:55) より:

もしかして、CA証明書の有効期限はopenssl.cnf ファイルの default_days の設定は反映されず、デフォルト値の 30 が適用されてしまっている。
サーバ証明書の有効期限はopenssl.cnf ファイルの default_days の設定が反映されており、 default_days の 1 が適用されている。
ということでしょうか?



そのようになります。実際にどのようになるかについては、-days オプションをつけた場合とつけていない場合を比較すれば分かるかと思います。

ちなみに、

$ openssl x509 -req -signkey

コマンドを使って、ルート証明書を作成した場合の有効期限のデフォルト値については記述しませんでしたが、同じく 30 になっています (openssl-0.9.7j/apps/x509.c line:179)。
hiro
会議室デビュー日: 2006/01/07
投稿数: 19
投稿日時: 2006-07-13 18:18
なるほど。。

結局は default_crl_days は関係なかったわけですね。
-days オプションを付けて実行してみます。

ご教授ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)