JWK-Validator: NullPointerException in Methode responseNonceValid
Zusammenfassung
Die Methode responseNonceValid
wirft beim Aufruf von ocspReq.getExtension(OCSPObjectIdentifiers.id_pkix_ocsp_nonce).getExtnValue()
eine NullPointerException
, wenn die OCSP-Response andere Extensions enthält, aber keine Nonce.
Wie verhält sich der aktuelle Fehler?
- Eine
NullPointerException
wird geworfen
Was ist das erwartete richtige Verhalten?
- The Methode prüft vor Aufruf von
getExtnValue
, dass das Ergebnis vonocspReq.getExtension(OCSPObjectIdentifiers.id_pkix_ocsp_nonce)
nichtnull
ist. - Im Fehlerfall wird das Ereignis geloggt und die Methode gibt
false
zurück (return false;
).
Relevante Protokolle/Screenshots/Anfragen
private boolean responseNonceValid(OCSPReq ocspReq, BasicOCSPResp basicResponse, X509Certificate leafCert, String serviceURL) {
if (!basicResponse.hasExtensions()) {
log.debug("OCSP response for leaf cert {} and url {} returned no extensions and therefore no nonce",
leafCert.getSerialNumber(), serviceURL);
return false;
}
var reqNonce = ocspReq.getExtension(OCSPObjectIdentifiers.id_pkix_ocsp_nonce).getExtnValue();
var respNonce = basicResponse.getExtension(OCSPObjectIdentifiers.id_pkix_ocsp_nonce).getExtnValue();
if (!reqNonce.equals(respNonce)) {
log.debug("Request nonce and response nonce are not equal for leaf cert {} and url {}",
leafCert.getSerialNumber(), serviceURL);
return false;
}
return true;
}