mirror of
https://github.com/xcat2/xNBA.git
synced 2024-11-28 12:19:46 +00:00
Handle OCSP responses that don't provide certificates
From 9f2bbf20533a6c006820c5b03be6f3a93e8b3e99 Mon Sep 17 00:00:00 2001 From: Alexander Chernyakhovsky <achernya@google.com> Date: Tue, 15 Oct 2013 16:03:11 -0400 Subject: [PATCH 4/4] Handle OCSP responses that don't provide certificates Certificate authorities are not required to send the certificate used to sign the OCSP response under some scenarios, namely in the case when the certificate is the same as the one that did the original issue. The iPXE code previously assumed that such cases did not exist, and valid OCSP responses were dropped. Change these semantics by attempting to validate with the original issuer if no specific signing certificate was provided. --- src/crypto/ocsp.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
This commit is contained in:
parent
4387f69dcb
commit
d1ad215231
@ -872,7 +872,14 @@ int ocsp_validate ( struct ocsp_check *ocsp, time_t time ) {
|
||||
|
||||
/* Sanity checks */
|
||||
assert ( response->data != NULL );
|
||||
assert ( signer != NULL );
|
||||
/* If the signer is NULL, then we did not receive any
|
||||
* supplementary certificates. Assume it's the issuer, and
|
||||
* move on with life. If it doesn't validate, then the OCSP
|
||||
* response is invalid anyway.
|
||||
*/
|
||||
if ( signer == NULL ) {
|
||||
signer = ocsp->issuer;
|
||||
}
|
||||
|
||||
/* Validate signer, if applicable. If the signer is not the
|
||||
* issuer, then it must be signed directly by the issuer.
|
||||
|
Loading…
Reference in New Issue
Block a user