web-dev-qa-db-fra.com

Firefox et SSL: sec_error_unknown_issuer

Mon client reçoit un message d'erreur sec_error_unknown_issuer lors de la visite https://mediant.ipmail.nl avec Firefox . Je ne peux pas reproduire l'erreur moi-même. J'ai installé FF sur Vista et sur une machine XP et je n'ai rencontré aucun problème. FF sur Ubuntu fonctionne également bien.

Quelqu'un a-t-il la même erreur et a-t-il des indices pour que je puisse demander à mon fournisseur d'accès de modifier certains paramètres? ). Ai-je eu tort de choisir le moins cher?

56
Overbeeke

Je viens d'avoir le même problème avec un cert SSL Comodo Wildcard. Après avoir lu les documents, la solution est de vous assurer que vous incluez le fichier de chaîne de certificats qu’ils vous envoient dans votre configuration, c.-à-d.

SSLCertificateChainFile /etc/ssl/crt/yourSERVERNAME.ca-bundle

Tous les détails sur Site Comodo

41
user126810

Nous avions ce problème et il était très spécifique à Firefox - nous ne pouvions reproduire que dans ce navigateur, Safari, IE8, Chrome, etc.

Pour le réparer, il fallait obtenir un certificat mis à jour de Comodo et l’installer.

Aucune idée de la magie qu'ils ont changée, mais c'était certainement quelque chose dans la certitude que Firefox n'aimait pas.

12
Jeff Atwood

Firefox est plus strict que les autres navigateurs et nécessitera l'installation correcte d'un certificat de serveur intermédiaire. Cela peut être fourni par l'autorité de certification auprès de laquelle le certificat a été acheté. le certificat intermédiaire est généralement installé au même emplacement que le certificat de serveur et requiert l'entrée appropriée dans le fichier httpd.conf.

alors que beaucoup de gens reprochent à Firefox d’avoir «signalé» cela (en général) de manière exclusive, cela démontre en fait un niveau de sécurité plus élevé.

6
Jason Clark

Pour nginx, faites ceci Générez un fichier crt chaîné en utilisant

$ cat www.example.com.crt bundle.crt > www.example.com.chained.crt

Le fichier résultant doit être utilisé dans la directive ssl_certificate:

server {
    listen              443 ssl;
    server_name         www.example.com;
    ssl_certificate     www.example.com.chained.crt;
    ssl_certificate_key www.example.com.key;
    ...
}
4
Cc65

Je sais que ce fil est un peu vieux, mais nous l’avons aussi rencontré et archivons ici notre solution éventuelle pour les autres.

Nous avions le même problème avec un certificat générique "positif ssl" de Comodo. Nous utilisons un proxy SSL inversé pour notre site Web et Firefox ne cessait de se plaindre "sec_error_unknown_issuer" comme vous l'avez dit, mais tous les autres navigateurs étaient OK.

J'ai trouvé qu'il s'agissait d'un problème de chaîne de certificat incomplète. Apparemment, Firefox ne possède pas l’un des certificats intermédiaires, même si Firefox fait confiance à l’autorité de certification racine. Par conséquent, vous devez fournir toute la chaîne de certificats à Firefox. Le support de Comodo déclare:

Un certificat intermédiaire est le certificat, ou certificats, qui vont entre votre site (serveur) certificat et un certificat racine. Le certificat intermédiaire, ou certificats, complète la chaîne en un certificat racine approuvé par le navigateur.

L'utilisation d'un certificat intermédiaire signifie que vous devez remplir un étape supplémentaire dans le processus d’installation pour activer votre site le certificat doit être chaîné à la racine de confiance et ne pas afficher les erreurs dans le navigateur quand quelqu'un visite votre site web.

Cela a déjà été abordé plus tôt dans ce fil de discussion, mais cela n’a pas révélé comment procéder.

Tout d'abord, vous devez créer un ensemble de certificats chaînés. Pour ce faire, utilisez votre éditeur de texte préféré et collez-les simplement dans l'ordre correct (inverse), c'est-à-dire.

  • Certificat CA intermédiaire 2 - IntermédiaireCA2.crt - en haut du fichier
  • Certificat de CA intermédiaire 1 - IntermédiaireCA1.crt
  • Certificat d'autorité de certification racine - root.crt - à la fin du fichier

L'ordre exact que vous pouvez obtenir de votre fournisseur ssl si ce n'est pas évident à partir des noms.

Enregistrez ensuite le fichier sous le nom de votre choix. Par exemple. yourdomain-chain-bundle.crt

