When using the IBM SSL API's there are times when an error will be issued to your program. For example, it is common these days to have a RC(23) error when communicating with remote web services from your RPG program. Using this table you can determine that RC(23) means SSL_ERROR_NOT_TRUSTED_ROOT and subsequently go and install the remote web services Certificate Authority.
| Return Code | Constant Name |
| 0 | GSK_OK |
| 4 | GSK_INSUFFICIENT_STORAGE |
| 502 | GSK_WOULD_BLOCK |
| 1 | GSK_INVALID_HANDLE |
| 2 | GSK_API_NOT_AVAILABLE |
| 3 | GSK_INTERNAL_ERROR |
| 5 | GSK_INVALID_STATE |
| 107 | GSK_KEYFILE_CERT_EXPIRED |
| 201 | GSK_NO_KEYFILE_PASSWORD |
| 202 | GSK_KEYRING_OPEN_ERROR |
| 301 | GSK_CLOSE_FAILED |
| 402 | GSK_ERROR_NO_CIPHERS |
| 403 | GSK_ERROR_NO_CERTIFICATE |
| 404 | GSK_ERROR_BAD_CERTIFICATE |
| 405 | GSK_ERROR_UNSUPPORTED_CERTIFICATE_TYPE |
| 406 | GSK_ERROR_IO |
| 407 | GSK_ERROR_BAD_KEYFILE_LABEL |
| 408 | GSK_ERROR_BAD_KEYFILE_PASSWORD |
| 409 | GSK_ERROR_BAD_KEY_LEN_FOR_EXPORT |
| 410 | GSK_ERROR_BAD_MESSAGE |
| 411 | GSK_ERROR_BAD_MAC |
| 412 | GSK_ERROR_UNSUPPORTED |
| 414 | GSK_ERROR_BAD_CERT |
| 415 | GSK_ERROR_BAD_PEER |
| 417 | GSK_ERROR_SELF_SIGNED |
| 420 | GSK_ERROR_SOCKET_CLOSED |
| 421 | GSK_ERROR_BAD_V2_CIPHER |
| 422 | GSK_ERROR_BAD_V3_CIPHER |
| 428 | GSK_ERROR_NO_PRIVATE_KEY |
| 501 | GSK_INVALID_BUFFER_SIZE |
| 601 | GSK_ERROR_NOT_SSLV3 |
| 602 | GSK_MISC_INVALID_ID |
| 701 | GSK_ATTRIBUTE_INVALID_ID |
| 702 | GSK_ATTRIBUTE_INVALID_LENGTH |
| 703 | GSK_ATTRIBUTE_INVALID_ENUMERATION |
| 705 | GSK_ATTRIBUTE_INVALID_NUMERIC |
| 6000 | GSK_OS400_ERROR_NOT_TRUSTED_ROOT |
| 6001 | GSK_OS400_ERROR_PASSWORD_EXPIRED |
| 6002 | GSK_OS400_ERROR_NOT_REGISTERED |
| 6003 | GSK_OS400_ERROR_NO_ACCESS |
| 6004 | GSK_OS400_ERROR_CLOSED |
| 6005 | GSK_OS400_ERROR_NO_CERTIFICATE_AUTHORITIES |
| 6007 | GSK_OS400_ERROR_NO_INITIALIZE |
| 6008 | GSK_OS400_ERROR_ALREADY_SECURE |
| 6009 | GSK_OS400_ERROR_NOT_TCP |
| 6010 | GSK_OS400_ERROR_INVALID_POINTER |
| 6011 | GSK_OS400_ERROR_TIMED_OUT |
| 6012 | GSK_OS400_ASYNCHRONOUS_RECV |
| 6013 | GSK_OS400_ASYNCHRONOUS_SEND |
| 6014 | GSK_OS400_ERROR_INVALID_OVERLAPPEDIO_T |
| 6015 | GSK_OS400_ERROR_INVALID_IOCOMPLETIONPORT |
| 6016 | GSK_OS400_ERROR_BAD_SOCKET_DESCRIPTOR |
| 6017 | GSK_OS400_ERROR_CERTIFICATE_REVOKED |
| 6018 | GSK_OS400_ERROR_CRL_INVALID |
| 6019 | GSK_OS400_ASYNCHRONOUS_SOC_INIT |
| 0 | Successful return |
| -1 | SSL_ERROR_NO_CIPHERS |
| -2 | SSL_ERROR_NO_CERTIFICATE |
| -4 | SSL_ERROR_BAD_CERTIFICATE |
| -6 | SSL_ERROR_UNSUPPORTED_CERTIFICATE_TYPE |
| -10 | SSL_ERROR_IO |
| -11 | SSL_ERROR_BAD_MESSAGE |
| -12 | SSL_ERROR_BAD_MAC |
| -13 | SSL_ERROR_UNSUPPORTED |
| -15 | SSL_ERROR_BAD_CERT (map to -4) |
| -16 | SSL_ERROR_BAD_PEER (map to -11) |
| -18 | SSL_ERROR_SELF_SIGNED |
| -21 | SSL_ERROR_BAD_STATE |
| -22 | SSL_ERROR_SOCKET_CLOSED |
| -23 | SSL_ERROR_NOT_TRUSTED_ROOT |
| -24 | SSL_ERROR_CERT_EXPIRED |
| -26 | SSL_ERROR_BAD_KEY_LEN_FOR_EXPORT |
| -91 | SSL_ERROR_KEYPASSWORD_EXPIRED |
| -92 | SSL_ERROR_CERTIFICATE_REJECTED |
| -93 | SSL_ERROR_SSL_NOT_AVAILABLE |
| -94 | SSL_ERROR_NO_INIT |
| -95 | SSL_ERROR_NO_KEYRING |
| -97 | SSL_ERROR_BAD_CIPHER_SUITE |
| -98 | SSL_ERROR_CLOSED |
| -99 | SSL_ERROR_UNKNOWN |
| -1009 | SSL_ERROR_NOT_REGISTERED |
| -1011 | SSL_ERROR_NO_CERTIFICATE_AUTHORITIES |
| -9998 | SSL_ERROR_NO_REUSE |