Comment vérifier la connection au server distant avec un certificate numérique (authentification client)

J'ai eu un certificate numérique avec des extensions pour l'authentification server et client et une key privée.

Maintenant, je souhaite me connecter à un server distant (REST services Web) qui devrait accepter mes requests en raison de mon certificate. Dans un premier time, je veux vérifier si cette connection fonctionnera. Le server distant n'est pas sous mon contrôle.

J'ai cette URL REST https://host.test.com/REST/admin/user/1212/ et je dois faire la request avec le certificate. Alors, comment puis-je le faire via la command line (système Linux)?

Vous pouvez utiliser curl ou wget.

curl --cert <your cert> 

ou

 wget --certificatee=<yourt cert> 

Le certificate (bien sûr avec la key privée) doit être situé dans un file p12. Vous pouvez spécifier la phrase de passe de ce file.

Vous pouvez utiliser openssl s_client pour inspecter le certificate pour la validité.

 openssl s_client -connect www.google.com -CApath /usr/share/ca-certificatees 

Cela me donne:

 [mark@pericles ~]$ openssl s_client -connect www.google.de:443 -CApath /usr/share/ca-certificatees/ CONNECTED(00000004) depth=3 C = US, O = Equifax, OU = Equifax Secure Certificate Authority verify return:1 depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA verify return:1 depth=1 C = US, O = Google Inc, CN = Google Internet Authority G2 verify return:1 depth=0 C = US, ST = California, L = Mountain View, O = Google Inc, CN = google.com verify return:1 --- Certificate chain 0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=google.com i:/C=US/O=Google Inc/CN=Google Internet Authority G2 1 s:/C=US/O=Google Inc/CN=Google Internet Authority G2 i:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA 2 s:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA i:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority --- <snip> Verify return code: 0 (ok) --- 

Le sharepoint paramètre -CApath aux certificates CA pour valider contre. Je suis sur Arch Linux, d'où cela se trouve dans / usr / share / ca-certificatees.

Ceci est extrêmement pratique lors du debugging des certificates que vous avez déployés, mais également utile, lorsque vous n'avez pas le contrôle de l'autre côté.

Pour utiliser un certificate client, ajoutez ce qui suit à la command line s_client :

 -cert xxx.pem -key xxx.pem 

Ici xxx.pem contient à la fois le certificate client et la key. Vous simplement le transmettre aux deux options.