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
|