david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

[ocsp] Handle OCSP responses that don't provide certificates

Certificate authorities are not required to send the certificate used
to sign the OCSP response if the response is signed by the original
issuer.

Modified-by: Michael Brown <mcb30@ipxe.org>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Alexander Chernyakhovsky 2013-10-15 16:03:11 -04:00 committed by Michael Brown
parent e845b7da9b
commit 151e4d9bfa
1 changed files with 7 additions and 2 deletions

View File

@ -867,12 +867,17 @@ static int ocsp_check_signature ( struct ocsp_check *ocsp,
*/
int ocsp_validate ( struct ocsp_check *ocsp, time_t time ) {
struct ocsp_response *response = &ocsp->response;
struct x509_certificate *signer = response->signer;
struct x509_certificate *signer;
int rc;
/* Sanity checks */
assert ( response->data != NULL );
assert ( signer != NULL );
/* The response may include a signer certificate; if this is
* not present then the response must have been signed
* directly by the issuer.
*/
signer = ( response->signer ? response->signer : ocsp->issuer );
/* Validate signer, if applicable. If the signer is not the
* issuer, then it must be signed directly by the issuer.