ローカルマシンで作成されたCAによって署名されたopenssl証明書を作成しました。
この証明書は削除されたので、もう持っていません。
Opensslでは許可されず、エラーが生成されるため、同じcommonNameで別の証明書を作成することはできません。
failed to update database
TXT_DB error number 2
証明書を失効させて、同じcommonNameを持つ別の証明書を作成するにはどうすればよいですか?
( Nilesh's answer に基づく)デフォルトの構成では、opensslはすべての署名済み証明書のコピーをインデックス番号で命名された/etc/ssl/newcerts
に保持します。したがって、grep /etc/ssl/index.txt
を使用して、失効させるキーのシリアル番号を取得します。 1013、次のコマンドを実行します。
openssl ca -revoke /etc/ssl/newcerts/1013.pem #replacing the serial number
Nileshの回答に記載されている-keyfile
と-cert
は、openssl.cnf
設定から逸脱する場合にのみ必要です。
または、/etc/ssl/index.txt.attr
を変更して次の行を含めることもできます。
unique_subject = no
同じ共通名を持つ複数の証明書を許可します。ただし、元の証明書を公開している場合は、OSCPサーバーを実行していないか、CRLを提供していない場合でも、古い証明書を取り消すことをお勧めします。
私はこれを試していませんが、このようなものが必要なようです。
openssl ca -revoke bad_crt_file -keyfile ca_key -cert ca_crt
opensslは、newcertsディレクトリに証明書のコピーを自動的に保存します。証明書を取得するためにチェックすることをお勧めします。残念ながら、取り消すには証明書が必要です。詳細については、以下を参照してください。 http://www.mad-hacking.net/documentation/linux/security/ssl-tls/revoking-certificate.xml