CertLevels (Socket function)

From m204wiki
Jump to navigation Jump to search

Number of levels of the SSL certificate (Socket class)

This method retrieves the number of levels of the SSL certificate provided on a socket by the remote partner. The CertLevels function has an effect similar to its equivalent $function, $Sock_Cert_Levels.


%number = socket:CertLevels

Syntax terms

%number Return string, which contains the value of the number of levels of the certificate provided by the remote partner on a socket.

If no such certificate was provided, the null string is returned. Otherwise, level 0 corresponds to the client or the "subject" of the certificate; level 1 to the "signer" of the certificate; level 2 to the "signer" of the level 1 signer's certificate; and so on.

Since all certificates accepted by Janus Network Security must be signed, %number will always be greater than or equal to 2 if non-zero. Level 3 would indicate a certificate that includes an intermediate certificate.

For information on the data that can be retrieved for each certificate level see CertInfo. To learn more about client certificates, see Janus Network Security.

socket A variable or an expression that is a reference to a Socket object.

Usage notes

  • CertLevels returns the value -1 if the socket is not open and ONRESET CONTINUE is in effect for the socket.
  • A CertLevels call may cause an SSL renegotiation in order to request a digital certificate from the client.
  • To retrieve any of the certificate entity values, you can use the CertInfo function.


The following statement returns the number of levels of the certificate received from the remote partner using the %sok socket:

%count = %sok:Certlevels

See also