ITよろづや

ITの参考になる情報を備忘録代わりに残していきます

Linux 有効期限が1日未満の有効期限切れのopenssl証明書を生成する

検証などで使うことがあるかもしれませんが、Linux 有効期限が1日未満の有効期限切れのopenssl証明書を生成する方法に関する情報を探していて、以下の情報を見付けました。

 

linux - How to generate openssl certificate with expiry less than one day? - Stack Overflow

 

以下は質問内容の抜粋です。

 

Linuxで、以下に示すように、opensslコマンドを使用してCA署名付きエンドエンティティ証明書を作成しようとしています。

 

# openssl genrsa -des3 -out clientkey.pem 2048
# openssl req -new -key clientkey.pem -out clientcert.csr
# cp clientkey.pem clientkey.pem.org
# openssl rsa -in clientkey.pem.org -out clientkey.pem
# openssl x509 -req -days 1 -in clientcert.csr -out clientcert.pem -CA cacert.pem -CAkey cakey.pem -CAcreateserial

 

有効期限を日ではなく時間で指定することはできますか?いくつかのテストのために、たとえば1時間の有効期限で証明書を生成する必要があります。

 

opensslコマンドは、開始日と終了日を指定するいくつかのオプションをサポートしているようですが、その使用方法がわかりません。(enddateが日付と時刻の指定をサポートする可能性があると想定しています)。

 

#openssl x509 -req -startdate 120814050000Z -enddate 120814060000Z -in clientcert.csr -out clientcert.pem -CA cacert.pem -CAkey cakey.pem -CAcreateserial

unknown option 120814050000Z
usage: x509 args
.
.
-startdate - notBefore field
-enddate - notAfter field
.
.
-days arg - How long till expiry of a signed certificate - def 30 days

 

 

私は1日で期限切れになることを使用して証明書を作成します。これは、実際には今日で期限切れになることを意味します

 

openssl x509 -req -days 1 -in clientcert.csr -signkey cert.key -out ssl.crt

 

次に、システムの時計と時刻を実際の日付と時刻にリセットします。10分で有効期限が切れる証明書があります。

 

明らかに、物事を行うための実際の方法ではありませんが、開発者が使用する自己署名証明書を作成するのに便利で簡単です。

 

 

-daysオプションを0に設定できます。

openssl x509 -req -days 0 -in clientcert.csr -signkey cert.key -out ssl.crt


これにより、現在の時刻notBeforeとnotAfter同じである証明書が作成されます(つまり、証明書はすぐに期限切れになります)。

 

と一部引用ですが、実機で試していないので、別途、確認してみたいと思います。