34 case ValidationError::Code::NO_ERROR:
35 return os <<
"No error";
36 case ValidationError::Code::INVALID_SIGNATURE:
37 return os <<
"Invalid signature";
38 case ValidationError::Code::NO_SIGNATURE:
39 return os <<
"Missing signature";
40 case ValidationError::Code::CANNOT_RETRIEVE_CERT:
41 return os <<
"Cannot retrieve certificate";
42 case ValidationError::Code::EXPIRED_CERT:
43 return os <<
"Certificate expired";
44 case ValidationError::Code::LOOP_DETECTED:
45 return os <<
"Loop detected in certification chain";
46 case ValidationError::Code::MALFORMED_CERT:
47 return os <<
"Malformed certificate";
48 case ValidationError::Code::EXCEEDED_DEPTH_LIMIT:
49 return os <<
"Exceeded validation depth limit";
50 case ValidationError::Code::INVALID_KEY_LOCATOR:
51 return os <<
"Key locator violates validation policy";
52 case ValidationError::Code::POLICY_ERROR:
53 return os <<
"Validation policy error";
54 case ValidationError::Code::IMPLEMENTATION_ERROR:
55 return os <<
"Internal implementation error";
56 case ValidationError::Code::USER_MIN:
59 if (code >= ValidationError::Code::USER_MIN) {
63 return os <<
"Unrecognized error code " <<
to_underlying(code);
70 os << static_cast<ValidationError::Code>(error.
getCode());
72 os <<
" (" << error.
getInfo() <<
")";
Validation error code and optional detailed error message.
const std::string & getInfo() const
Code
Known validation error codes.
std::ostream & operator<<(std::ostream &os, const AdditionalDescription &desc)
constexpr std::underlying_type_t< T > to_underlying(T val) noexcept