Openssl: certificats et signatures de fichiers

Openssl: certificats et signatures de fichiers - Logiciels - Linux et OS Alternatifs

Marsh Posté le 14-11-2005 à 11:43:57    

Bonjour,
 
Je ne m'en sors pas avec openssl et les certificats :(
en fait j'aurai besoin de me creer une clef privee (pour signer des fichiers) ainsi qu'une une requete de certificat.
avec ca on me filerai un certificat qui me permettrait de verifier les signatures de fichiers, mais c'est la que ca ne va pas.
voici donc ce que je fais:
creation de la clef privee:

#openssl genrsa 1024 > key.pem
Generating RSA private key, 1024 bit long modulus
............................++++++
..........++++++
e is 65537 (0x10001)


creation de la demande de certificat

#openssl req -new -key key.pem > csr.pem
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []:
 
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:


je m'auto signe le certificat (c'est pas bô mais temporaire et bien plus commode pour mes tests)

#openssl x509 -req -days 365 -in csr.pem -signkey key.pem -out cert.pem
Signature ok
subject=/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd
Getting Private key


a ce stade j'ai ma clef privee (key.pem) et mon certificat signé (cert.pem), je vais donc pouvoir signer des fichiers:

#openssl dgst -binary -out fichier_test.sign -sign key.pem fichier_test


mais voila mon probleme, je ne sais pas comment verifier mes signatures avec le certificat, j'ai bien essaye ca mais ca ne marche pas:

#openssl dgst -signature fichier_test.sign -verify cert.pem fichier_test
unable to load key file


 
Alors j'ai bien l'impression que les certificats ne fonctionnent pas de cette maniere (et je suis en train de me dire qu'en fait j'ai pas tres bien compris comment cela fonctionnait), mais je ne trouve nulle part comment les utiliser, alors si une ame charitable pouvait m'aider...
Merci,
Z.


Message édité par zoidberg le 14-11-2005 à 11:44:40
Reply

Marsh Posté le 14-11-2005 à 11:43:57   

Reply

Marsh Posté le 16-11-2005 à 11:13:47    

Bon, en fait je me suis rendu compte qu'il ne fallait pas verifier la signature avec le certificat mais avec une clef publique generee a partir du certificat:

#openssl x509 -in cert.pem -pubkey > pub.pem


et ensuite il n'y a plus qu'a verifier:

#openssl dgst -signature fichier_test.sign -verify pub.pem fichier_test
Verified OK


et le tour est joue...
 
Merci de votre attention ;) et a bientot pour de nouvelles aventures...
Z.

Reply

Marsh Posté le 16-11-2005 à 12:23:12    

Hello,
 
Perso, j'ai suivi cette methode : http://www.debian-administration.org/articles/284
 
Je ne l'ai pas teste pour Apache, que pour Jabber. Par contre, j'ai une erreur comme quoi le certificat n'est pas valide :(


---------------
"I intend to live the first half of my life.I don't care about the rest."Errol Flynn."The difference between genius and stupidity is that genius has its limits."Albert Einstein
Reply

Marsh Posté le 16-11-2005 à 13:34:35    

quand tu regarde le contenu de ton certificat, tes dates sont bien valides?

openssl x509 -in cert.pem -noout -dates


Message édité par zoidberg le 16-11-2005 à 13:36:20
Reply

Marsh Posté le 16-11-2005 à 14:13:19    

J'ai edite le openssl.cnf pour changer la valeur de duree. J'ai mis 3650 jours :D
Mais sans rien modifier, c'etait un an, et le message etait le meme (sous Psi)


---------------
"I intend to live the first half of my life.I don't care about the rest."Errol Flynn."The difference between genius and stupidity is that genius has its limits."Albert Einstein
Reply

Sujets relatifs:

Leave a Replay

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