OpenSSL VPN Serveurs de messagerie |
OpenSSL/UnableToGetLocalIssuerCertificateOpenSSL.UnableToGetLocalIssuerCertificate HistoryHide minor edits - Show changes to output Changed line 8 from:
Lors de l'utilisation du SSL, il n'est pas rare rencontrer cette erreur, voici une explication to:
Lors de l'utilisation du SSL, il n'est pas rare de rencontrer cette erreur, voici une explication sur la façon de l'éviter. Deleted line 9:
Changed lines 88-90 from:
Dans l'exemple ci-dessus, %left bgcolor=#ffffcc border= to:
Dans l'exemple ci-dessus, OpenSSL reléve une erreur sur deuxième certificat (depth=1), qui contient ceci :\\ @@1 s:/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA@@\\ @@ i:/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority@@\\ ce qu'il faut interpréter par : nous avons une erreur sur le certificat ''Thawte SGC CA'' car son émetteur ''VeriSign, Inc.'' n'est pas connu. La correction de cette erreur passera par la création d'une liste de certificats de confiance qui deviendront les premiers maillons des futures chaines de confiance. %left bgcolor=#ffffcc border='1px dotted red' padding=5px%Attention, en ajoutant un certificat racine à la liste des certificats de confiance (Trusted certificates) nous acceptons d'office l'ensemble des certificats qu'il a émis et qu'il émettra sur la base du principe suivant : les amis de mes amis sont aussi mes amis. Changed lines 2-3 from:
(:description to:
(:description How to avoid the unable to get local issuer certificate error :) Changed lines 6-7 from:
to:
!!!{+Comment éviter l'erreur 'unable to get local issuer certificate' ?+} Lors de l'utilisation du SSL, il n'est pas rare rencontrer cette erreur, voici une explication détaillée de la façon de l'éviter.\\ Changed lines 10-12 from:
to:
La commande '''s_client''' est capable d'afficher les certificats envoyés par le serveur :\\ \\ Changed lines 89-92 from:
Dans %left bgcolor=#ffffcc border='1px dotted red' padding=5px%Attention, en fournissant le certificat racine nous accepterons d'office l'ensemble des certificats qu'il a émis et to:
Dans l'exemple ci-dessus, nous avons une erreur sur le certificat ''Thawte SGC CA'' car son émetteur ''VeriSign, Inc.'' n'est pas connu. La réponse à ce problème est la création d'une liste de certificats (racines) de confiance qui deviendront les premiers maillons des futures chaines de confiance. %left bgcolor=#ffffcc border='1px dotted red' padding=5px%Attention, en ajoutant un certificat racine à la liste des certificats de confiance (Trusted certificates) nous accepterons d'office l'ensemble des certificats qu'il a émis et qu'il émettra sur la base du principe suivant : les amis de mes amis sont aussi mes amis. Added lines 96-97:
!!!{+Deux méthodes d'alimentation de la liste de confiance+} Changed lines 171-173 from:
Cette méthode utilise un répertoire unique %left bgcolor=#ffffcc border='1px dotted red' padding=5px%Le nom du fichier contenant le certificat est calculé par ''hash'' de la valeur du CN to:
Cette méthode utilise un répertoire unique contenant tous les certificats sous forme de fichiers indépendants.\\ %left bgcolor=#ffffcc border='1px dotted red' padding=5px%Le nom du fichier contenant le certificat est calculé par ''hash'' de la valeur du CN. Changed lines 168-169 from:
%left bgcolor=#ffffcc border='1px dotted red' padding=5px%Le nom du fichier contenant le to:
%left bgcolor=#ffffcc border='1px dotted red' padding=5px%Le nom du fichier contenant le certificat est calculé par ''hash'' de la valeur du CN suivi d'une extension numérique pour éviter les collisions dûes à deux valeurs de hash identiques. Changed lines 1-3 from:
(:keywords to:
(:keywords grandville, informatique, lille, prestataire, PME, windows, unix, bsd, réseau, vpn, sécurité, intégration, openssl, certificats, x509, PEM, certificat:) (:description II► How to avoid the unable to get local issuer certificate error :) Deleted lines 102-106:
La seule méthode valable consiste à télécharger les root CA.\\ Ceux de Verisign (et Thawte car acheté fin 1999 par Verisign) sont à cette adresse [[https://www.verisign.com/support/roots.html|VeriSign Primary PCA Root Certificates]].\\ Added lines 104-111:
\\ La seule méthode valable consiste à télécharger :\\ - Les root CA. (Celles de Verisign et Thawte car acheté fin 1999 par Verisign) sont à cette adresse [[https://www.verisign.com/support/roots.html|VeriSign Primary PCA Root Certificates]].\\ - Les CA intermédiaires ( Celles de Vérisign sont à cette adresse http://www.verisign.com/support/advisories/page_040611.html ) \\ Changed lines 2-4 from:
%right% [[http://www.google.com/translate?u=http to:
%right% [[http://www.google.com/translate?u=http://www.grandville.net/pmwiki.php/{$FullName}&langpair=fr%7Cen&hl=fr&ie=UTF8|http://www.grandville.net/pub/img/GB.gif]] [[http://www.google.com/translate?u=http://www.grandville.net/pmwiki.php/{$FullName}&langpair=fr%7Cde&hl=fr&ie=UTF8|http://www.grandville.net/pub/img/D.gif]] Changed lines 93-95 from:
Cette méthode simple consiste à Nous pourrions avoir la mauvaise idée d'utiliser le certificat retourné par le serveur comme étant la racine to:
Cette méthode simple consiste à utiliser un fichier unique contenant une ou plusieurs CA,\\ en conservant les étiquettes -----BEGIN CERTIFICATE----- et -----END CERTIFICATE----- de chacun. \\ Nous pourrions avoir la mauvaise idée d'utiliser le certificat retourné par le serveur comme étant la racine de notre chaine de confiance (commençant à Thawte SGC CA), reste que dans ce cas, ce certificat n'étant pas racine (un certificat racine est forcement un certificat x509 autosigné), nous aurions toujours une erreur.\\ Changed lines 106-107 from:
La seule méthode valable consiste à télécharger les root CA de Verisign (et Thawte car acheté fin 1999 par Verisign) [[https://www.verisign.com/support/roots.html|VeriSign Primary PCA Root Certificates]].\\ to:
La seule méthode valable consiste à télécharger les root CA.\\ Ceux de Verisign (et Thawte car acheté fin 1999 par Verisign) sont à cette adresse [[https://www.verisign.com/support/roots.html|VeriSign Primary PCA Root Certificates]].\\ Changed lines 161-162 from:
Cette méthode to:
Cette méthode utilise un répertoire unique unique contenant tous les certificats sous forme de fichiers indépendants.\\ Changed lines 169-170 from:
Reste à renommer le certificat avec la valeur obtenue ci-dessus et à lui ajouter un suffixe numérique commençant à zéro pour parer l'éventualité d'une collision de valeur de hash.\\ to:
Reste à renommer le fichier du certificat avec la valeur obtenue ci-dessus et à lui ajouter un suffixe numérique commençant à zéro pour parer l'éventualité d'une collision de valeur de hash.\\ Changed lines 1-2 from:
Attention, car cette chaîne de confiance n'est pas forcement complète ni crédible to:
(:keywords openssl, certificats, x509, PEM, certificat:) %right% [[http://www.google.com/translate?u=http%3A%2F%2Fwww.grandville.net%2Fpmwiki.php%3Fn%3D{$FullName}&langpair=fr%7Cen&hl=fr&ie=UTF8|http://www.grandville.net/pub/img/GB.gif]] [[http://www.google.com/translate?u=http%3A%2F%2Fwww.grandville.net%2Fpmwiki.php%3Fn%3D{$FullName}&langpair=fr%7Cde&hl=fr&ie=UTF8|http://www.grandville.net/pub/img/D.gif]] Grâce à l'option ''-showcerts'', il est possible d'afficher les certificats retournés par le serveur lors de la requête '''s_client''' mais attention, car cette chaîne de confiance n'est ni forcement complète ni digne de confiance.\\ Changed lines 161-162 from:
%left bgcolor=#ffffcc border='1px dotted red' padding=5px%Le nom du fichier contenant le certificats est obtenu par ''hash'' de la valeur du CN suivi d'une extension numérique pour éviter les collisions dûes to:
%left bgcolor=#ffffcc border='1px dotted red' padding=5px%Le nom du fichier contenant le certificats est obtenu par ''hash'' de la valeur du CN suivi d'une extension numérique pour éviter les collisions dûes deux valeurs de hash identiques. Changed line 167 from:
Reste à renommer le certificat avec la valeur obtenue ci-dessus et à ajouter un suffixe numérique commençant à zéro pour parer l'éventualité d'une collision to:
Reste à renommer le certificat avec la valeur obtenue ci-dessus et à lui ajouter un suffixe numérique commençant à zéro pour parer l'éventualité d'une collision de valeur de hash.\\ Changed lines 99-103 from:
La seule méthode valable consiste à télécharger les root CA de Verisign (et Thawte car acheté fin 1999 par Verisign) to:
La seule méthode valable consiste à télécharger les root CA de Verisign (et Thawte car acheté fin 1999 par Verisign)\\ [[https://www.verisign.com/support/roots.html|VeriSign Primary PCA Root Certificates]].\\ \\ Changed line 2 from:
Attention, car cette chaîne n'est pas forcement complète ni crédible.\\ to:
Attention, car cette chaîne de confiance n'est pas forcement complète ni crédible.\\ Changed lines 17-31 from:
MIIDITCCAoqgAwIBAgIQS6WuWd7dHMeAfIkikfDiQzANBgkqhkiG9w0BAQQFADBM MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTUyMzE4MTFaFw0w NzA1MTUyMzE4MTFaMGgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRcw FQYDVQQDEw53d3cuZ29vZ2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC gYEA5sXGjc0LowME3K7MyUa+vcydvHM0SP7TdWTQycl2J3IPqZYaO4HzFPaukFbn GdJzaKeFpK7KJBQwALroNl2BczpxBY+xrxGH2lzxPr9TUYRvRA636CbXL7Jv8vJd 36fPjKXpHm8wSJQhCwGtug5xAQ0Q77/uLNON/lSo/tOXj8sCAwEAAaOB5zCB5DAo BgNVHSUEITAfBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEATA2BgNVHR8E LzAtMCugKaAnhiVodHRwOi8vY3JsLnRoYXd0ZS5jb20vVGhhd3RlU0dDQ0EuY3Js MHIGCCsGAQUFBwEBBGYwZDAiBggrBgEFBQcwAYYWaHR0cDovL29jc3AudGhhd3Rl LmNvbTA+BggrBgEFBQcwAoYyaHR0cDovL3d3dy50aGF3dGUuY29tL3JlcG9zaXRv cnkvVGhhd3RlX1NHQ19DQS5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQQF AAOBgQBXS7ykQ+fgAZKgljX5GAiIHXtwGY/ to:
MIIDITCCAoqgAwIBAgIQS6WuWd7dHMeAfIkikfDiQzANBgkqhkiG9w0BAQQFADBM\\ MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg\\ THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTUyMzE4MTFaFw0w\\ NzA1MTUyMzE4MTFaMGgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh\\ MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRcw\\ FQYDVQQDEw53d3cuZ29vZ2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC\\ gYEA5sXGjc0LowME3K7MyUa+vcydvHM0SP7TdWTQycl2J3IPqZYaO4HzFPaukFbn\\ GdJzaKeFpK7KJBQwALroNl2BczpxBY+xrxGH2lzxPr9TUYRvRA636CbXL7Jv8vJd\\ 36fPjKXpHm8wSJQhCwGtug5xAQ0Q77/uLNON/lSo/tOXj8sCAwEAAaOB5zCB5DAo\\ BgNVHSUEITAfBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEATA2BgNVHR8E\\ LzAtMCugKaAnhiVodHRwOi8vY3JsLnRoYXd0ZS5jb20vVGhhd3RlU0dDQ0EuY3Js\\ MHIGCCsGAQUFBwEBBGYwZDAiBggrBgEFBQcwAYYWaHR0cDovL29jc3AudGhhd3Rl\\ LmNvbTA+BggrBgEFBQcwAoYyaHR0cDovL3d3dy50aGF3dGUuY29tL3JlcG9zaXRv\\ cnkvVGhhd3RlX1NHQ19DQS5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQQF\\ AAOBgQBXS7ykQ+fgAZKgljX5GAiIHXtwGY/5NrIFOgXKFFlNJA7liq9Oh1r3HCqW\\ Changed lines 38-52 from:
MIIDIzCCAoygAwIBAgIEMAAAAjANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJV UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVi bGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNTEzMDAw MDAwWhcNMTQwNTEyMjM1OTU5WjBMMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBD QTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1NNn0I0Vf67NMf59HZGhPwtx PKzMyGT7Y/wySweUvW+Aui/hBJPAM/wJMyPpC3QrccQDxtLN4i/1CWPN/0ilAL/g 5/OIty0y3pg25gqtAHvEZEo7hHUD8nCSfQ5i9SGraTaEMXWQ+L/HbIgbBpV8yeWo 3nWhLHpo39XKHIdYYBkCAwEAAaOB/jCB+zASBgNVHRMBAf8ECDAGAQH/AgEAMAsG A1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYwKAYDVR0RBCEwH6QdMBsxGTAX BgNVBAMTEFByaXZhdGVMYWJlbDMtMTUwMQYDVR0fBCowKDAmoCSgIoYgaHR0cDov L2NybC52ZXJpc2lnbi5jb20vcGNhMy5jcmwwMgYIKwYBBQUHAQEEJjAkMCIGCCsG AQUFBzABhhZodHRwOi8vb2NzcC50aGF3dGUuY29tMDQGA1UdJQQtMCsGCCsGAQUF BwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgBMA0GCSqGSIb3DQEB BQUAA4GBAFWsY+reod3SkF+fC852vhNRj5PZBSvIG3dLrWlQoe7e3P3bB+ to:
MIIDIzCCAoygAwIBAgIEMAAAAjANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJV\\ UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVi\\ bGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNTEzMDAw\\ MDAwWhcNMTQwNTEyMjM1OTU5WjBMMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh\\ d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBD\\ QTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1NNn0I0Vf67NMf59HZGhPwtx\\ PKzMyGT7Y/wySweUvW+Aui/hBJPAM/wJMyPpC3QrccQDxtLN4i/1CWPN/0ilAL/g\\ 5/OIty0y3pg25gqtAHvEZEo7hHUD8nCSfQ5i9SGraTaEMXWQ+L/HbIgbBpV8yeWo\\ 3nWhLHpo39XKHIdYYBkCAwEAAaOB/jCB+zASBgNVHRMBAf8ECDAGAQH/AgEAMAsG\\ A1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYwKAYDVR0RBCEwH6QdMBsxGTAX\\ BgNVBAMTEFByaXZhdGVMYWJlbDMtMTUwMQYDVR0fBCowKDAmoCSgIoYgaHR0cDov\\ L2NybC52ZXJpc2lnbi5jb20vcGNhMy5jcmwwMgYIKwYBBQUHAQEEJjAkMCIGCCsG\\ AQUFBzABhhZodHRwOi8vb2NzcC50aGF3dGUuY29tMDQGA1UdJQQtMCsGCCsGAQUF\\ BwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgBMA0GCSqGSIb3DQEB\\ BQUAA4GBAFWsY+reod3SkF+fC852vhNRj5PZBSvIG3dLrWlQoe7e3P3bB+noOZTc\\ Changed lines 90-92 from:
Cette méthode Nous pourrions avoir la mauvaise idée d'utiliser le certificat retourné par le serveur comme étant la racine d'une chaine de confiance commençant à Thawte SGC CA, reste que dans ce cas, ce certificat n'étant pas racine, nous aurions toujours une erreur.\\ to:
Cette méthode simple consiste à fournir un fichier contenant une ou plusieurs CA (en conservant les étiquettes -----BEGIN CERTIFICATE----- et -----END CERTIFICATE----- pour chacun).\\ Nous pourrions avoir la mauvaise idée d'utiliser le certificat retourné par le serveur comme étant la racine d'une chaine de confiance commençant à Thawte SGC CA, reste que dans ce cas, ce certificat n'étant pas racine (un certificat racine est forcement un certificat x509 autosigné), nous aurions toujours une erreur.\\ Changed line 99 from:
La seule méthode consiste à télécharger les root CA de Verisign (et Thawte car acheté fin 1999 par Verisign) à l'adresse https://www.verisign.com/support/roots.html.\\ to:
La seule méthode valable consiste à télécharger les root CA de Verisign (et Thawte car acheté fin 1999 par Verisign) à l'adresse https://www.verisign.com/support/roots.html.\\ Changed lines 105-115 from:
MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2 MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+ to:
MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG\\ A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\\ cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\\ MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\\ BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt\\ YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\\ ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE\\ BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is\\ I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G\\ CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do\\ lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc\\ Changed lines 152-155 from:
Cette méthode permet %left bgcolor=#ffffcc border='1px dotted red to:
Cette méthode permet d'éviter la création d'un fichier unique contenant tous les certificats en permettant le stockage de l'ensemble des certificats racines (sous forme de fichiers indépendants) dans un unique répertoire. %left bgcolor=#ffffcc border='1px dotted red' padding=5px%Le nom du fichier contenant le certificats est obtenu par ''hash'' de la valeur du CN suivi d'une extension numérique pour éviter les collisions dûes à un hash donnant la même vameur qu'un autre. Changed line 161 from:
Reste à renommer le certificat et à ajouter un suffixe numérique commençant à zéro pour parer l'éventualité d'une collision des hash.\\ to:
Reste à renommer le certificat avec la valeur obtenue ci-dessus et à ajouter un suffixe numérique commençant à zéro pour parer l'éventualité d'une collision des hash.\\ Changed line 100 from:
Le fichier concernant to:
Le fichier concernant le certificat ''Class 3 Public Primary Certification Authority'' (étiquette OU de l'emétteur du certificat thawte) est le fichier PCA3ss_v4.509\\ Changed lines 162-164 from:
Notre fichier PCA3ss_v4.crt s'appelle maintenant a386470b.0 to:
Notre fichier PCA3ss_v4.crt s'appelle maintenant a386470b.0.\\ Dans l'exemple ci-dessous, une fois copié dans le répertoire C:\TrustedCA\, nous pouvons lancer la commande suivante avec succès : Changed line 2 from:
to:
Attention, car cette chaîne n'est pas forcement complète ni crédible.\\ Changed lines 3-4 from:
to:
\\ Changed lines 90-92 from:
Cette méthode se limite Nous pourrions to:
Cette méthode se limite un fichier contenant une ou plusieurs CA (en conservant les étiquettes -----BEGIN CERTIFICATE----- et -----END CERTIFICATE----- pour chacun).\\ Nous pourrions avoir la mauvaise idée d'utiliser le certificat retourné par le serveur comme étant la racine d'une chaine de confiance commençant à Thawte SGC CA, reste que dans ce cas, ce certificat n'étant pas racine, nous aurions toujours une erreur.\\ Deleted line 98:
Changed line 100 from:
Le fichier concernant to:
Le fichier concernant de certificat ''Class 3 Public Primary Certification Authority'' (étiquette OU de l'emétteur du certificat thawte) est le fichier PCA3ss_v4.509\\ Changed lines 154-155 from:
%left bgcolor=#ffffcc border='1px dotted red' padding=5px% to:
%left bgcolor=#ffffcc border='1px dotted red' padding=5px%Les noms des certificats du répertoire sont obtenus par ''hash'' de la valeur de leurs CN suivi d'une extension numérique. Changed line 157 from:
OpenSSL> x509 -noout -hash -in PCA3ss_v4.crt\\ to:
OpenSSL> '''x509 -noout -hash -in PCA3ss_v4.crt'''\\ Changed line 166 from:
OpenSSL> s_client -CApath C:\TrustedCA\ -showcerts -connect www.google.com: to:
OpenSSL> '''s_client -CApath C:\TrustedCA\ -showcerts -connect www.google.com:443''' Changed line 161 from:
Reste à renommer le certificat et à ajouter un suffixe commençant à zéro pour to:
Reste à renommer le certificat et à ajouter un suffixe numérique commençant à zéro pour parer l'éventualité d'une collision des hash.\\ Changed lines 100-101 from:
Le fichier concernant ''Class 3 Public Primary Certification Authority'' que nous cherchons s'appelle PCA3ss_v4. Nous devons to:
Le fichier concernant ''Class 3 Public Primary Certification Authority'' que nous cherchons s'appelle PCA3ss_v4.509\\ Nous devons le convertir par Changed line 9 from:
verify error:num=20: to:
%red%verify error:num=20:unable to get local issuer certificate%%\\ Changed lines 33-34 from:
[=-----=]END CERTIFICATE----- to:
[=-----=]END CERTIFICATE----- 1 s:/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA Changed line 75 from:
Verify return code: 20 ( to:
Verify return code: %red%20 (unable to get local issuer certificate)%% Changed lines 77-78 from:
read:errno= OpenSSL> to:
read:errno=0 Changed lines 80-81 from:
Dans notre exemple, nous avons une erreur sur le certificat ''Thawte SGC CA'' car nous n'avons pas fournit le certificat de son émetteur. to:
Dans notre exemple, nous avons une erreur sur le certificat ''Thawte SGC CA'' car nous n'avons pas fournit le certificat de son émetteur. %left bgcolor=#ffffcc border='1px dotted red' padding=5px%Attention, en fournissant le certificat racine nous accepterons d'office l'ensemble des certificats qu'il a émis et émettra sur la base du principe suivant : les amis de mes amis sont aussi mes amis. \\ \\ Changed lines 89-91 from:
Cette méthode Nous pourrions utiliser le certificat retourné par le serveur comme étant la racine to:
Cette méthode se limite à une seule CA qu'il faut de plus sélectionner avant de faire la requête.\\ Nous pourrions utiliser le certificat retourné par le serveur comme étant la racine d'une chaine de confiance commençant à Thawte SGC CA, reste que dans ce cas, ce certificat n'étant pas racine, nous aurions toujours une erreur.\\ Added line 98:
Changed lines 100-101 from:
Le fichier concernant ''Class 3 Public Primary Certification Authority'' que nous cherchons to:
Le fichier concernant ''Class 3 Public Primary Certification Authority'' que nous cherchons s'appelle PCA3ss_v4.\\ Nous devons encore le convertir par Changed line 142 from:
Verify return code: 0 (ok) to:
Verify return code: %red%0 (ok)%% Changed lines 147-148 from:
to:
\\ \\ Changed lines 154-155 from:
%left bgcolor=#ffffcc border='1px dotted red' padding=5px%Le nom des certificats du répertoire to:
%left bgcolor=#ffffcc border='1px dotted red' padding=5px%Le nom des certificats du répertoire sont obtenus par hash de la valeur de leurs CN Changed lines 171-172 from:
to:
\\ Changed lines 1-2 from:
to:
Grâce à l'option -showcerts, il est possible d'afficher les certificats retournés par le serveur lors de la requête.\\ Cette chaîne n'est d'ailleurs pas forcement complète ni crédible.\\ Changed line 9 from:
verify error:num=20:unable to get local issuer certificate\\ to:
verify error:num=20:%red%unable to get local issuer certificate%%\\ Changed lines 81-83 from:
to:
Dans notre exemple, nous avons une erreur sur le certificat ''Thawte SGC CA'' car nous n'avons pas fournit le certificat de son émetteur. En fournissant ce dernier nous accepterions l'ensemble de la chaîne car les amis de mes amis sont aussi mes amis. Il nous faut donc reconnaitre le maillon racine comme sûre pour que toute sa descendance soit elle aussi réputée comme sûre. Changed lines 85-89 from:
Cette méthode est la plus simple La méthode la moins sécurisée consiste à La méthode la plus sécurisée consiste à télécharger les root CA de Verisign et Thawte (acheté fin 1999 par Verisign) à l'adresse https://www.verisign.com/support/roots.html.\\ Le fichier concernant ''Class 3 Public Primary Certification Authority'' est PCA3ss_v4 to:
Cette méthode est la plus simple mais se limite à une seule CA qu'il faut de plus sélectionner avant de faire la requête.\\ Nous pourrions utiliser le certificat retourné par le serveur comme étant la racine de notre chaine de confiance commençant à Thawte SGC CA, reste que dans ce cas, ce certificat n'étant pas racine, nous aurions toujours une erreur.\\ Changed lines 89-90 from:
-----BEGIN CERTIFICATE to:
depth=1 /C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA\\ verify error:num=20:unable to get local issuer certificate\\ verify return:0 >><< La seule méthode consiste à télécharger les root CA de Verisign (et Thawte car acheté fin 1999 par Verisign) à l'adresse https://www.verisign.com/support/roots.html.\\ Le fichier concernant ''Class 3 Public Primary Certification Authority'' que nous cherchons est PCA3ss_v4. Nous devons encore convertir par \\ >>teal background-color:#f0f0f0 padding=5px font-family=monospace<< OpenSSL> '''x509 -inform der -in "C:\VeriSign - Thawte Combined Roots\VeriSign_Roots\PCA3ss_v4.509"'''\\ [=-----=]BEGIN CERTIFICATE-----\\ Changed lines 111-120 from:
-----END CERTIFICATE----- OpenSSL> to:
AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\\ [=-----=]END CERTIFICATE----- >><< La requête se fait alors par >>teal background-color:#f0f0f0 padding=5px font-family=monospace<< OpenSSL> '''s_client -CAfile PCA3ss_v4.crt -showcerts -connect www.google.com:443'''\\ .../...\\ depth=2 /C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority\\ verify return:1\\ depth=1 /C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA\\ verify return:1\\ depth=0 /C=US/ST=California/L=Mountain View/O=Google Inc/CN=www.google.com\\ verify return:1\\ .../...\\ New, TLSv1/SSLv3, Cipher is AES256-SHA Server public key is 1024 bit SSL-Session: Protocol : TLSv1 Cipher : AES256-SHA Session-ID: 30972D8B1DAFDA917A649AE3E6D9170CCDC2A8BD0278189F9B0FFC0F0080D30E Session-ID-ctx: Master-Key: B74F5E6C2395B04303CE0B745D5DD5DA0B9ADE3D5B4111E3ECC02B42F99A611B63A400F176DFD216BB3D64382C89260F Key-Arg : None Start Time: 1169412087 Timeout : 300 (sec) Verify return code: 0 (ok) ---\\ read:errno=0 >><< !!!Méthode avec -CApath\\ Cette méthode permet de s'affranchir de la sélection d'un certificat particulier en fournissant une liste de certificats racines. %left bgcolor=#ffffcc border='1px dotted red' padding=5px%Le nom des certificats du répertoire est obtenu par hash de la valeur du CN >>teal background-color:#f0f0f0 padding=5px font-family=monospace<< OpenSSL> x509 -noout -hash -in PCA3ss_v4.crt\\ a386470b >><< Reste à renommer le certificat et à ajouter un suffixe commençant à zéro pour traiter l'éventualité d'une collisions des hash.\\ Notre fichier PCA3ss_v4.crt s'appelle maintenant a386470b.0 >>teal background-color:#f0f0f0 padding=5px font-family=monospace<< OpenSSL> s_client -CApath C:\TrustedCA\ -showcerts -connect www.google.com:443 >><< Added lines 1-113:
Il est possible d'obtenir lors que la requête à https:\\www.google.com d'obtenir l'ensemble de la chaine de certification grâce à l'option -showcerts >>teal background-color:#f0f0f0 padding=5px font-family=monospace<< OpenSSL> '''s_client -showcerts -connect www.google.com:443'''\\ Loading 'screen' into random state - done\\ CONNECTED(00000798)\\ depth=1 /C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA\\ verify error:num=20:unable to get local issuer certificate\\ verify return:0\\ ---\\ Certificate chain 0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=www.google.com i:/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA [=-----=]BEGIN CERTIFICATE-----\\ MIIDITCCAoqgAwIBAgIQS6WuWd7dHMeAfIkikfDiQzANBgkqhkiG9w0BAQQFADBM MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTUyMzE4MTFaFw0w NzA1MTUyMzE4MTFaMGgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRcw FQYDVQQDEw53d3cuZ29vZ2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC gYEA5sXGjc0LowME3K7MyUa+vcydvHM0SP7TdWTQycl2J3IPqZYaO4HzFPaukFbn GdJzaKeFpK7KJBQwALroNl2BczpxBY+xrxGH2lzxPr9TUYRvRA636CbXL7Jv8vJd 36fPjKXpHm8wSJQhCwGtug5xAQ0Q77/uLNON/lSo/tOXj8sCAwEAAaOB5zCB5DAo BgNVHSUEITAfBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEATA2BgNVHR8E LzAtMCugKaAnhiVodHRwOi8vY3JsLnRoYXd0ZS5jb20vVGhhd3RlU0dDQ0EuY3Js MHIGCCsGAQUFBwEBBGYwZDAiBggrBgEFBQcwAYYWaHR0cDovL29jc3AudGhhd3Rl LmNvbTA+BggrBgEFBQcwAoYyaHR0cDovL3d3dy50aGF3dGUuY29tL3JlcG9zaXRv cnkvVGhhd3RlX1NHQ19DQS5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQQF AAOBgQBXS7ykQ+fgAZKgljX5GAiIHXtwGY/5NrIFOgXKFFlNJA7liq9Oh1r3HCqW j8thQJ7StDhAISTBTx/LE0qPlQLfkT3WQOsRb5sQoW/OkV4w9m0TXhWkLsIYngDD\\ 2DJnR/y4HprZmo7M/3wStwO/UiDPIfTzd90SFfCU+pDV41logQ==\\ [=-----=]END CERTIFICATE-----\\ 1 s:/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA\\ i:/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority\\ [=-----=]BEGIN CERTIFICATE-----\\ MIIDIzCCAoygAwIBAgIEMAAAAjANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJV UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVi bGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNTEzMDAw MDAwWhcNMTQwNTEyMjM1OTU5WjBMMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBD QTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1NNn0I0Vf67NMf59HZGhPwtx PKzMyGT7Y/wySweUvW+Aui/hBJPAM/wJMyPpC3QrccQDxtLN4i/1CWPN/0ilAL/g 5/OIty0y3pg25gqtAHvEZEo7hHUD8nCSfQ5i9SGraTaEMXWQ+L/HbIgbBpV8yeWo 3nWhLHpo39XKHIdYYBkCAwEAAaOB/jCB+zASBgNVHRMBAf8ECDAGAQH/AgEAMAsG A1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYwKAYDVR0RBCEwH6QdMBsxGTAX BgNVBAMTEFByaXZhdGVMYWJlbDMtMTUwMQYDVR0fBCowKDAmoCSgIoYgaHR0cDov L2NybC52ZXJpc2lnbi5jb20vcGNhMy5jcmwwMgYIKwYBBQUHAQEEJjAkMCIGCCsG AQUFBzABhhZodHRwOi8vb2NzcC50aGF3dGUuY29tMDQGA1UdJQQtMCsGCCsGAQUF BwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgBMA0GCSqGSIb3DQEB BQUAA4GBAFWsY+reod3SkF+fC852vhNRj5PZBSvIG3dLrWlQoe7e3P3bB+noOZTc q3J5Lwa/q4FwxKjt6lM07e8eU9kGx1Yr0Vz00YqOtCuxN5BICEIlxT6Ky3/rbwTR\\ bcV0oveifHtgPHfNDs5IAn8BL7abN+AqKjbc1YXWrOU/VG+WHgWv\\ [=-----=]END CERTIFICATE-----\\ ---\\ Server certificate\\ subject=/C=US/ST=California/L=Mountain View/O=Google Inc/CN=www.google.com\\ issuer=/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA\\ ---\\ No client certificate CA names sent\\ ---\\ SSL handshake has read 1777 bytes and written 346 bytes\\ ---\\ New, TLSv1/SSLv3, Cipher is AES256-SHA\\ Server public key is 1024 bit\\ SSL-Session:\\ Protocol : TLSv1 Cipher : AES256-SHA Session-ID: FB832C23E220FBE594FB3BB02EDA46E0A24003E75AC0D59A29070F84B0818F2F\\ Session-ID-ctx: Master-Key: 2882FD1D3D850ED09551E3705F39BFB7C262F6136D4BEFA73CBDB779BB4A42D51C744E8F1CD3339BF54BEA11C9768F07 Key-Arg : None Start Time: 1169407304 Timeout : 300 (sec) Verify return code: 20 (%red%unable to get local issuer certificate%%) ---\\ read:errno=0\\ OpenSSL> >><< Pour éviter cela, lors de la requête il faut indiquer quelles sont les CA acceptées. !!!Méthode avec -CAfile\\ Cette méthode est la plus simple car il suffit alors d'indiquer qu'elle est la CA trustée.\\ La méthode la moins sécurisée consiste à utiliser le certificat retourné par le serveur comme étant la CA de confiance (ici le certificat en deuxiéme position).\\ La méthode la plus sécurisée consiste à télécharger les root CA de Verisign et Thawte (acheté fin 1999 par Verisign) à l'adresse https://www.verisign.com/support/roots.html.\\ Le fichier concernant ''Class 3 Public Primary Certification Authority'' est PCA3ss_v4.\\ >>teal background-color:#f0f0f0 padding=5px font-family=monospace<< OpenSSL> '''x509 -inform der -in "D:\temp\VeriSign - Thawte Combined Roots\VeriSign_Roots\PCA3ss_v4.509"''' -----BEGIN CERTIFICATE----- MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2 MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k -----END CERTIFICATE----- OpenSSL> |