Start of changeRetrieve TLS Attributes (QsoRtvTLSA) API

 #include <qsotlsa.h>
  Required Parameter Group:


  Service Program: QSOTLSA

  Default Public Authority: *USE

  Threadsafe: Yes

The Retrieve TLS Attributes (QsoRtvTLSA) API retrieves TLS attributes. The system level settings are controlled by using a combination of these interfaces:


Authorities and Locks

None.


Required Parameter Group

Format name
INPUT; CHAR(8)

The format of the information to be returned. The format names supported are:


Receiver variable
OUTPUT; CHAR(*)

The variable that is to receive the information requested.

Length of receiver variable
I/O; BINARY(4)

The length of the receiver variable and the variable in which to return the length of the information requested. If this value is smaller than the size needed to return all of the data requested, an error is returned. If this value is larger than the actual size of the receiver variable, the result is not predictable.

Error code
I/O; CHAR(*)

The structure in which to return error information. For the format of the structure, see Error code parameter.


Format of TLS Attributes Information

To retrieve the current TLS attributes, use format TLSA0100. To retrieve the current TLS handshake connection counts, use format TLSA0200.


TLSA0100 Format

This format returns information regarding the TLS attributes on the system. For detailed descriptions of the fields in the table, see Field Descriptions.



Field Descriptions

Supported/eligible default/default transport layer security (TLS) protocol values. The current values for the transport layer security (TLS) protocols. Unused array elements will contain hexadecimal zeros. The possible values follow:

Supported/eligible default/default transport layer security (TLS) cipher specifications list values. The current values for the transport layer security (TLS) cipher specifications list. Unused array elements will contain hexadecimal zeros. The possible values follow:

Supported/default transport layer security (TLS) signature algorithm values. The current values for transport layer security (TLS) signature algorithms. Unused array elements will contain hexadecimal zeros. The possible values follow:

Supported/default transport layer security (TLS) signature algorithm certificate values. The current values for transport layer security (TLS) signature algorithm certificates. Unused array elements will contain hexadecimal zeros. The possible values follow:

Supported/default transport layer security (TLS) elliptical curve named curve values. The current values for transport layer security (TLS) elliptical curve named curves. Unused array elements will contain hexadecimal zeros. The possible values follow:

Minimum RSA key size. The value for the minimum RSA key size (in bits) allowed for a RSA certificate being sent or received. A value of 0 indicates any size is valid.

Renegotiation type. Determines if TLS renegotiation is allowed. The first three values have meaning only for communication with peers that do not support RFC 5746. This field has meaning for TLSv1.2 and prior versions; it does not apply to TLSv1.3 and newer versions. The possible values follow:

SSLv2 handshake connection count. The current running count of System TLS connections that used the SSLv2 protocol.

SSLv3 handshake connection count. The current running count of System TLS connections that used the SSLv3 protocol.

TLSv1.0 handshake connection count. The current running count of System TLS connections that used the TLSv1.0 protocol.

TLSv1.1 handshake connection count. The current running count of System TLS connections that used the TLSv1.1 protocol.

TLSv1.2 handshake connection count. The current running count of System TLS connections that used the TLSv1.2 protocol.

TLSv1.3 handshake connection count. The current running count of System TLS connections that used the TLSv1.3 protocol.

OCSP certificate revocation checking. Determines if OCSP certificate revocation checking is enabled. The possible values follow:

Enable handshake connection count. Determines if System TLS handshake connections are counted. The possible values follow:

Secure session caching. Determines if System TLS secure session caching is enabled. The possible values follow:

Client requires server supports RFC 5746. Determines if the TLS client requires that the server indicates support for RFC 5746 renegotiation. This field has meaning for TLSv1.2 and prior versions; it does not apply to TLSv1.3 and newer versions. The possible values follow:

Server requires client supports RFC 5746. Determines if the TLS server requires that the client indicates support for RFC 5746 renegotiation. This field has meaning for TLSv1.2 and prior versions; it does not apply to TLSv1.3 and newer versions. The possible values follow:

Client hello sends Encrypt-then-MAC extension. Determines if the Encrypt-then-MAC (EtM) extension from RFC 7366 is sent in the client hello for applications that do not explicitly disable it. This field has meaning for TLSv1.2 and prior versions; it does not apply to TLSv1.3 and newer versions. The possible values follow:

