# OpenSSL Errors

*Advantage Error Guide*

When using AES encryption and TLS Communications, Advantage uses libraries built from the OpenSSL project. Depending on the situation, the error text associated with Advantage errors may contain error numbers from the OpenSSL libraries. The error information may be in the Advantage error log (ads_err.*) or in error information returned to the client application.

## Contents

- [SSL Errors](#ssl-errors)
- [X509 Certificate Errors](#x509-certificate-errors)

## SSL Errors {#ssl-errors}

The following are errors that may occur when using TLS Communications. The following error numbers and names are possible. For more detailed information on these errors, see http://www.openssl.org/docs/ssl/SSL_get_error.html. In addition to the error number, there may be additional error text generated by the library that can help determine the problem.

| 1 | SSL_ERROR_SSL |
| --- | --- |
| 2 | SSL_ERROR_WANT_READ |
| 3 | SSL_ERROR_WANT_WRITE |
| 4 | SSL_ERROR_WANT_X509_LOOKUP |
| 5 | SSL_ERROR_SYSCALL |
| 6 | SSL_ERROR_ZERO_RETURN |
| 7 | SSL_ERROR_WANT_CONNECT |
| 8 | SSL_ERROR_WANT_ACCEPT |

## X509 Certificate Errors {#x509-certificate-errors}

When using TLS Communications, the certificate is verified by the OpenSSL libraries. If errors occur, the connection will not be established. The following error numbers and names are possible. For more detailed information on a particular error, please see http://www.openssl.org/docs/crypto/X509_STORE_CTX_get_error.html.

| 2 | X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT |
| --- | --- |
| 3 | X509_V_ERR_UNABLE_TO_GET_CRL |
| 4 | X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE |
| 5 | X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE |
| 6 | X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY |
| 7 | X509_V_ERR_CERT_SIGNATURE_FAILURE |
| 8 | X509_V_ERR_CRL_SIGNATURE_FAILURE |
| 9 | X509_V_ERR_CERT_NOT_YET_VALID |
| 10 | X509_V_ERR_CERT_HAS_EXPIRED |
| 11 | X509_V_ERR_CRL_NOT_YET_VALID |
| 12 | X509_V_ERR_CRL_HAS_EXPIRED |
| 13 | X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD |
| 14 | X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD |
| 15 | X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD |
| 16 | X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD |
| 17 | X509_V_ERR_OUT_OF_MEM |
| 18 | X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT |
| 19 | X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN |
| 20 | X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY |
| 21 | X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE |
| 22 | X509_V_ERR_CERT_CHAIN_TOO_LONG |
| 23 | X509_V_ERR_CERT_REVOKED |
| 24 | X509_V_ERR_INVALID_CA |
| 25 | X509_V_ERR_PATH_LENGTH_EXCEEDED |
| 26 | X509_V_ERR_INVALID_PURPOSE |
| 27 | X509_V_ERR_CERT_UNTRUSTED |
| 28 | X509_V_ERR_CERT_REJECTED |
| 29 | X509_V_ERR_SUBJECT_ISSUER_MISMATCH |
| 30 | X509_V_ERR_AKID_SKID_MISMATCH |
| 31 | X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH |
| 32 | X509_V_ERR_KEYUSAGE_NO_CERTSIGN |
| 33 | X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER |
| 34 | X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION |
| 35 | X509_V_ERR_KEYUSAGE_NO_CRL_SIGN |
| 36 | X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION |
| 37 | X509_V_ERR_INVALID_NON_CA |
| 38 | X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED |
| 39 | X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE |
| 40 | X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED |
| 41 | X509_V_ERR_INVALID_EXTENSION |
| 42 | X509_V_ERR_INVALID_POLICY_EXTENSION |
| 43 | X509_V_ERR_NO_EXPLICIT_POLICY |
| 44 | X509_V_ERR_UNNESTED_RESOURCE |
| 50 | X509_V_ERR_APPLICATION_VERIFICATION |

*[PO]: Purchase Order  
*[AZA]: local folder
*[(PO]: Purchase Order  
*[RQ]: Requisition  
*[(RQ]: Requisition  
*[RfQ]: Request for Quotation  
*[(RfQ]: Request for Quotation  
*[SO]: Service Order  
*[(SO]: Service Order  
*[SQ]: Service Requisition  
*[(SQ]: Service Requisition  
*[SRfQ]: Service Request for Quotation  
*[OoB]: Open on Board  
*[(OoB]: Open on Board 
*[ART]: Average Running Time (operation hours per day) 
*[MC]: Master Contract
*[ADS]: Advantage Database Server (database engine used in previous versions of the ZeeBORN software)
*[.replic]: file extension for replication files (aka data transfer files)
