Number of levels in partner's certificate
Note: Most $functions have been deprecated in favor of Object Oriented methods. The OO equivalent for $Sock_Cert_Levels is the CertLevels method.
$Sock_Cert_Levels retrieves the number of levels of the certificate provided on a socket by the remote partner.
%num = $Sock_Cert_Levels(socket)
|%num||The number of levels in the certificate provided by the remote partner.|
|socket||A string that is the socket identifier.|
- For an SSL connection where the client sent a certificate, $Sock_Cert_Levels will return a number greater than 0:
- Level 0 of a certificate always contains the client information.
- Level 1 contains the information for the "signer" of the client certificate.
- Level 2 would contain information for the "signer" of the level 1 signer's certificate, and so on.
Since all certificates accepted by Janus Network Security must be signed, $Sock_Cert_Levels is always greater than or equal to 2, if non-zero. Level 3 indicates a certificate that includes an intermediate certificate.For information on the data that can be retrieved for each certificate level see $Sock_Cert_Info. To learn more about client certificates, see Janus Network Security.
- $Sock_Cert_Levels returns the value -1 if the socket is not open and
ONRESET CONTINUEis in effect for the socket.
- A $Sock_Cert_Levels call may cause an SSL renegotiation in order to request a digital certificate from the client. See this $Sock_Cert_Info usage note.
The following statement returns the number of levels of the certificate received from the partner using the server socket (SRVSOCK):
%count = $Sock_Cert_Levels(1)