Require Encrypt-then-MAC extension. Determines if the peer must support the Encrypt-then-MAC (EtM) extension from RFC 7366 for applications that do not explicitly set the attribute. This field has meaning for TLSv1.2 and prior versions; it does not apply to TLSv1.3 and newer versions. The possible values follow:

Client hello sends Extended Master Secret extension. Determines if the Extended Master Secret (EMS) extension from RFC 7627 is sent in the client hello for applications that do not explicitly disable it. This field has meaning for TLSv1.2 and prior versions; it does not apply to TLSv1.3 and newer versions. The possible values follow:

Require Extended Master Secret extension. Determines if the peer must support the Extended Master Secret (EMS) extension from RFC 7627 for applications that do not explicitly set the attribute. This field has meaning for TLSv1.2 and prior versions; it does not apply to TLSv1.3 and newer versions. The possible values follow:

Middlebox compatibility mode. Determines if TLSv1.3 should look like TLSv1.2 on the wire by sending extraneous change cipher spec messages and filling in legacy fields. The possible values follow:

Audit secure telnet handshakes. Determines if secure telnet handshakes should be audited. This value only has meaning when QAUDLVL or QAUDLVL2 contains *NETSECURE. The possible values follow:

Reserved. An ignored field.



TLSA0200 Format

This format returns information regarding the TLS handshake connection counts by protocol type and cipher suite on the system since the last reset. When enabled, a running count of new System TLS connections is kept grouped by the negotiated TLS protocols and ciphers. The SSLCONFIG sslConnectionCounts option identifies the system level setting to enable handshake connection counting. For detailed descriptions of the fields in the table, see Field Descriptions.



Field Descriptions

Enable handshake connection count. Determines if System TLS handshake connections are counted. The possible values follow:

SSLv2 handshake connection count. The current running count of System TLS connections that used the SSLv2 protocol.

SSLv3 handshake connection count. The current running count of System TLS connections that used the SSLv3 protocol.

TLSv1.0 handshake connection count. The current running count of System TLS connections that used the TLSv1.0 protocol.

TLSv1.1 handshake connection count. The current running count of System TLS connections that used the TLSv1.1 protocol.

TLSv1.2 handshake connection count. The current running count of System TLS connections that used the TLSv1.2 protocol.

TLSv1.3 handshake connection count. The current running count of System TLS connections that used the TLSv1.3 protocol.

AES_128_GCM_SHA256 handshake connection count. The current running count of System TLS connections that used the AES_128_GCM_SHA256 cipher suite.

AES_256_GCM_SHA384 handshake connection count. The current running count of System TLS connections that used the AES_256_GCM_SHA384 cipher suite.

CHACHA20_POLY1305_SHA256 handshake connection count. The current running count of System TLS connections that used the CHACHA20_POLY1305_SHA256 cipher suite.

ECDHE_ECDSA_AES_128_GCM_SHA256 handshake connection count. The current running count of System TLS connections that used the ECDHE_ECDSA_AES_128_GCM_SHA256 cipher suite.

ECDHE_ECDSA_AES_256_GCM_SHA384 handshake connection count. The current running count of System TLS connections that used the ECDHE_ECDSA_AES_256_GCM_SHA384 cipher suite.

ECDHE_ECDSA_CHACHA20_POLY1305_SHA256 handshake connection count. The current running count of System TLS connections that used the ECDHE_ECDSA_CHACHA20_POLY1305_SHA256 cipher suite.

ECDHE_RSA_AES_128_GCM_SHA256 handshake connection count. The current running count of System TLS connections that used the ECDHE_RSA_AES_128_GCM_SHA256 cipher suite.

ECDHE_RSA_AES_256_GCM_SHA384 handshake connection count. The current running count of System TLS connections that used the ECDHE_RSA_AES_256_GCM_SHA384 cipher suite.

ECDHE_RSA_CHACHA20_POLY1305_SHA256 handshake connection count. The current running count of System TLS connections that used the ECDHE_RSA_CHACHA20_POLY1305_SHA256 cipher suite.

RSA_AES_128_GCM_SHA256 handshake connection count. The current running count of System TLS connections that used the RSA_AES_128_GCM_SHA256 cipher suite.

RSA_AES_256_GCM_SHA384 handshake connection count. The current running count of System TLS connections that used the RSA_AES_256_GCM_SHA384 cipher suite.

ECDHE_ECDSA_AES_128_CBC_SHA256 handshake connection count. The current running count of System TLS connections that used the ECDHE_ECDSA_AES_128_CBC_SHA256 cipher suite.

