tech:notes_ssl_tls_https_client_openssl

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
tech:notes_ssl_tls_https_client_openssl [2025/03/24 15:06] – créée - modification externe 127.0.0.1tech:notes_ssl_tls_https_client_openssl [2025/11/07 13:55] (Version actuelle) Jean-Baptiste
Ligne 1: Ligne 1:
 +<!DOCTYPE markdown>
 {{tag>Brouillon OpenSSL}} {{tag>Brouillon OpenSSL}}
  
-Notes SSL/TLS HTTPS client OpenSSL+Notes SSL/TLS HTTPS client OpenSSL
  
 Voir :  Voir : 
 * [[notes_curl_wget]] * [[notes_curl_wget]]
-* [[https://www.feistyduck.com/library/bulletproof-tls-guide/downloads/bulletproof-tls-guide-20230424-b117.pdf|FeistyDuck - Bulletproof TLS Guide]+* [FeistyDuck - Bulletproof TLS Guide](https://www.feistyduck.com/library/bulletproof-tls-guide/downloads/bulletproof-tls-guide-20230424-b117.pdf
-* [[https://www.feistyduck.com/library/openssl-cookbook/downloads/openssl-cookbook-3ed.pdf|FeistyDuck - OpenSSL Cookbook - 3rd Edition]]+* [FeistyDuck - OpenSSL Cookbook - 3rd Edition](https://www.feistyduck.com/library/openssl-cookbook/downloads/openssl-cookbook-3ed.pdf)
  
 Voir aussi :  Voir aussi : 
-* [[https://cipherlist.eu/|Exemples de conf HTTPS / SSL / TLS pour plusieurs serveurs (nginx, apache, postfix...)]]+* [Exemples de conf HTTPS / SSL / TLS pour plusieurs serveurs (nginx, apache, postfix](https://cipherlist.eu/)
 * [[openssl_proxy_http_proxy]] * [[openssl_proxy_http_proxy]]
  
  
 Vérif cert Vérif cert
-<code bash>+~~~bash
 openssl s_client -showcerts -CAfile ca.crt -connect 192.168.56.101:7000 -servername acme.fr openssl s_client -showcerts -CAfile ca.crt -connect 192.168.56.101:7000 -servername acme.fr
-</code>+~~~
  
 Avoir des informations sur le certificat Avoir des informations sur le certificat
-<code bash>+~~~bash
 openssl x509 -inform PEM -in mycertfile.pem -text -out certdata openssl x509 -inform PEM -in mycertfile.pem -text -out certdata
-</code>+~~~
  
 Debug Debug
-<code bash>+~~~bash
 curl -v --insecure --show-error --verbose --cacert mycertfile.pem https://acme.fr curl -v --insecure --show-error --verbose --cacert mycertfile.pem https://acme.fr
-</code>+~~~
  
 Install CA certificat - Debian Install CA certificat - Debian
-<code bash>+~~~bash
 mv cert.pem acme.fr.crt mv cert.pem acme.fr.crt
 cp acme.fr.crt /usr/local/share/ca-certificates/ cp acme.fr.crt /usr/local/share/ca-certificates/
Ligne 40: Ligne 41:
 # Debian # Debian
 update-ca-certificates update-ca-certificates
-</code>+~~~
  
 Remove CA certificat - Debian Remove CA certificat - Debian
-<code bash>+~~~bash
 rm /usr/local/share/ca-certificates/plop.crt rm /usr/local/share/ca-certificates/plop.crt
  
Ligne 54: Ligne 55:
  
 update-ca-certificates -f update-ca-certificates -f
-</code>+~~~
 ''-f'', ''--fresh'' : Fresh updates.  Remove symlinks in /etc/ssl/certs directory. ''-f'', ''--fresh'' : Fresh updates.  Remove symlinks in /etc/ssl/certs directory.
  
Ligne 64: Ligne 65:
  * ''update-ca-trust'' (paquet ca-certificat)  * ''update-ca-trust'' (paquet ca-certificat)
  
-<code bash>+~~~bash
 cp ca.crt /etc/pki/ca-trust/source/anchors/ cp ca.crt /etc/pki/ca-trust/source/anchors/
  
Ligne 72: Ligne 73:
 # RedHat # RedHat
 update-ca-trust update-ca-trust
-</code>+~~~
  
  
Ligne 80: Ligne 81:
  
 Requette HTTP over SSL/TLS Requette HTTP over SSL/TLS
-<code bash>+~~~bash
 (echo -ne "GET / HTTP/1.1\r\nHost: acme.fr\r\n\r\n" ; cat ) |openssl s_client -showcerts -CAfile ca.crt -connect acme.fr:443 -servername acme.fr (echo -ne "GET / HTTP/1.1\r\nHost: acme.fr\r\n\r\n" ; cat ) |openssl s_client -showcerts -CAfile ca.crt -connect acme.fr:443 -servername acme.fr
-</code>+~~~
  
-== Test TLS HTTPS en ligne+## Test TLS HTTPS en ligne
  
-https://www.ssllabs.com/ssltest/ +https://www.ssllabs.com/ssltest/ 
-https://www.htbridge.com/ssl/+https://www.htbridge.com/ssl/
  
-== Test TLS HTTPS hors ligne+## Test TLS HTTPS hors ligne
  
-[[https://testssl.sh/testssl.sh|TestSSL.sh]] +[TestSSL.sh](https://testssl.sh/testssl.sh
  
-== Python+## Python
  
-<code python trustflag.py>+''trustflag.py'' 
 +~~~python
 """Check AddTrust External CA Root """Check AddTrust External CA Root
  
Ligne 144: Ligne 146:
     print("success")     print("success")
 print() print()
-</code>+~~~
  
-== Pb +## Pb 
  
-=== Le certificat téléchargé ne fonctionne pas+### Le certificat téléchargé ne fonctionne pas
  
-|            | **Curl** | **Wget** |+|            | **Curl** | **Wget**  | 
 +| ---------- | -------- | --------- |
 | **Debian** |   ✗      |   ✓      | | **Debian** |   ✗      |   ✓      |
 | **RedHat** |   ✗      |   ✗      | | **RedHat** |   ✗      |   ✗      |
Ligne 157: Ligne 160:
  
  
-<code bash>+~~~bash
 openssl s_client -showcerts -connect acme.fr:443 -servername acme.fr </dev/null 2>/dev/null|openssl x509 -outform PEM >mycertfile.pem openssl s_client -showcerts -connect acme.fr:443 -servername acme.fr </dev/null 2>/dev/null|openssl x509 -outform PEM >mycertfile.pem
-</code>+~~~
  
  
 **OK**  sous Debian \\ **OK**  sous Debian \\
 **NOK** sous RedHat  **NOK** sous RedHat 
-<code bash>+~~~bash
 wget --ca-certificate=mycertfile.pem https://acme.fr:443/somepage wget --ca-certificate=mycertfile.pem https://acme.fr:443/somepage
-</code>+~~~
  
  
 **NOK** sous Debian & RedHat **NOK** sous Debian & RedHat
-<code bash>+~~~bash
 curl --show-error --verbose --cacert mycertfile.pem https://acme.fr:443/somepage curl --show-error --verbose --cacert mycertfile.pem https://acme.fr:443/somepage
-</code>+~~~
  
-==== Solution+#### Solution
  
 Utiliser ''-verify'' pour avoir la chaîne complète, c'est-à-dire télécharger nom seulement la clef publique de acme.fr, mais aussi la clef publique de la CA.  Utiliser ''-verify'' pour avoir la chaîne complète, c'est-à-dire télécharger nom seulement la clef publique de acme.fr, mais aussi la clef publique de la CA. 
-<code bash> +~~~bash 
-echo -n |openssl s_client -showcerts -verify 5 -connect 192.168.56.101:7000 -servername acme.fr > mycertfile.pem +openssl s_client -showcerts -verify 5 -connect 192.168.56.101:7000 -servername acme.fr </dev/null > mycertfile.pem 
-</code>+~~~
  
 Puis ne garder que la CA. Puis ne garder que la CA.
 Note : si la CA existe, dans le cas d'un certificat auto-signé, ça ne marchera pas. Note : si la CA existe, dans le cas d'un certificat auto-signé, ça ne marchera pas.
 Pour Debian, il est possible d'installer le certificat comme si c'était celui d'une CA. Pour Debian, il est possible d'installer le certificat comme si c'était celui d'une CA.
-<code bash>+~~~bash
 vim mycertfile.pem vim mycertfile.pem
-</code>+~~~
  
 Voir https://unix.stackexchange.com/questions/368123/how-to-extract-the-root-ca-and-subordinate-ca-from-a-certificate-chain-in-linux Voir https://unix.stackexchange.com/questions/368123/how-to-extract-the-root-ca-and-subordinate-ca-from-a-certificate-chain-in-linux
  
  
tech/notes_ssl_tls_https_client_openssl.1742825205.txt.gz · Dernière modification : de 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki