CertLevels (Socket function): Difference between revisions

From m204wiki
Jump to navigation Jump to search
Line 24: Line 24:
==Usage notes==
==Usage notes==
<ul>
<ul>
<li><var>CertLevels</var> returns the value -1 if the socket is not open
<li><var>CertLevels</var> returns the value <code>-1</code> if the socket is not open
and <code>ONRESET CONTINUE</code> is in effect for the socket.
and <code>ONRESET CONTINUE</code> is in effect for the socket.
<li>A <var>CertLevels</var> call may cause an [[CertInfo (Socket function)#reneg|SSL renegotiation]] in order to
<li>A <var>CertLevels</var> call may cause an [[CertInfo (Socket function)#reneg|SSL renegotiation]] in order to

Revision as of 15:32, 11 June 2012

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.

Syntax

%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 the Janus Network Security Reference Manual.

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.

Example

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

%count = %sok:Certlevels