Dans cet exemple, je n'ai pas inclus le certificat de domaine réel et, tant que votre serveur peut être configuré pour accepter un ensemble de certificats en chaîne distinct, c'est ce que vous utilisez.

Plus de données peuvent être trouvées ici:

https://support.comodo.com/index.php?/Knowledgebase/Article/View/643/0/how-do-i-make-my-own-bundle-file-from-crt-files

Si, pour une raison quelconque, vous ne pouvez pas configurer votre serveur pour utiliser un ensemble séparé, vous devez simplement coller votre certificat de serveur au début (en haut) de l'ensemble et utiliser le fichier obtenu comme certificat de serveur. C’est ce qu’il faut faire dans l’affaire E.g Squid. Voir ci-dessous la liste de diffusion squid à ce sujet.

http://www.squid-cache.org/mail-archive/squid-users/201109/0037.html

Cela a résolu le problème pour nous.

3
leancode

J'ai eu ce problème avec Firefox et mon serveur. J'ai contacté le support client de GoDaddy et ils m'ont fait installer le certificat de serveur intermédiaire:

http://support.godaddy.com/help/article/868/what-is-an-intermediate-certificate

Après le redémarrage du service de publication World Wide Web, tout a parfaitement fonctionné.

Si vous n'avez pas un accès complet à votre serveur, votre fournisseur de services Internet devra le faire pour vous.

2
toddb

Quelle version de Firefox sur quelle plate-forme votre client utilise-t-il?

Les personnes rencontrant le même problème que documenté ici sur le forum d’assistance pour Firefox . J'espère que vous pourrez y trouver une solution. Bonne chance!

Mettre à jour:

Laissez votre client vérifier les paramètres dans Firefox: Sous "Avancé" - "Cryptage", un bouton "Afficher les certificats" apparaît. Recherchez "Comodo CA Limited" dans la liste. J'ai vu que Comodo est l'émetteur du certificat de ce nom de domaine/serveur. Sur deux de mes machines (FF 3.0.3 sur Vista et Mac), l'entrée est dans la liste (par défaut/Mozilla).

 alt text

2
splattne

Si vous avez obtenu votre certificat de COMODO et que vous avez besoin d’ajouter Cette ligne, le fichier se trouve sur le fichier Zip que vous avez reçu.

SSLCertificateChainFile /path/COMODORSADomainValidationSecureServerCA.crt
1
Steven Lizarazo

Juin 2014:

C’est la configuration que j’ai utilisée et qui fonctionne très bien après me cogner la tête contre le mur pendant quelques jours. J'utilise Express 3.4 (je pense que c'est la même chose pour Express 4.0)

var privateKey  = fs.readFileSync('helpers/sslcert/key.pem', 'utf8');
var certificate = fs.readFileSync('helpers/sslcert/csr.pem', 'utf8');

files = ["COMODORSADomainValidationSecureServerCA.crt",
         "COMODORSAAddTrustCA.crt",
         "AddTrustExternalCARoot.crt"
        ];

ca = (function() {
  var _i, _len, _results;

  _results = [];
  for (_i = 0, _len = files.length; _i < _len; _i++) {
    file = files[_i];
    _results.Push(fs.readFileSync("helpers/sslcert/" + file));
  }
  return _results;
})();

var credentials = {ca:ca, key: privateKey, cert: certificate};

// process.env.PORT : Heroku Config environment
var port = process.env.PORT || 4000;

var app = express();
var server = http.createServer(app).listen(port, function() {
        console.log('Express HTTP server listening on port ' + server.address().port);
});
https.createServer(credentials, app).listen(3000, function() {
        console.log('Express HTTPS server listening on port ' + server.address().port);
});

// redirect all http requests to https
app.use(function(req, res, next) {
  if(!req.secure) {
    return res.redirect(['https://mydomain.com', req.url].join(''));
  }
  next();
});

Puis j'ai redirigé les ports 80 et 443:

Sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 4000
Sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 3000

Comme vous pouvez le constater après vérification de mes certifications, j'ai 4 [0,1,2,3]:

openssl s_client -connect mydomain.com:443 -showcerts | grep "^"

