OpenSSLには、CSRの署名が必要な理由があります。CSRの有効性を保証するために、添付された公開鍵の実際の秘密鍵の所有者から要求されたという事実です。まったく問題ありませんが、理論的には、CAは他の方法で有効性を保証できます。特に、CSRが転送中でない場合に有効です。これは、自己署名証明書の場合です。ローカルで発行され、使用されている会社の証明書。私の場合、秘密鍵なしで証明書を作成したいと考えています。証明書はスマートカードで生成され、エクスポートすることはできないためです。また、カードはキーの生成中にCSRを生成しません。
OpenSSLで唯一の公開鍵から証明書を作成するオプションが見つかりません。理論的にはそれは非常によく可能です。
OpenSSLにはそのためのオプションはありますか?他の手段は? X509証明書を作成する必要があります。
ありがとう
AJ Henderson が示唆するように、完全な解決策はOpenPGPカードにCSRに署名させることです。 gpgsm
CLIツールで可能であることがわかりました。 GnuPG-userメーリングリストのDamien Goutte-Gattatが質問に回答しました:
カードに保存されている秘密鍵で署名されたX509 CSRを作成する方法はありますか?
はい、そのためにgpgsm(1)ツールを使用できます。
カードがカードリーダーに挿入されていることを確認してから、
$ gpgsm --armor --output mycsr.pem --gen-key
必要なキーの種類を選択するように求められたら、「
Existing key from card
"(カードがリーダーに挿入されていることを確認してください。)使用するカードキー(署名キー、暗号化キー、または認証キー)と将来の証明書の使用目的を選択します。手順の最後に、CSRに署名するためにPINの入力を求められます。
Scuteのドキュメント には完全な例があります(上記のコマンドの代わりに、廃止予定のヘルパースクリプトであるgpgsm-gencert.shを使用していますが、手順はほとんど同じです)。
したがって、CSRを回避する必要はありません。GnuPGで有効なX509証明書を作成できます。
はい、あなたはこの事実を回避することができます。