SSL Return Codes

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