ubuntu@ip-172-31-5-134:~$ openssl s_client -connect mydomain.com:443 -showcerts | grep "^ "
depth=3 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root
verify error:num=19:self signed certificate in certificate chain
verify return:0
 0 s:/OU=Domain Control Validated/OU=PositiveSSL/CN=mydomain.com
   i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA
 1 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA
   i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
 2 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
   i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
 3 s:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
   i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
    Protocol  : TLSv1.1
    Cipher    : AES256-SHA
    Session-ID: 8FDEAEE92ED20742.....3E7D80F93226142DD
    Session-ID-ctx:
    Master-Key: C9E4AB966E41A85EEB7....4D73C67088E1503C52A9353C8584E94
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 300 (seconds)
    TLS session ticket:
    0000 - 7c c8 36 80 95 4d 4c 47-d8 e3 ca 2e 70 a5 8f ac   |.6..MLG....p...
    0010 - 90 bd 4a 26 ef f7 d6 bc-4a b3 dd 8f f6 13 53 e9   ..J&..........S.
    0020 - f7 49 c6 48 44 26 8d ab-a8 72 29 c8 15 73 f5 79   .I.HD&.......s.y
    0030 - ca 79 6a ed f6 b1 7f 8a-d2 68 0a 52 03 c5 84 32   .yj........R...2
    0040 - be c5 c8 12 d8 f4 36 fa-28 4f 0e 00 eb d1 04 ce   ........(.......
    0050 - a7 2b d2 73 df a1 8b 83-23 a6 f7 ef 6e 9e c4 4c   .+.s...........L
    0060 - 50 22 60 e8 93 cc d8 ee-42 22 56 a7 10 7b db 1e   P"`.....B.V..{..
    0070 - 0a ad 4a 91 a4 68 7a b0-9e 34 01 ec b8 7b b2 2f   ..J......4...{./
    0080 - e8 33 f5 a9 48 11 36 f8-69 a6 7a a6 22 52 b1 da   .3..H...i....R..
    0090 - 51 18 ed c4 d9 3d c4 cc-5b d7 ff 92 4e 91 02 9e   .....=......N...
    Start Time: 140...549
    Timeout   : 300 (sec)
    Verify return code: 19 (self signed certificate in certificate chain)

Bonne chance! PD: si vous voulez plus de réponses, veuillez vérifier: http://www.benjiegillam.com/2012/06/node-dot-js-ssl-certificate-chain/

1
lito

Comme @ user126810 l'a dit, le problème peut être résolu avec une directive SSLCertificateChainFile appropriée dans le fichier config.

Mais après avoir corrigé la configuration et redémarré le serveur Web, je devais aussi redémarrer Firefox . Sans cela, Firefox continuait à se plaindre d'un mauvais certificat (il semblerait qu'il en ait utilisé un en cache).

1
vadipp

Je suis en train de tourner en rond avec Firefox 43, El Capitan et WHM/cPanel. L'installation SSL a de plus en plus l'erreur de site Untrusted - je n'ai pas acheté le certificat qu'il m'a été remis pour que le dernier mec l'ait installé . Il s'avère que je m'installais sous le mauvais domaine parce que j'ai raté le www - mais le certificat est toujours installé sur le domaine. Lorsque j'ai installé le certificat dans WHM à l'aide de www.domain.com.au, il est maintenant installé et l'erreur FF a disparu. - le certificat fonctionne bien pour les sites www et non-www.

0
Rob

Si quelqu'un d'autre rencontre ce problème avec une lampe Ubuntu et "COMODO Positive SSL", essayez de créer votre propre ensemble à partir des certificats du fichier compressé.

cat AddTrustExternalCARoot.crt COMODORSAAddTrustCA.crt COMODORSADomainValidationSecureServerCA.crt > YOURDOMAIN.ca-bundle

0
chmoder

Pour répondre à l'aspect non reproductible de la question, Firefox importe automatiquement des certificats intermédiaires dans son magasin de certificats. Donc, si vous avez déjà visité un site qui a utilisé le même certificat intermédiaire en utilisant une chaîne de certificats correctement configurée, Firefox stockera ce certificat afin que vous ne voyiez pas le problème lorsque vous visitez un site ayant une chaîne mal configurée utilisant le même système certificat.

Vous pouvez vérifier cela dans le gestionnaire de certificats de Firefox (Options-> Confidentialité et sécurité-> Afficher les certificats ...) où vous pouvez voir tous les certificats stockés. Dans la colonne "Security Device", vous pouvez vérifier la provenance d'un certificat. Les certificats importés automatiquement ou manuellement apparaîtront sous "Software Security Device", contrairement au "Builtin Object Token", qui est l'ensemble par défaut installé avec Firefox. Vous pouvez supprimer/méfier des certificats spécifiques et tester à nouveau.

0
Pierz