Je reçois ce problème:
L'erreur que je vois dans Windows 10 Chrome version 65.0.3325.181 (version officielle) (64 bits) est la suivante:
Votre connexion n'est pas privée
Les attaquants pourraient essayer de voler votre informations de ((mysite))) (par exemple, mots de passe, messages ou cartes de crédit). En savoir plus NET :: ERR_CERT_AUTHORITY_INVALID
Cette page n'est pas sécurisée (HTTPS endommagé).
Certificat - manquant
Ce il manque un certificat valide et de confiance au site (net :: ERR_CERT_AUTHORITY_INVALID).
Firefox Quantum 59.0.2 (64 bits) indique:
Votre connexion n'est pas sécurisée
Le propriétaire de ((mysite)) a configuré son site web incorrectement. Pour protéger vos informations contre le vol, Firefox dispose de non connecté à ce site.
La connexion n'est pas sécurisée
Impossible de vérifier ce certificat car le l'émetteur est inconnu.
J'ai déjà essayé: 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.
Je me demande si cela signifie que je n'utilise pas encore la version 7.1.0 (qui a dans son journal des modifications "signer des certificats SSL avec un certificat racine personnalisé"), et je me demande si c'est pourquoi j'ai ce problème SSL HTTPS .
Quelles sont les prochaines étapes que je devrais essayer maintenant pour que le certificat fonctionne?
Malheureusement, je n'ai pas de moyen facile de le vérifier sous Windows, je vais donc utiliser VirtualBox sous Linux ici. Installez vagrant
, puis:
$ vagrant box add laravel/Homestead
$ git clone https://github.com/laravel/Homestead.git
$ cd Homestead
$ git checkout v7.3.0
$ bash init.sh
J'ai un peu simplifié Homestead.yaml
(vous préférerez peut-être rester avec les valeurs par défaut):
---
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
Ensuite:
$ 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;
}
Comme nous pouvons le voir, il contient les certificats dans /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
J'ai essayé de faire confiance au certificat de serveur dans tout le système, mais cela n'a pas fonctionné. Il apparaissait sur l'onglet Serveurs dans le gestionnaire de certificats de Firefox, mais cela ne faisait pas confiance à Firefox. J'aurais probablement pu ajouter une exception, mais faire confiance aux certificats de l'autorité de certification semble être une meilleure option. L'approbation du certificat de l'autorité de certification permet au navigateur d'approuver tout certificat émis (nouveaux sites sous Homestead). Nous allons donc aller avec certificat CA ici:
$ 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
Ensuite, j'ai ajouté 192.168.10.10 Homestead.test
à /etc/hosts
, redémarré Chromium, et cela a fonctionné:
P.S. J'utilise Chromium 65.0.3325.162 et Firefox 59.0.
Apparemment, Windows n'a pas l'utilitaire trust
. Sous Windows, on a deux magasins : Magasins de l'ordinateur local et du certificat d'utilisateur actuel. Inutile d'utiliser Local Store Certificate Store, car nous le faisons fonctionner uniquement pour notre utilisateur actuel. Ensuite, il y a des sous-magasins. Deux de ces domaines étant les plus intéressants: les autorités de certification racines de confiance et les magasins des autorités de certification intermédiaires. Communément appelé en ligne de commande root et CA .
Pour accéder au gestionnaire de certificats de Chrome, procédez comme suit: chrome: // paramètres /? Search = Gérer% 20 certificats, puis cliquez sur Gérer les certificats. Les onglets Autorités de certification racines de confiance et Autorités de certification intermédiaires sont particulièrement intéressants.
Un moyen de gérer les certificats est via ligne de commande :
>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
Les résultats sont les suivants (pour les magasins de certificats d'ordinateur local et d'utilisateur actuel):
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
Vous pouvez également cliquer deux fois sur un certificat dans l'Explorateur, importer des certificats à partir du gestionnaire de certificats de Chrome, utiliser le composant logiciel enfichable Certificats MMC (exécuter certmgr.msc
) ou utiliser CertMgr.exe
.
Pour ceux qui ont installé grep
, voici comment vérifier rapidement où se trouve le certificat:
>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"
Ainsi, l'installation du certificat de l'autorité de certification dans le magasin Utilisateur actuel> Autorités de certification racines de confiance semble être la meilleure option. Et assurez-vous que ne pas oublier de redémarrez votre navigateur .
Dans Vagrantfile
, il nécessite scripts/Homestead.rb
, puis exécute Homestead.configure
. C’est la méthode qui configure vagrant
pour effectuer toutes les préparations nécessaires.
Là nous pouvons voir :
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
Ainsi, ces deuxfichiers créent le certificat et nginx
config respectivement.
Comment rendre le certificat SSL localhost de confiance du navigateur?
Votre problème est que l'émetteur est inconnu. Comme vous l'avez mentionné dans les erreurs: "Il manque un certificat valide de confiance sur ce site" Ou "Il manque un certificat de sécurité valide sur ce site (net :: ERR_CERT_AUTHORITY_INVALID)"
Permet d’abord de comprendre pourquoi cette erreur se produit. Les navigateurs ont une liste des autorités de certification de confiance. Vous pouvez voir cette liste à partir de la section réglage/préférences de différents navigateurs. Si votre certificat n'est pas délivré par l'une de ces autorités, vous obtiendrez l'erreur ci-dessus.
LE FIXER SUR L’HÔTEL LOCAL Je peux penser à deux solutions possibles;
OR
J'espère que ça va régler le problème.
Apparemment, vous devez ajouter votre certificat au magasin de l'autorité de certification de confiance. Je l'ai laissé auto décider et cela n'a pas fonctionné. De plus, je l'ai ajouté à mon magasin personnel, qui ne fonctionnait pas non plus.
Donc, si vous êtes sur Windows, appuyez sur votre touche Windows et tapez "Options Internet" et ouvrez bien vos options Internet. Puis cliquez sur l'onglet "contenu". De là, cliquez sur "certificats" qui est le bouton du milieu.
Puis cliquez sur Importer et sur Suivant. Accédez à l'emplacement où vous avez enregistré le cert.
Cliquez ensuite sur "Placer tous les certificats dans le magasin suivant", cliquez sur Parcourir et sélectionnez les "Autorités de certification racines de confiance".
Et vous devriez avoir un popup vous demandant de confirmer et d’avertir tout ce jazz.
Et puis assurez-vous de redémarrer votre navigateur. Sur chrome, vous pouvez taper ceci dans la barre d’URL: chrome://restart
. Boom, j'espère que cela vous a aidé!