Statut OCSP inconnu lors du passage du certificat, bon statut lors du passage du numéro de série
-
20-12-2019 - |
Question
D'accord, j'ai donc un système ca multicouche qui ressemble à ceci :
-ROOT_CA
----intermédiaire_CA
--------intermédiaire_CA2
------------certificats clients...
J'ai un répondeur OCSP configuré sur intermédiaire_CA2 qui démarre comme ceci :
$ openssl ocsp -index intermedia_ca_2_index.txt -CA ca_crt_chain.crt -rsigner intermedia_ca_2.crt -rkey intermedia_ca_2.key -port xxxx -text
Côté client, je fais une requête ocsp comme ceci :
$ openssl ocsp -issuer ca_crt_chain.crt -CAfile ca_crt_chain.crt -cert client.crt -text -host localhost:xxxx -verify_other... -trust_other
Notez que client.crt n'est que le certificat client, pas la chaîne entière, même si j'ai essayé les deux méthodes et aucune ne fonctionne.Ça revient toujours
Response verify OK
client.crt: unknown
Si je change -cert client.crt
à -serial 0xXXXXXXXXX
(En passant évidemment un numéro de série valide qui correspond à client.crt) alors tout fonctionne avec :
Response verify OK
0xXXXXXXXXX: good
Curieusement, si j'examine la demande du premier exemple, il s'agit bien de l'envoi du bon numéro de série.
Je n'arrive pas du tout à comprendre ça.Des idées?
La solution
La solution est donc qu'apparemment openssl ocsp n'aime pas les fichiers en chaîne.Mon appel au serveur ressemble donc à ceci :
$ openssl ocsp -index intermedia_ca_2_index.txt -CA intermediate_ca_2.crt -rsigner intermedia_ca_2.crt -rkey intermedia_ca_2.key -port xxxx -text
Notez qu'il serait préférable d'avoir une paire de clés entièrement séparée pour la signature, mais w/e.
La connexion client ressemblerait alors à ceci :
$ openssl ocsp -issuer intermediate_ca_2.crt -CApath /path/to/trust/store -cert client.crt -text -url http://localhost:xxxx