in capi/lib/service/interpretation.go [288:318]
func assertMayBeRevoked(cert model.CertificateResult, t CertType) (opinion model.Opinion) {
for _, response := range cert.OCSP {
if response.Status == ocsp.Revoked {
continue
}
if response.Error != "" {
interpretation := ""
switch response.Status {
case ocsp.CryptoVerifcationError:
interpretation = fmt.Sprintf("OCSP responder %s could not verify the provided chain at the %s. This is usually accompanied by a verification error thrown by certutil.", response.Responder, t)
case ocsp.BadResponse:
interpretation = fmt.Sprintf("OCSP responder %s gave a bad response for the %s.", response.Responder, t)
}
opinion.Errors = append(opinion.Errors, model.Concern{
Raw: response.Error,
Interpretation: interpretation,
Advise: cert.CrtSh,
})
}
}
for _, crlStatus := range cert.CRL {
if crlStatus.Error != "" {
opinion.Errors = append(opinion.Errors, model.Concern{
Raw: crlStatus.Error,
Interpretation: "An error occurred while retrieving the CRL. This is usually a networking error",
Advise: fmt.Sprintf("If this is a networking error, attempt to verify that CRL endpoint at %s is active and available", crlStatus.Endpoint),
})
}
}
return
}