5

CA証明書とサーバー証明書を生成するようなSSL証明書を生成する便利なスクリプトを持っている人はいますか? さらに重要なことは、CA 証明書を (Windows システムの) 信頼されたルート リストにインポートできるように作成して、ブラウザがサイトを信頼できないとフラグ付けしないようにすることです。

次のスクリプトを使用してそれを実行しましたが、ブラウザーに証明書を信頼させることができません。ここで何か助けていただければ幸いです。

# Generate a private key
openssl genrsa -des3 -out server.key 1024

# Generate a CSR (Certificate Signing Request)
openssl req -new -key server.key -out server.csr

# Remove Passphrase from Key
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key

# Generating a Self-Signed Certificate
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

よろしく、カシャップ

4

2 に答える 2

7

スクリプトは、自己署名証明書という 1 つの証明書のみを生成しています。通常、自己署名証明書はルート証明書と呼ばれます。これは CA 証明書として使用できますが、多くの場合、中間 CA 証明書が作成され、ルート秘密鍵によって署名されます。この中間 CA 証明書は、サーバー証明書に署名するために使用されます。したがって、次の階層があります。

ルート -> CA -> サーバー

CA およびルート証明書は、信頼できる証明書リストに入れることができます。次に、そのリストを信頼するブラウザは、CA またはルート エンティティによって署名された証明書も信頼します。

この階層を持つ必要はありません...ルート証明書を CA として使用し、中間証明書をスキップできます。ルート/サーバー証明書として 1 つの自己署名証明書を使用することもできます。この記事 (自己署名証明書の信頼)を参照してください。

ただし、この階層があると仮定すると、必要なキーと証明書を生成するための OpenSSL コマンドがいくつかあります。

# 1. Create Root private key
openssl genrsa -out root.key 2048

# 2. Create self-signed Root certificate
openssl req -new -key root.key -x509 -out root.crt -days 5000 -sha256

# 3. Create CA private key
openssl genrsa -out ca.key 2048

# 4. Create CA CSR
openssl req -new -key ca.key -out ca.csr -days 5000

# 5. Sign and create CA certificate
openssl x509 -req -in ca.csr -CA root.crt -CAkey root.key -out ca.crt -set_serial 2 -days 5000 -sha256

# 6. Create Server private key
openssl genrsa -out server.key 2048

# 7. Create Server CSR
openssl req -new -key server.key -out server.csr -days 5000

# 8. Sign and create Server certificate
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -out server.crt -set_serial 3 -days 5000 -sha256

キー ビット、有効日数、シリアル番号を変更し、必要に応じて V3 拡張機能を追加します。

また、ブラウザーごとに、信頼するリストが異なることにも注意してください。Chrome と IE は、Windows の既定のリストを使用します。Firefox には独自のリストがあります。

于 2013-06-05T20:55:58.637 に答える
0

信頼できる CA 証明書をお持ちですか? ブラウザによって常に信頼されていないと見なされる自己署名証明書を生成しています。

于 2013-06-05T08:55:02.530 に答える