web-dev-qa-db-ja.com

自己署名証明書を受け入れるブラウザー

次のような自己署名証明書を作成しました。

#!/bin/bash

EXPIRE=3650

if [ $# -gt 1 ]; then

  EXPIRE=$2  

fi

mkdir -p $1
cd $1

openssl genrsa 2048 > $1.key
openssl req -new -x509 -nodes -sha1 -days $EXPIRE -key $1.key > $1.cert
openssl x509 -noout -fingerprint -text < $1.cert > $1.info

cat $1.cert $1.key > $1.pem
chmod 400 $1.key $1.pem

そして、この証明書を使用するようにApache vhostを設定しました。

これで、ブラウザにすべてが正常であることを伝えるために、クライアントストレージ(ChromeまたはFirefox)にどのファイルをインポートする必要があるのでしょうか。

1
Pascal

新しい回答コメントに続き、投稿を再度読む:

自己署名証明書の生成に使用した秘密キーを最初に作成したことがわかります。キーワード-newを使用しました。これは、この生成プロセス中に CSR が作成されることを意味します。

どのファイルをどこに保存するかを尋ねました。実際には、以下を設定する必要があります。

  • Server:秘密鍵、証明書およびCSRファイルサーバ。したがって、あなたの場合、ファイル1.pemにはすでに秘密鍵と証明書が含まれています。
  • Client:ブラウザに証明書のみをインストールします。

古い回答(さらに有用な情報のために保持):

残念なことに、あなたは間違った道にあり、あなたのウェブサイトをもう一度読んで訪れる人は、証明書を発行した認証局(CA)が信頼されていないという彼/彼女のクライアント(ブラウザ)の警告を読むので、続けるのは無意味です。役職:

証明書は自己署名されているため、信頼できると思われるかもしれませんが、最初に中央機関を作成して信頼する必要があります。

自己署名証明書の秘密キーを受け入れてロードすることをユーザーに依存しないでください。これは、Webサイトのオーディエンスを引き付ける障害となります。

AWSやOVHなどのほとんどのホスティングプロバイダーは、3か月ごとに更新可能な(セキュリティなどの理由で) Let's Encrypt と呼ばれる無料で効果的なSSL自己署名証明書を生成します。 )。ホスティングプロバイダーがこのオプションを提供していない場合(提供するホスティングプロバイダーの list を確認してください)、シェルアクセスの有無にかかわらず、Let's Encrypt SSL証明書もインストールできます。サーバ。

2