web-dev-qa-db-ja.com

OpenSSL構成ファイルで証明書の有効性を指定するにはどうすればよいですか?

私はOpenSSLにかなり慣れていないので、OpenSSLを使用して1時間だけ有効な証明書を指定しようとしています。 openssl caおよび-startdateオプションを使用して-enddateでこれを行うことに成功しましたが、openssl reqで使用するために構成ファイルに有効性を設定できるかどうか疑問に思いましたか?もしそうなら、あなたは例を提供できますか?

次のような構文を使用してみました:

privateKeyUsagePeriod = ASN1:SEQUENCE:privateKeyUsagePeriod

[privateKeyUsagePeriod]

notBefore = IMPLICIT:0,GENERALIZEDTIME:20170501000000Z

notAfter = IMPLICIT:0,GENERALIZEDTIME:22910501000000Z

この構文は、有効性のために機能していないようです。よろしくお願いします。

3
Michael Tingey

まず、PrivateKeyUsagePeriodの例が間違っています。 notAfterには、0ではなく1のタグを付ける必要があります。PKUPを調べるソフトウェアは実際にはないため、このエラーは問題にならない可能性があります。

より実質的には、PKUPは拡張機能であり、X509v3拡張機能は、コードを変更せずに将来の追加をサポートするために、基本的にすべてのASN.1タイプを許可するOpenSSLを必要とするOID +可変構造を使用します。有効性は(v1からの)固定部分の一部であり、特定のコードによって実装され、とにかく同じタイプではありません(タグ付けされていない、オプションではなく、CHOICE {UTCTime、GeneralizedTime})。

openssl caの場合、コマンドラインオプションの代わりにdefault_startdatedefault_enddateで名前が付けられたものではない)で名前が付けられた設定ファイルセクションでdefault_cax509_extensionsを使用できます。システムのマニュアルページを参照してください またはWeb上で 「構成ファイルのオプション」の下。

他のコマンドライン操作については、現在これをサポートするコードはありません。ライブラリを呼び出す独自のアプリを作成するか、OpenSSLがオープンソースであるため、コピーを作成して変更するだけです。

2