Je suis complètement novice en matière d'OpenSSL et je suis en train de lire un tutoriel sur la programmation d'OpenSSL pour me connecter à un serveur :
www.rtfm.com/openssl-examples/part1.pdf
www.rtfm.com/openssl-examples/part2.pdf
La mise en place des bons certificats s'avère plus délicate que prévu... :(
Lorsque je teste le message avec openssl s_client :
openssl s_client -connect 123.456.789.0:666 -CAfile test.crt -debug
J'obtiens le message d'erreur suivant
profondeur=2 C = GB, ST = Limited, CN = COMODO RSA Certification Authority verify error:num=20:Impossible d'obtenir le certificat de l'émetteur local verify return:0
et ensuite :
error:14094412:Routines SSL:SSL3_READ_BYTES:sslv3 alerte mauvais certificat:s3_pkt.c:1257:alerte SSL numéro 42 140685406562208:error:140790E5:SSL routines:SSL23_WRIT ssl handshake:s23_lib.c:177 :
Voici la chaîne de certificats :
Certificate chain
0
s:myself
i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Organization Validation Secure Server CA
1
s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Organization Validation Secure Server CA
i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
2
s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
Cela fait des heures que j'essaie de faire en sorte que le système reconnaisse ces certificats comme étant corrects, mais en vain...
Ce que j'ai essayé jusqu'à présent :
- diverses variantes de l'ajout du certificat de COMODO à la liste des certificats de confiance en utilisant update-ca-trust.
- ajouter les certificats à la liste des certificats de confiance dans /etc/ssl/certs
- créer des fichiers pem dans un dossier et les ajouter avec -CApath.
- Le problème avec Google, c'est que la plupart des tutoriels abordent ce sujet du point de vue d'un administrateur de serveur, mais je n'ai pas accès au serveur.
Le système d'exploitation est Fedora.
Existe-t-il une méthode structurée pour aborder cette question ?
Modifier : le certificat a été créé comme suit :
openssl req -new -x509 -sha256 -days 365 -key mykey.key -out test.crt