私は自分のCAを使用して、インフラストラクチャ内のサービスのSSL証明書を作成しています。これらの証明書は、私のCAによって直接署名されています。
これは弱い戦略である可能性が高いと思います。証明書が危険にさらされるような場合は、1つのCAから新しい証明書を作成する必要があるからです。 CAが危険にさらされると、すべてのサービスを更新する必要があるため、ゲームオーバーになります。
だから私の理解は、自分自身を保護し、懸念を薄める一般的な方法は、証明書のチェーンを作成し、チェーンの最後でサービス証明書に署名することです。新しい署名証明書を作成するために使用できます。
私はそれを正しく理解していますか?
それから私がしたいのは、自分の証明書チェーンを作成することです。
TLS/SSL全体はまだ少し漠然としていますが、ご覧のとおり、最初にopenssl genrsa
でマスターキーを作成し、次にopenssl req -x509 -new
でそのキーを使用して自己署名証明書を作成しますCAを作成します。
次に、openssl req -new -key' and sign the request with my CA with
openssl x509 -req -CA ca.pem ... `を使用して、新しい鍵と証明書署名リクエストを作成できます。
では、証明書チェーンを作成するには、何をする必要があるのでしょうか。
新しいキーと新しい署名リクエストを作成し、CAではなく最後に署名された証明書で署名するだけですか?そして、保護レベルが十分になるまで、最低レベルの証明書ですべての証明書/キーペアに署名しますか?
これは混乱を招くので、正しく理解したいと思います;-)
私がTLSについてのみ見つけたものはすべて非常に複雑ですが、「単純な」チュートリアルはあいまいです。 opensslのマンページを調べていますが、プロセスの簡単な説明をしたいので、各ステップを正しく行うようにします。
あなたの洞察をありがとう。
ルートCAで中間CA要求に署名します。この署名認証局を使用すると、ルートCAをオフラインのままにすることができます。
ルートCAは引き続き信頼され、必要に応じて置換署名CAを発行できます。特に、すべてのクライアントを制御していない場合、課題は証明書の失効を発行することになります。
手動で行うと、プロセスが多少複雑になります。ガイドは https://jamielinux.com/docs/openssl-certificate-authority/ を参照してください。