web-dev-qa-db-ja.com

自分のCAからSSL証明書チェーンを作成する方法

私は自分の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 withopenssl x509 -req -CA ca.pem ... `を使用して、新しい鍵と証明書署名リクエストを作成できます。

では、証明書チェーンを作成するには、何をする必要があるのでしょうか。

新しいキーと新しい署名リクエストを作成し、CAではなく最後に署名された証明書で署名するだけですか?そして、保護レベルが十分になるまで、最低レベルの証明書ですべての証明書/キーペアに署名しますか?

これは混乱を招くので、正しく理解したいと思います;-)

私がTLSについてのみ見つけたものはすべて非常に複雑ですが、「単純な」チュートリアルはあいまいです。 opensslのマンページを調べていますが、プロセスの簡単な説明をしたいので、各ステップを正しく行うようにします。

あなたの洞察をありがとう。

5
MrE

ルートCAで中間CA要求に署名します。この署名認証局を使用すると、ルートCAをオフラインのままにすることができます。

ルートCAは引き続き信頼され、必要に応じて置換署名CAを発行できます。特に、すべてのクライアントを制御していない場合、課題は証明書の失効を発行することになります。

手動で行うと、プロセスが多少複雑になります。ガイドは https://jamielinux.com/docs/openssl-certificate-authority/ を参照してください。

5
John Mahowald