[C] SSL

SSL [C] - C - Programmation

Marsh Posté le 03-08-2006 à 15:18:40    

Salut, plus j'avance dans mon prog et moins j'ai l'impression de comprendre grand chose à SSL.
Je fais donc appel à ceux qui connaissent un pti peu SSL.
 
je veux faire de l'authentification simple, mutuelle dans un 2° temps.
 
Voila ma facon de voir et quelques questions en vrac :
 
sur mon client tout d'abord, je possède 3 fichiers :
- un fichier CA.PEM, un CAROOT.PEM et une LISTE.PEM.
il me semble que CAROOT est le certificat "racine", et CA un certificats (?)
pour la liste, je pense qu'il s'agit de la liste de "révocation" .
d'apres mon enquete, la liste de révocation est utilsée pour vérifier que le n° de serie (il y a un champ pour n°serie dans ma doc) du certif serveur n'est pas 'interdit' si il est présent dans cette liste.
 
 
donc, je paramètre ma connexion SSL, et je me connecte.
ensuite, je verifie le n° de serie (avec liste.pem) et les dates de validité.
 
Question bête 1 :
La vérification du n° serie doit bien se faire sur le certif envoyé par le serveur et non sur celui du client (CA/CAROOT.PEM)
Question bête 2 :
C'est le trou noir pour moi : dans ma doc je ne vois nulle part parler de la vérification du certif envoyé par le serveur
en effet, je pensais qu'à un moment ou un  autre il fallait faire des comparaisons entre le certif serveur et ceux présent sur le client. Si c'est  bien le cas, pourquoi je me retrouve avec 2 certifs coté client (CA/CROOT), lequel comparer avec celui du serv ?
en gros on a :
le client se connect, le serv envoie son certif ... et .. et voila c'est bon l'authentification est correcte. Il me manque une partie non ?
 
Vu le peu d'informations que j'arrive a mettre en relation je me dis que je fais franchement mauvaise route.
Bref comme vous pouvez le voire, je suis largué et après 2j de net, la doc que j'ai pû trouver ne m'aide pas vraiement
Quelqu'un peut-il me renseigner, me filler des liens simple avec lesquels ils s'est initiés  ?

Reply

Marsh Posté le 03-08-2006 à 15:18:40   

Reply

Marsh Posté le 03-08-2006 à 16:15:19    

/cry

Reply

Marsh Posté le 11-08-2006 à 16:32:24    

Oula pas mal de confusions... Tout n'est pas clair, si je me réfère aux appellations usuelles pour les certificats je te dirais (mais peut être s'agit il simplement de noms arbitraires que tu as donné à tes fichiers...):
- le "CAROOT" (racine) te sert à signer les autres certificats: seul le programme qui te sert à générer et signer tes certificats qui en a besoin, les programmes qui se connectent (clients,serveur) en ont aucune utilité, cela peut même être dangereux de leur mettre à disposition.
-le "CA" (Certificat d'Autorité) doit être mis à disposition de tes programmes de connexion (clients et serveur) et il te permet de vérifier qu'un certificat à bien été signé avec le CAROOT.
-un certificat pour le serveur
-un certificat par client
En SSL, quand tu "vérifies" si un certificat est validé ou non, tu testes s'il a été signé avec ton CAROOT (donc tu utilises ton CA pour faire cette vérification).
 
Enfin en général list.pem c'est une liste de révocation de certificats (certificats comportant la bonne signature mais à qui tu refuses la connexion).


Message édité par TheDuke34 le 11-08-2006 à 16:34:13
Reply

Marsh Posté le 31-08-2006 à 14:46:53    

merci beaucoup pour ces renseignements, ils m'ont permis d'avancer puisque l'authentification simple fonctionne et je peux aussi valider le certif serveur d'après ma liste de revocation. Je bloque maintenant sur la mutuelle :
j'ai pû récupérer 1 certificat "client" (apparement c'est pas tout le monde vu la securité imposé sur l'archive)
coté serveur j'ai aussi un fichier acclient.pem et une liste de révocation
coté client, d'après un sample, mon api ssl demande une clé publique et un certificat.
ca tombe bien, en meme temps que mon certifcat j'ai aussi un fichier client.key.
là où je bloque c'est que mon fichier en question ne semble pas etre reellement un certificat puisque qu'il faut le "transformer" avec la commande suivante :
openssl pkcs12 -in mon_fichier_recu.p12 -info -out cert.pem
je lance :

Enter Import Password:
MAC Iteration 2000
MAC verified OK
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2000
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
Certificate bag
Certificate bag
Certificate bag


j'ai le bom mot de passe (ouf) mais par contre aucune idee de la signification de "PEM pass phrase" (j'ai mis un truc au hazard)
au finale je me retrouve avec un gros fichier PEM qui contient une clé rsa, et 3 "bloc" de certificats.
 
arrgh
 
j'ai commencé a decouper ce fichier en un fichier .key,et 3 fichiers cetificats et à tester toute les combinaisons ...en vain.
je souhaiterais avoir quelques informations conceernant le but de cette commande opensll.


Message édité par djobidjoba le 31-08-2006 à 14:48:18
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed