web-dev-qa-db-ja.com

ローカルホストの自己署名証明書を作成するにはどうすればよいですか?

localhostでhttps/SSLをどのように使用しますか? で詳細に説明した手順を実行しましたが、これにより、マシン名の自己署名証明書が設定され、 https :// localhost IE警告を受け取ります。

この警告を回避するために、「localhost」の自己署名証明書を作成する方法はありますか?

102
chris

この投稿はWindows向けにタグ付けされた投稿ですが、OS Xの関連する質問であり、他の場所での回答は見ていません。 OS Xでlocalhostの自己署名証明書を作成する手順は次のとおりです。

# Use 'localhost' for the 'Common name'
openssl req -x509 -sha256 -nodes -newkey rsa:2048 -days 365 -keyout localhost.key -out localhost.crt

# Add the cert to your keychain
open localhost.crt

Keychain Accessで、この新しいローカルホスト証明書をダブルクリックします。 [信頼する]の横にある矢印を展開し、[常に信頼する]を選択します。 ChromeとSafariはこの証明書を信頼するようになります。たとえば、node.jsでこの証明書を使用する場合:

var options = {
    key: fs.readFileSync('/path/to/localhost.key').toString(),
    cert: fs.readFileSync('/path/to/localhost.crt').toString(),
    ciphers: 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES256-SHA384',
    honorCipherOrder: true,
    secureProtocol: 'TLSv1_2_method'
};

var server = require('https').createServer(options, app);
71
Ben Flynn

IISを使用して自己署名証明書を作成するという提案に従ったときに、この問題にかなりの時間を費やした後、発行先と発行元が正しくないことがわかりました。 SelfSSL.exeは、この問題を解決する鍵でした。次のWebサイトは、自己署名証明書を作成するための段階的なアプローチを提供するだけでなく、発行先および発行元の問題も解決しました。 ここ は、自己署名証明書を作成するための最良のソリューションです。ビデオ形式で同じチュートリアルをご覧になりたい場合 ここをクリック

SelfSSLの使用例は次のようになります。

SelfSSL /N:CN=YourWebsite.com/V:1000/S:2

SelfSSL /?は、パラメーターのリストと説明を提供します。

44

PowerShellを使用して、new-selfsignedcertificateコマンドレットで自己署名証明書を生成できます。

New-SelfSignedCertificate -DnsName "localhost" -CertStoreLocation "cert:\LocalMachine\My"

注:makecert.exeは非推奨です。

コマンドレットリファレンス: https://technet.Microsoft.com/itpro/powershell/windows/pkiclient/new-selfsignedcertificate

43
Auri Rahimzadeh

この質問にはIISのタグが付けられており、信頼できる証明書を取得する方法について良い答えが見つからないため、それについて2セントを差し上げます。

最初に、管理者としてPowerShellで@AuriRahimzadehのコマンドを使用します。

New-SelfSignedCertificate -DnsName "localhost" -CertStoreLocation "cert:\LocalMachine\My"

これは問題ありませんが、証明書は信頼されておらず、次のエラーが発生します。 Trusted Root Certification Authoritiesにインストールされていないためです。

enter image description here

mmc.exeを起動してこれを解決してください。

次に移動します:

ファイル->スナップインの追加または削除->証明書->追加->コンピューターアカウント->ローカルコンピューター

Personalフォルダーを展開すると、localhost証明書が表示されます。

enter image description here

これをTrusted Root Certification Authorities - Certificatesにコピーします

最後のステップは、Internet Information Services (IIS) Managerまたは単にinetmgr.exeを開くことです。そこからサイトにアクセスして、Bindings...およびAdd...またはEdit...を選択します。 httpsを設定し、ドロップダウンから証明書を選択します。

enter image description here

これで証明書が信頼されました:

enter image description here

24
Ogglas

http://localhost/mysiteを実行できる自己署名証明書を作成しようとしている場合、それを作成する方法を次に示します

makecert -r -n "CN=localhost" -b 01/01/2000 -e 01/01/2099 -eku 1.3.6.1.5.5.7.3.1 -sv localhost.pvk localhost.cer
cert2spc localhost.cer localhost.spc
pvk2pfx -pvk localhost.pvk -spc localhost.spc -pfx localhost.pfx

から http://social.msdn.Microsoft.com/Forums/en-US/wcf/thread/32bc5a61-1f7b-4545-a514-a11652f112

22
David Burela

自己署名証明書を作成するためのPluralsightのツールをお勧めします: http://blog.pluralsight.com/selfcert-create-a-self-signed-certificate-interactively-gui-or-programmatically-in-net

証明書を.pfxとして作成し、IISにインポートします。そして、信頼できるルート証明機関として追加します。

8
cederlof

はいといいえ。証明書が信頼できる認証局によって署名されていないため、自己署名証明書はその警告メッセージになります。ローカルマシンでこの警告を削除することを検討できるオプションがいくつかあります。詳細については、この質問に対する最高ランクの回答を参照してください。

Internet Explorer 8に自己署名証明書を許可させるにはどうすればよいですか?

お役に立てれば!


編集:

申し訳ありませんが、私はあなたがローカルホストに制約されていることを最初は知りませんでした。以下のリンクの指示に従って、「正しい共通名を持つ自己署名証明書を生成する」ことができます。

http://www.sslshopper.com/article-how-to-create-a-self-signed-certificate-in-iis-7.html

0
Phil Klein