この問題が発生しています:
Windows 10で見られるエラーChromeバージョン65.0.3325.181(公式ビルド)(64ビット):
接続はプライベートではありません
攻撃者が((mysite))から情報を盗もうとしている可能性があります(パスワード、メッセージ、クレジットカードなど)。詳細NET :: ERR_CERT_AUTHORITY_INVALID
このページは安全ではありません(HTTPSが壊れています)。
証明書-欠落
このサイトには有効な信頼できる証明書がありません(net :: ERR_CERT_AUTHORITY_INVALID)。
Firefox Quantum 59.0.2(64ビット)のコメント:
接続は安全ではありません
((mysite))の所有者が自分のWebサイトを不適切に設定しています。情報の盗難を防ぐため、FirefoxはこのWebサイトに接続していません。
接続は安全ではありません
発行者が不明なため、この証明書を検証できませんでした。
私はすでに試しました: https://stackoverflow.com/a/47755133/470749
vboxmanage --version
5.2.6r120293
vagrant -v
Vagrant 2.0.2
git branch
* (HEAD detached at v7.3.0)
vagrant box list
laravel/Homestead (virtualbox, 5.2.0)
vagrant box update
==> vboxHomestead: Checking for updates to 'laravel/Homestead'
vboxHomestead: Latest installed version: 5.2.0
vboxHomestead: Version constraints: >= 5.2.0
vboxHomestead: Provider: virtualbox
==> vboxHomestead: Box 'laravel/Homestead' (v5.2.0) is running the latest version.
これは、まだ release 7.1. (changelogに「カスタムルート証明書を使用してSSL証明書に署名する」)を使用していないことを意味するのでしょうか? SSL HTTPSの問題。
証明書を機能させるために今すぐ試すべき次のステップは何ですか?
残念ながら、Windowsで簡単に確認する方法がないため、ここではLinuxで実行されているVirtualBoxを使用します。 vagrant
をインストールしてから:
$ vagrant box add laravel/Homestead
$ git clone https://github.com/laravel/Homestead.git
$ cd Homestead
$ git checkout v7.3.0
$ bash init.sh
Homestead.yaml
を少し簡略化しました(デフォルトのままにすることをお勧めします)。
---
ip: "192.168.10.10"
provider: virtualbox
folders:
- map: /home/yuri/_/la1
to: /home/vagrant/code
sites:
- map: Homestead.test
to: /home/vagrant/code/public
次に:
$ mkdir -p ~/_/la1/public
$ echo '<?php echo "it works";' > ~/_/la1/public/index.php
$ vagrant up
$ vagrant ssh -c 'ls /etc/nginx/sites-enabled'
Homestead.test
$ vagrant ssh -c 'cat /etc/nginx/sites-enabled/Homestead.test'
server {
listen 80;
listen 443 ssl http2;
server_name .Homestead.test;
root "/home/vagrant/code/public";
...
ssl_certificate /etc/nginx/ssl/Homestead.test.crt;
ssl_certificate_key /etc/nginx/ssl/Homestead.test.key;
}
ご覧のとおり、/etc/nginx/ssl
に証明書があります:
$ vagrant ssh -c 'ls -1 /etc/nginx/ssl'
ca.Homestead.homestead.cnf
ca.Homestead.homestead.crt
ca.Homestead.homestead.key
ca.srl
Homestead.test.cnf
Homestead.test.crt
Homestead.test.csr
Homestead.test.key
システム全体でサーバー証明書を信頼しようとしましたが、うまくいきませんでした。 Firefoxの証明書マネージャーの[サーバー]タブに表示されましたが、Firefoxがそれを信頼することはありませんでした。おそらく例外を追加できたかもしれませんが、CA証明書を信頼することはより良い選択肢のように見えます。 CA証明書を信頼すると、ブラウザーは発行するすべての証明書を信頼します(新しいサイトがHomesteadで実行されます)。したがって、ここではCA証明書を使用します。
$ vagrant ssh -c 'cat /etc/nginx/ssl/ca.Homestead.homestead.crt' > ca.Homestead.homestead.crt
$ Sudo trust anchor ca.Homestead.homestead.crt
$ trust list | head -n 5
pkcs11:id=%4c%f9%25%11%e5%8d%ad%5c%2a%f3%63%b6%9e%53%c4%70%fa%90%4d%77;type=cert
type: certificate
label: Homestead homestead Root CA
trust: anchor
category: authority
次に、192.168.10.10 Homestead.test
を/etc/hosts
に追加し、Chromiumを再起動しました。
追伸Chromium 65.0.3325.162とFirefox 59.0を実行しています。
どうやら、Windowsにはtrust
ユーティリティがありません。 Windowsでは、 2つのストア :ローカルマシンと現在のユーザー証明書ストアがあります。 Local Machine Certificate Storeを使用する意味はありません。現在のユーザーだけのために機能しているからです。次に、サブストアがあります。信頼できるルート認証局と中間認証局ストアの2つの事前定義済みサービスが最も重要です。一般的にコマンドラインでは root and CA と呼ばれます。
Chromeの証明書マネージャーにアクセスするには、chrome:// settings /?search = Manage%20certificatesをフォローし、[証明書の管理]をクリックします。最も興味深いのは、信頼されたルート証明機関および中間証明機関タブです。
証明書を管理する1つの方法は、 コマンドライン を使用することです。
>rem list Current User > Trusted Root Certification Authorities store
>certutil.exe -store -user root
>rem list Local Machine > Intermediate Certification Authorities store
>certutil.exe -store -enterprise CA
>rem GUI version of -store command
>certutil.exe -viewstore -user CA
>rem add certificate to Current User > Trusted Root Certification Authorities store
>certutil.exe -addstore -user root path\to\file.crt
>rem delete certificate from Current User > Trusted Root Certification Authorities store by serial number
>certutil.exe -delstore -user root 03259fa1
>rem GUI version of -delstore command
>certutil.exe -viewdelstore -user CA
結果は次のとおりです(ローカルマシンと現在のユーザー証明書ストアの両方):
root
Homestead.test.crt
error
ca.Homestead.homestead.crt
appears in Trusted Root Certification Authorities tab
CA
Homestead.test.crt
doesn't work, appears in Other People tab
ca.Homestead.homestead.crt
doesn't work, appears in Intermediate Certification Authorities tab
その他のオプションは、エクスプローラーで証明書をダブルクリックする、Chromeの証明書マネージャーから証明書をインポートする、証明書MMCスナップイン(certmgr.msc
を実行)]、または CertMgr.exe
。
grep
がインストールされている場合、証明書がどこにあるかをすばやく確認する方法は次のとおりです。
>certutil.exe -store -user root | grep "Homestead\|^root\|^CA" ^
& certutil.exe -store -user CA | grep "Homestead\|^root\|^CA" ^
& certutil.exe -store -enterprise root | grep "Homestead\|^root\|^CA" ^
& certutil.exe -store -enterprise CA | grep "Homestead\|^root\|^CA"
したがって、CA証明書を[現在のユーザー]> [信頼されたルート証明機関]ストアにインストールするのが最良の選択肢のようです。そして、ブラウザの再起動 を忘れないように確認してください。
Vagrantfile
では、 scripts/Homestead.rb
が必要です。次に、 Homestead.configure
を実行します。これがメソッドであり、vagrant
を設定して必要な準備をすべて行います。
そこで see :
if settings.include? 'sites'
settings["sites"].each do |site|
# Create SSL certificate
config.vm.provision "Shell" do |s|
s.name = "Creating Certificate: " + site["map"]
s.path = scriptDir + "/create-certificate.sh"
s.args = [site["map"]]
end
...
config.vm.provision "Shell" do |s|
...
s.path = scriptDir + "/serve-#{type}.sh"
...
end
...
end
end
したがって、これらの twofiles はそれぞれ証明書とnginx
configを作成します。
問題は、発行者が不明であることです。エラーで述べたように、 「このサイトには有効な信頼できる証明書がありません」または「このサイトには有効な信頼できる証明書がありません(net :: ERR_CERT_AUTHORITY_INVALID)」
最初にこのエラーが発生する理由を理解しましょう。ブラウザには、信頼できる認証局のリストがあります。このリストは、さまざまなブラウザーの設定/設定セクションから確認できます。これらの機関のいずれかによって証明書が発行されていない場合、上記のエラーが発生します。
LOCALHOSTで修正する2つの解決策が考えられます。
OR
問題が解決することを願っています。
信頼できるCAストアに証明書を追加する必要があるようです。私はそれを自動決定させましたが、それはうまくいきませんでした。また、個人用ストアに追加しましたが、機能しませんでした。
(Windowsを使用している場合)手順は、Windowsキーを押して「インターネットオプション」と入力し、インターネットオプションを適切に開くことです。次に、「コンテンツ」タブをクリックします。ここから、中央のボタンである「証明書」をクリックします。
次に、[インポートして次へ]をクリックします。証明書を保存した場所を参照します。
次に、[すべての証明書を次のストアに配置する]をクリックし、[参照]をクリックして、[信頼されたルート証明機関]を選択します。
そして、あなたとすべてのジャズを確認して警告するように求めるポップアップが表示されるはずです。
そして、ブラウザを再起動してください。 On chromeこれをURLバーに入力できます:chrome://restart
。ブームこれがお役に立てば幸いです!