OCSP signature verification discards OpenSSL error information
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Domínio
- cryptography, security
Direção de pesquisa
Comece em ext/openssl/ossl_ocsp.c, próximo de ossl_ocspreq_verify nas linhas 428-429, e então siga o caminho correspondente de verificação da resposta. Compare o comportamento de uma verificação malsucedida com OpenSSL.errors e OpenSSL.debug usando os exemplos da issue. Considera-se concluído quando os chamadores puderem inspecionar as informações de erro do OpenSSL após uma falha na verificação da requisição e da resposta, e o comportamento resultante da API estiver coberto por testes.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
In https://github.com/ruby/openssl/blob/master/ext/openssl/ossl_ocsp.c#L428-L429, ossl_ocspreq_verify does:
if (result <= 0)
ossl_clear_error();
return result > 0 ? Qtrue : Qfalse;
If the result is not successful, the error information is cleared. This makes it not available in OpenSSL.errors for inspection by the caller.
Response verification has the same issue.
To get this information, one needs to enable OpenSSL.debug prior to calling the verify method.
Example missing information:
(byebug) resp.verify([ca_cert], store)
Result: 0
false
(byebug) OpenSSL.errors
[]
(byebug) resp.verify([ca_cert], store)
Result: 0
false
(byebug) OpenSSL.errors
[]
(byebug) OpenSSL.debug=true
true
(byebug) resp.verify([ca_cert], store)
(byebug):1: warning: error on stack: error:27069065:OCSP routines:OCSP_basic_verify:certificate verify error (Verify error:self signed certificate)
Result: 0
false
(byebug) store.add_cert(ca_cert)
#<OpenSSL::X509::Store:0x00005630c0470120 @verify_callback=nil, @error=nil, @error_string=nil, @chain=nil, @time=nil>
(byebug) resp.verify [],store
(byebug):1: warning: error on stack: error:27069076:OCSP routines:OCSP_basic_verify:signer certificate not found
Result: 0
false
(byebug) resp.verify [ca_cert],store
Result: 1
true
Without the debug information, figuring out why verification failed is impractical.
One way of solving this is to provide a method like verify! which would raise an exception if verification fails, including the openssl error information into the method.
- Linguagem predominante
- C
- Estrelas
- 276
- Forks
- 203
- Merge médio
- 1d 7h
- PRs com merge (30d)
- 9
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de ruby/openssl
-
Add OpenSSL::SSL::SSLContext#client_hello_cb= (binding for SSL_CTX_set_client_hello_cb())Talvez já em andamento @kou assumiu há 8 dias. Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 53/100
ruby/openssl#1125 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
ruby/openssl#1118 · 5 comentários ·
Mantenedores costumam responder em até 1 dia
-
Expose XOFs like SHAKE128 and SHAKE256Talvez já em andamento @rhenium assumiu há 105 dias. Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
ruby/openssl#1082 · 4 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
ruby/openssl#1075 · 4 comentários ·
Mantenedores costumam responder em até 1 dia
-
Unchecked *_set_* callsTalvez já em andamento @ndossche assumiu há 175 dias. Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
ruby/openssl#1038 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de ruby/openssl
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
Mantenedores costumam responder em até 1 dia
-
Bug Status: Needs Triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
[onnx] update to 1.22.0Abertacategory:port-update
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 2 dias
-
Update OpenBSD CI to OpenBSD 8.0 and vmactions/openbsd-vm v1.4.9Talvez já em andamento @hyoklee assumiu hoje. Aberta
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 85/100
Mantenedores costumam responder em até 2 dias
-
v9.6.0: CMake incorrectly enforces presence of libevdevTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
Mantenedores costumam responder em até 1 dia