2012-08-14 15 views
16

は、Linuxで、OpenSSLのコマンドを使用して、エンドエンティティ証明書に署名した:有効期限が1日未満の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コマンドでstartdateと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

答えがあなたの問題を解決したかどうかはいの場合は、この質問に「回答済み」とマークするようにしてください。 –

答えて

0

それともここでは、私は

が、私は私の証明書は、テスト

として10分に期限切れにしたいと働くことを発見したもう一つの方法ですが現在の日付はfeb 17th
現在の時刻は4:40 pm

月16日私は10分に私のシステムクロックを設定
::16:50

私は1日で期限切れにopenssl x509を使って自分の証明書を作成し、実際の手段

まず私は-1日の私のシステムの日付を設定します私は、実際の日付と時刻に私のシステムクロックと時間をリセットし、今日Feb 17th

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

に期限切れと出来上がり、あなたは10分で期限切れしようとしている証明書を持っています!

明らかに物事を行う本当の方法ではなく、デベロッパー用の自己署名入り証明書を作成するのに素敵で簡単です。

+2

です。クロックの移動はひどい習慣です。あなたのスクリプトはサーバー上で動作すると思ってください。 – mafonya

19

x509コマンドの-startdateおよび-enddateオプションは表示オプションです。証明書に署名する代わりに、caコマンドを使用して特定の開始時刻と終了時刻を設定することができます。

このような何か試してみてください:

openssl ca -config /etc/openssl.cnf -policy policy_anything -out clientcert.pem -startdate 120815080000Z -enddate 120815090000Z -cert ca.pem -keyfile cakey.pem -infiles clientcert.csr 
+0

開始日と終了日を過去の値に設定することができ、それも同様に機能しました。 – arcain

+0

caのマニュアルページから、日付の形式はYYMMDDHHMMSSZ – user674669

3

try gossl証明書有効期限の開始日と期間をさまざまな時間単位で指定できます。

私はコマンドラインopensslの制限を克服するためにそれを開発しました。 このツールは、軽量で、MITライセンスのもとで、依存関係なしにGoで実装されています。

関連する問題