x509_vfy.h 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. // Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. // http://www.apache.org/licenses/LICENSE-2.0
  7. //
  8. // Unless required by applicable law or agreed to in writing, software
  9. // distributed under the License is distributed on an "AS IS" BASIS,
  10. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  11. // See the License for the specific language governing permissions and
  12. // limitations under the License.
  13. #ifndef _X509_VFY_H_
  14. #define _X509_VFY_H_
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18. #define X509_V_OK 0
  19. #define X509_V_ERR_UNSPECIFIED 1
  20. #define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT 2
  21. #define X509_V_ERR_UNABLE_TO_GET_CRL 3
  22. #define X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE 4
  23. #define X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE 5
  24. #define X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY 6
  25. #define X509_V_ERR_CERT_SIGNATURE_FAILURE 7
  26. #define X509_V_ERR_CRL_SIGNATURE_FAILURE 8
  27. #define X509_V_ERR_CERT_NOT_YET_VALID 9
  28. #define X509_V_ERR_CERT_HAS_EXPIRED 10
  29. #define X509_V_ERR_CRL_NOT_YET_VALID 11
  30. #define X509_V_ERR_CRL_HAS_EXPIRED 12
  31. #define X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD 13
  32. #define X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD 14
  33. #define X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD 15
  34. #define X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD 16
  35. #define X509_V_ERR_OUT_OF_MEM 17
  36. #define X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT 18
  37. #define X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN 19
  38. #define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY 20
  39. #define X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE 21
  40. #define X509_V_ERR_CERT_CHAIN_TOO_LONG 22
  41. #define X509_V_ERR_CERT_REVOKED 23
  42. #define X509_V_ERR_INVALID_CA 24
  43. #define X509_V_ERR_PATH_LENGTH_EXCEEDED 25
  44. #define X509_V_ERR_INVALID_PURPOSE 26
  45. #define X509_V_ERR_CERT_UNTRUSTED 27
  46. #define X509_V_ERR_CERT_REJECTED 28
  47. /* These are 'informational' when looking for issuer cert */
  48. #define X509_V_ERR_SUBJECT_ISSUER_MISMATCH 29
  49. #define X509_V_ERR_AKID_SKID_MISMATCH 30
  50. #define X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH 31
  51. #define X509_V_ERR_KEYUSAGE_NO_CERTSIGN 32
  52. #define X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER 33
  53. #define X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION 34
  54. #define X509_V_ERR_KEYUSAGE_NO_CRL_SIGN 35
  55. #define X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION 36
  56. #define X509_V_ERR_INVALID_NON_CA 37
  57. #define X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED 38
  58. #define X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE 39
  59. #define X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED 40
  60. #define X509_V_ERR_INVALID_EXTENSION 41
  61. #define X509_V_ERR_INVALID_POLICY_EXTENSION 42
  62. #define X509_V_ERR_NO_EXPLICIT_POLICY 43
  63. #define X509_V_ERR_DIFFERENT_CRL_SCOPE 44
  64. #define X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE 45
  65. #define X509_V_ERR_UNNESTED_RESOURCE 46
  66. #define X509_V_ERR_PERMITTED_VIOLATION 47
  67. #define X509_V_ERR_EXCLUDED_VIOLATION 48
  68. #define X509_V_ERR_SUBTREE_MINMAX 49
  69. /* The application is not happy */
  70. #define X509_V_ERR_APPLICATION_VERIFICATION 50
  71. #define X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE 51
  72. #define X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX 52
  73. #define X509_V_ERR_UNSUPPORTED_NAME_SYNTAX 53
  74. #define X509_V_ERR_CRL_PATH_VALIDATION_ERROR 54
  75. /* Another issuer check debug option */
  76. #define X509_V_ERR_PATH_LOOP 55
  77. /* Suite B mode algorithm violation */
  78. #define X509_V_ERR_SUITE_B_INVALID_VERSION 56
  79. #define X509_V_ERR_SUITE_B_INVALID_ALGORITHM 57
  80. #define X509_V_ERR_SUITE_B_INVALID_CURVE 58
  81. #define X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM 59
  82. #define X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED 60
  83. #define X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256 61
  84. /* Host, email and IP check errors */
  85. #define X509_V_ERR_HOSTNAME_MISMATCH 62
  86. #define X509_V_ERR_EMAIL_MISMATCH 63
  87. #define X509_V_ERR_IP_ADDRESS_MISMATCH 64
  88. /* DANE TLSA errors */
  89. #define X509_V_ERR_DANE_NO_MATCH 65
  90. /* security level errors */
  91. #define X509_V_ERR_EE_KEY_TOO_SMALL 66
  92. #define X509_V_ERR_CA_KEY_TOO_SMALL 67
  93. #define X509_V_ERR_CA_MD_TOO_WEAK 68
  94. /* Caller error */
  95. #define X509_V_ERR_INVALID_CALL 69
  96. /* Issuer lookup error */
  97. #define X509_V_ERR_STORE_LOOKUP 70
  98. /* Certificate transparency */
  99. #define X509_V_ERR_NO_VALID_SCTS 71
  100. #define X509_V_ERR_PROXY_SUBJECT_NAME_VIOLATION 72
  101. #ifdef __cplusplus
  102. }
  103. #endif
  104. #endif