2010-07-10 21 views
42
openssl s_client -connect some.https.server:443 -showcerts 

est une commande intéressante à exécuter lorsque vous souhaitez inspecter les certificats du serveur et sa chaîne de certificats.openssl s_client utilisant un proxy

Existe-t-il un moyen d'exécuter cette commande lorsque vous êtes derrière un proxy HTTP/HTTPS?

Répondre

35

Vous pouvez utiliser proxytunnel:

proxytunnel -p yourproxy:8080 -d www.google.com:443 -a 7000 

et vous pouvez le faire:

openssl s_client -connect localhost:7000 -showcerts 

Espoir cela peut vous aider!

+0

que je devais exécuter en proxy proxytunnel -p yourproxy: 8080 -d www.google.com:443 -a 7000' pour libérer le terminal pour la deuxième commande. –

11

pour tous ceux qui viennent ici post mai 2015: l'option de nouveaux "-proxy" qui sera inclus dans la prochaine version d'OpenSSL: https://rt.openssl.org/Ticket/Display.html?id=2651&user=guest&pass=guest

+4

Je viens d'essayer OpenSSL 1.0.2g 1 mars 2016 (Windows), et il ne sait rien sur une option de proxy. Pourquoi? –

+1

Est-il acceptable de mettre à jour le paquet openssl vers une version qui n'est pas fournie avec le système d'exploitation? – Krishter

+2

@ ChristianSchäfer C'est parce que la version 1.0.2xx n'est pas une "prochaine version". Cette option est disponible uniquement dans OpenSSL 1.1.0xx et versions ultérieures. – zed

1

depuis OpenSSL v1.1.0

C:\openssl>openssl version 
OpenSSL 1.1.0g 2 Nov 2017 
C:\openssl>openssl s_client -proxy 192.168.103.115:3128 -connect www.google.com -CAfile C:\TEMP\internalCA.crt 
CONNECTED(00000088) 
depth=2 DC = com, DC = xxxx, CN = xxxx CA interne 
verify return:1 
depth=1 C = FR, L = CROIX, CN = svproxysg1, emailAddress = [email protected] 
verify return:1 
depth=0 C = US, ST = California, L = Mountain View, O = Google Inc, CN = www.google.com 
verify return:1 
--- 
Certificate chain 
0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=www.google.com 
    i:/C=xxxx/L=xxxx/CN=svproxysg1/[email protected] 
1 s:/C=xxxx/L=xxxx/CN=svproxysg1/[email protected] 
    i:/DC=com/DC=xxxxx/CN=xxxxx CA interne 
--- 
Server certificate 
-----BEGIN CERTIFICATE----- 
MIIDkTCCAnmgAwIBAgIJAIv4/hQAAAAAMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNV 
BAYTAkZSMQ4wDAYDVQQHEwVDUk9JWDETMBEGA1UEAxMKc3Zwcm94eXNnMTEeMBwG