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?

Foi útil?

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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top