web-dev-qa-db-fra.com

Certificat SSL Starfield Wildcard non confié à tous les navigateurs

Je suis à perte de ce que j'essaierai d'autre pour déboguer cette question avec un certificat SSL Starfield Wildcard.

Le problème est que dans certains navigateurs (Safari ou le plus mis à jour chrome vous pouvez obtenir pour OS X 10.5.8 par exemple) Le certificat apparaît comme non cartonné, même sur le domaine racine.

Mon configuration de serveur/Info de fond:

  • Configuration générale de la lampe - Centos 6.3 - sur un VPS Godaddy
  • Starfield Technologies Wildcard SSL Certificat
  • Installé en utilisant les instructions des pages de support de Godaddy
  • Les lignes SSL.CONF sont essentiellement comme suit:

    SSLCERTIVEFILE /PATH/TO/CERT/MYSITE.COM.CERT
    [.____] SSLCertificateKeyFile /path/to/cert/mysite.key
    [.____] SSLCERTICACHAINEFILE /PATH/TO/CERT/SF_BUNDLE.CRT

Tout a bien fonctionné bien jusqu'à l'autre nuit lorsque j'ai remarqué le problème dans OS X, je suppose que c'est plus de version de navigateur, mais n'a pu la répliquer que sur cette machine particulière.

Ce que j'ai essayé:

  • Mise à jour de SF_BUNDLE.CRT du référentiel CERT Godaddy et des versions du référentiel Starfield de Godaddy
  • Suivant cette réponse ServerFault de Jim Phares - Modification de la ligne Chainfile en SF_intermediate.crt du référentiel de Starfield's
  • Utilisation http://www.sslshopper.com/ssl-checker.html sur mon URL [.____]
    • Il est indiqué que le domaine est correctement répertorié sur le certificat, mais propose une erreur indiquée Le certificat ne fait pas confiance à tous les navigateurs Web. Vous devrez peut-être installer un certificat intermédiaire/chaîne pour le lier à un certificat de racine de confiance.

Que puis-je essayer à côté de remédier au problème de certificat non approuvé?

Faites-moi savoir s'il y a d'autres informations nécessaires pour aider à déboguer cette question. Merci d'avance!

Solution:

My problem ended up being that I had forgotten to add the SSLCertificateChainFile line to the virtual Host(s) in my httpd.conf and had only been editing those lines in ssl.conf instead, thanks for all the suggestions!

9
Austen Cameron

Deux choses que vous pouvez faire:

  1. Vérifiez la chaîne intermédiaire
  2. Nettoyer la chaîne intermédiaire

Vérifiez la chaîne intermédiaire

Comme l'erreur semble indiquer, vous avez quelque chose sur votre chaîne de certificats intermédiaire. Vous devriez vérifier où vous avez votre certificat et que vous avez obtenu le forfait intermédiaire correct.

Vous devriez vérifier le "hachage" et le "hachage d'émetteur" de chaque certificat de la chaîne avec le openssl x509 -noout -hash et openssl x509 -noout -issuer_hash commandes. Essayez ceci pour obtenir le hasch émetteur de votre certificat:

cat /path/to/cert/mysite.com.cert | openssl x509 -noout -issuer_hash

Ensuite, essayez de trouver un certificat avec ce hachage dans le sf_bundle.crt fichier que vous avez spécifié comme SSLCertificateChainFile. Vous devrez peut-être avoir à extraire les certificats (ou simplement à copier les coller à la commande):

cat first_cert_from_sf_bundle.crt | openssl x509 -noout -hash

Vérifiez tous. Si personne n'a ce hachage, alors quelque chose ne va pas là-bas. Continuez à faire ces chèques jusqu'à ce que vous trouviez un certificat qui a le même -hash et -issuer_hash. Ceci est votre certificat racine.

Si quelque chose manque, vous pouvez consulter les autres fichiers intermédiaires ici https://cert.starfieldtech.com/anonymous/repository.estam . Téléchargez-les et comparez leur -hash contre la -issuer_hash Où vous êtes coincé.

Si tout va bien, alors ...

Nettoyer la chaîne intermédiaire

J'ai vu cela aussi aider lorsque vous obtenez des erreurs d'impair de validation. Assurez-vous que votre chaîne intermédiaire répertorie uniquement les certificats requis et dans le bon ordre (Il est plus facile si c'est au format PEM). En d'autres termes, si votre chaîne est Your cert -> cert A -> cert B -> Starfield Root cert. Essayez d'ajouter ces dans cette commande (vous pouvez sauter le premier et le dernier) afin que votre chaîne intermédiaire ressemble à ceci:

-----BEGIN CERTIFICATE-----
cert A
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
cert B
-----END CERTIFICATE-----

Personnellement, j'aime garder tous ces certificats (certificat personnel, suivi des intermédiaires, suivi du certificat racine) dans le même fichier. Ensuite, je spécifie simplement ce fichier comme le SSLCertificateFile et SSLCertificateChainFile.

10
chutz