tech:notes_ssl_tls_https_client_openssl
Différences
Ci-dessous, les différences entre deux révisions de la page.
| 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.1 | tech:notes_ssl_tls_https_client_openssl [2025/11/07 13:55] (Version actuelle) – Jean-Baptiste | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | < | ||
| {{tag> | {{tag> | ||
| - | = Notes SSL/TLS HTTPS client OpenSSL | + | # Notes SSL/TLS HTTPS client OpenSSL |
| Voir : | Voir : | ||
| * [[notes_curl_wget]] | * [[notes_curl_wget]] | ||
| - | * [[https:// | + | * [FeistyDuck - Bulletproof TLS Guide](https:// |
| - | * [[https:// | + | * [FeistyDuck - OpenSSL Cookbook - 3rd Edition](https:// |
| Voir aussi : | Voir aussi : | ||
| - | * [[https:// | + | * [Exemples de conf HTTPS / SSL / TLS pour plusieurs serveurs (nginx, apache, postfix](https:// |
| * [[openssl_proxy_http_proxy]] | * [[openssl_proxy_http_proxy]] | ||
| Vérif cert | Vérif cert | ||
| - | < | + | ~~~bash |
| openssl s_client -showcerts -CAfile ca.crt -connect 192.168.56.101: | openssl s_client -showcerts -CAfile ca.crt -connect 192.168.56.101: | ||
| - | </ | + | ~~~ |
| Avoir des informations sur le certificat | Avoir des informations sur le certificat | ||
| - | < | + | ~~~bash |
| openssl x509 -inform PEM -in mycertfile.pem -text -out certdata | openssl x509 -inform PEM -in mycertfile.pem -text -out certdata | ||
| - | </ | + | ~~~ |
| Debug | Debug | ||
| - | < | + | ~~~bash |
| curl -v --insecure --show-error --verbose --cacert mycertfile.pem https:// | curl -v --insecure --show-error --verbose --cacert mycertfile.pem https:// | ||
| - | </ | + | ~~~ |
| Install CA certificat - Debian | Install CA certificat - Debian | ||
| - | < | + | ~~~bash |
| mv cert.pem acme.fr.crt | mv cert.pem acme.fr.crt | ||
| cp acme.fr.crt / | cp acme.fr.crt / | ||
| Ligne 40: | Ligne 41: | ||
| # Debian | # Debian | ||
| update-ca-certificates | update-ca-certificates | ||
| - | </ | + | ~~~ |
| Remove CA certificat - Debian | Remove CA certificat - Debian | ||
| - | < | + | ~~~bash |
| rm / | rm / | ||
| Ligne 54: | Ligne 55: | ||
| update-ca-certificates -f | update-ca-certificates -f | ||
| - | </ | + | ~~~ |
| '' | '' | ||
| Ligne 64: | Ligne 65: | ||
| * '' | * '' | ||
| - | < | + | ~~~bash |
| cp ca.crt / | cp ca.crt / | ||
| Ligne 72: | Ligne 73: | ||
| # RedHat | # RedHat | ||
| update-ca-trust | update-ca-trust | ||
| - | </ | + | ~~~ |
| Ligne 80: | Ligne 81: | ||
| Requette HTTP over SSL/TLS | Requette HTTP over SSL/TLS | ||
| - | < | + | ~~~bash |
| (echo -ne "GET / HTTP/ | (echo -ne "GET / HTTP/ | ||
| - | </ | + | ~~~ |
| - | == Test TLS HTTPS en ligne | + | ## Test TLS HTTPS en ligne |
| - | https:// | + | * https:// |
| - | https:// | + | * https:// |
| - | == Test TLS HTTPS hors ligne | + | ## Test TLS HTTPS hors ligne |
| - | [[https:// | + | [TestSSL.sh](https:// |
| - | == Python | + | ## Python |
| - | <code python | + | '' |
| + | ~~~python | ||
| """ | """ | ||
| Ligne 144: | Ligne 146: | ||
| print(" | print(" | ||
| print() | print() | ||
| - | </ | + | ~~~ |
| - | == 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: | ||
| - | < | + | ~~~bash |
| openssl s_client -showcerts -connect acme.fr:443 -servername acme.fr </ | openssl s_client -showcerts -connect acme.fr:443 -servername acme.fr </ | ||
| - | </ | + | ~~~ |
| **OK** | **OK** | ||
| **NOK** sous RedHat | **NOK** sous RedHat | ||
| - | < | + | ~~~bash |
| wget --ca-certificate=mycertfile.pem https:// | wget --ca-certificate=mycertfile.pem https:// | ||
| - | </ | + | ~~~ |
| **NOK** sous Debian & RedHat | **NOK** sous Debian & RedHat | ||
| - | < | + | ~~~bash |
| curl --show-error --verbose --cacert mycertfile.pem https:// | curl --show-error --verbose --cacert mycertfile.pem https:// | ||
| - | </ | + | ~~~ |
| - | ==== Solution | + | #### Solution |
| Utiliser '' | Utiliser '' | ||
| - | < | + | ~~~bash |
| - | echo -n |openssl s_client -showcerts -verify 5 -connect 192.168.56.101: | + | openssl s_client -showcerts -verify 5 -connect 192.168.56.101: |
| - | </ | + | ~~~ |
| 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é, | Note : si la CA existe, dans le cas d'un certificat auto-signé, | ||
| Pour Debian, il est possible d' | Pour Debian, il est possible d' | ||
| - | < | + | ~~~bash |
| vim mycertfile.pem | vim mycertfile.pem | ||
| - | </ | + | ~~~ |
| Voir https:// | Voir https:// | ||
tech/notes_ssl_tls_https_client_openssl.1742825205.txt.gz · Dernière modification : de 127.0.0.1