ECDHE_ECDSA_AES_256_CBC_SHA384 handshake connection count. The current running count of System TLS connections that used the ECDHE_ECDSA_AES_256_CBC_SHA384 cipher suite.

ECDHE_RSA_AES_128_CBC_SHA256 handshake connection count. The current running count of System TLS connections that used the ECDHE_RSA_AES_128_CBC_SHA256 cipher suite.

ECDHE_RSA_AES_256_CBC_SHA384 handshake connection count. The current running count of System TLS connections that used the ECDHE_RSA_AES_256_CBC_SHA384 cipher suite.

RSA_AES_128_CBC_SHA256 handshake connection count. The current running count of System TLS connections that used the RSA_AES_128_CBC_SHA256 cipher suite.

RSA_AES_128_CBC_SHA handshake connection count. The current running count of System TLS connections that used the RSA_AES_128_CBC_SHA cipher suite.

RSA_AES_256_CBC_SHA256 handshake connection count. The current running count of System TLS connections that used the RSA_AES_256_CBC_SHA256 cipher suite.

RSA_AES_256_CBC_SHA handshake connection count. The current running count of System TLS connections that used the RSA_AES_256_CBC_SHA cipher suite.

ECDHE_ECDSA_3DES_EDE_CBC_SHA handshake connection count. The current running count of System TLS connections that used the ECDHE_ECDSA_3DES_EDE_CBC_SHA cipher suite.

ECDHE_RSA_3DES_EDE_CBC_SHA handshake connection count. The current running count of System TLS connections that used the ECDHE_RSA_3DES_EDE_CBC_SHA cipher suite.

RSA_3DES_EDE_CBC_SHA handshake connection count. The current running count of System TLS connections that used the RSA_3DES_EDE_CBC_SHA cipher suite.

ECDHE_ECDSA_RC4_128_SHA handshake connection count. The current running count of System TLS connections that used the ECDHE_ECDSA_RC4_128_SHA cipher suite.

ECDHE_RSA_RC4_128_SHA handshake connection count. The current running count of System TLS connections that used the ECDHE_RSA_RC4_128_SHA cipher suite.

RSA_RC4_128_SHA handshake connection count. The current running count of System TLS connections that used the RSA_RC4_128_SHA cipher suite.

RSA_RC4_128_MD5 handshake connection count. The current running count of System TLS connections that used the RSA_RC4_128_MD5 cipher suite.

RSA_DES_CBC_SHA handshake connection count. The current running count of System TLS connections that used the RSA_DES_CBC_SHA cipher suite.

RSA_EXPORT_RC4_40_MD5 handshake connection count. The current running count of System TLS connections that used the RSA_EXPORT_RC4_40_MD5 cipher suite.

RSA_EXPORT_RC2_CBC_40_MD5 handshake connection count. The current running count of System TLS connections that used the RSA_EXPORT_RC2_CBC_40_MD5 cipher suite.

ECDHE_ECDSA_NULL_SHA handshake connection count. The current running count of System TLS connections that used the ECDHE_ECDSA_NULL_SHA cipher suite.

ECDHE_RSA_NULL_SHA handshake connection count. The current running count of System TLS connections that used the ECDHE_RSA_NULL_SHA cipher suite.

RSA_NULL_SHA256 handshake connection count. The current running count of System TLS connections that used the RSA_NULL_SHA256 cipher suite.

RSA_NULL_SHA handshake connection count. The current running count of System TLS connections that used the RSA_NULL_SHA cipher suite.

RSA_NULL_MD5 handshake connection count. The current running count of System TLS connections that used the RSA_NULL_MD5 cipher suite.

RSA_3DES_EDE_CBC_MD5 handshake connection count. The current running count of System TLS connections that used the RSA_3DES_EDE_CBC_MD5 cipher suite.

RSA_DES_CBC_MD5 handshake connection count. The current running count of System TLS connections that used the RSA_DES_CBC_MD5 cipher suite.

RSA_RC2_CBC_128_MD5 handshake connection count. The current running count of System TLS connections that used the RSA_RC2_CBC_128_MD5 cipher suite.

Reserved. An ignored field.


Usage Notes

  1. The following fields have meaning for future IBM i releases; they do not apply to IBM i 7.2.

Error Messages


End of change
API introduced: IBM® i 7.2 by PTF

[ Back to top | Security APIs | APIs by category ]