Status desconhecido do OCSP ao passar no certificado, bom status ao passar no serial
-
20-12-2019 - |
Pergunta
Ok, então eu tenho um sistema CA multicamadas parecido com este:
-ROOT_CA
----intermediário_CA
--------intermediário_CA2
------------certificados do cliente...
Eu tenho um respondedor OCSP configurado em intermedia_CA2 que é iniciado assim:
$ 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
No lado do cliente, faço uma solicitação ocsp assim:
$ openssl ocsp -issuer ca_crt_chain.crt -CAfile ca_crt_chain.crt -cert client.crt -text -host localhost:xxxx -verify_other... -trust_other
Observe que client.crt é apenas o certificado do cliente, não a cadeia inteira, embora eu tenha tentado das duas maneiras e nenhuma funcionou.Sempre retorna
Response verify OK
client.crt: unknown
Se eu mudar -cert client.crt
para -serial 0xXXXXXXXXX
(Obviamente passando um serial válido que corresponde a client.crt) então tudo funciona com:
Response verify OK
0xXXXXXXXXX: good
Curiosamente, se eu examinar a solicitação no primeiro exemplo, ela está, de fato, enviando o serial correto.
Eu não consigo entender isso.Alguma ideia?
Solução
Portanto, a solução é que aparentemente o openssl ocsp não gosta de arquivos em cadeia.Então minha chamada de servidor fica assim agora:
$ 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
Observe que seria mais preferível ter um par de chaves totalmente separado para assinatura, mas sem.
A conexão do cliente ficaria assim:
$ openssl ocsp -issuer intermediate_ca_2.crt -CApath /path/to/trust/store -cert client.crt -text -url http://localhost:xxxx