Certificate (Socket function): Difference between revisions

From m204wiki
Jump to navigation Jump to search
mNo edit summary
m (→‎See also: add template for SL crypto methods)
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Template:Socket:Certificate subtitle}}
{{Template:Socket:Certificate subtitle}}


This method is designed to enable a server socket to get a <var>Longstring</var> version of a client socket's SSL certificate.
This method enables a server socket to get a <var>Longstring</var> version of a client socket's SSL certificate.


==Syntax==
==Syntax==
Line 8: Line 8:
===Syntax terms===
===Syntax terms===
<table class="syntaxTable">
<table class="syntaxTable">
<tr><th>%string</th><td>A <var>Longstring</var> to contain the binary content of the SSL certificate presented by the client socket (if <var class="term">socket</var> is a server socket).  
<tr><th>%string</th><td>A <var>Longstring</var> to contain a copy of the binary, ASN.1 encoded, content of the SSL certificate presented by the client socket (if <var class="term">socket</var> is a server socket).  
If no certificate is provided (for whatever reason), <var class="term">%string</var> is a null string. If <var class="term">socket</var> is a client socket, <var class="term">%string</var> is always a null string. </td></tr>
If no certificate is provided (for whatever reason), <var class="term">%string</var> is a null string. If <var class="term">socket</var> is a client socket, <var class="term">%string</var> is always a null string. </td></tr>
<tr><th>socket</th>
<tr><th>socket</th>
<td>A variable or an expression that is a reference to a server or client <var>Socket</var> object.</td></tr>
<td>A variable or an expression that is a reference to a server or client <var>Socket</var> object.</td></tr>
<tr><th><var>RequestCertificate</var></th>
<tr><th><var>RequestCertificate</var></th>
<td>This [[Notation conventions for methods#Named parameters|name required]] argument is a <var>[[Enumerations#Using Boolean enumerations|Boolean]]</var> enumeration. If the value is <code>True</code>:
<td>This [[Notation conventions for methods#Named parameters|name required]] argument is a <var>[[Enumerations#Using Boolean enumerations|Boolean]]</var> enumeration. If the value is <code>True</code>:
<ul>
<ul>
<li>If <var class="term">socket</var> is a server socket, it requests a certificate from its client socket at the time of the method call.  
<li>If <var class="term">socket</var> is a server socket, the method requests a certificate from the client socket at the time of the method call. </li>
<li>If <var class="term">socket</var> is a client socket, this option is valid but meaningless (the server sends its certificate during the connection negotiation), and no certificate request occurs.
<li>If <var class="term">socket</var> is a client socket, this option is valid but meaningless (the server sends its certificate during the connection negotiation), and no certificate request occurs. </li>
</ul>
</ul>


Line 30: Line 32:


==See also==
==See also==
<p>
<var>System</var> methods: </p>
<ul>
<li><var>[[ClientCertificate (System function)|ClientCertificate]]</var>, <li><var>[[GeneratedPrivateKey (System function)|GeneratedPrivateKey]]</var> </li>
</ul>
<p>
<var>Stringlist</var> methods: </p>
{{Template:Stringlist crypto methods}}
<p>
<var>String</var> methods:</p>
<ul>
<li><var>[[CertificateRequest (String function)|CertificateRequest]]</var> </li>
<li><var>[[SignedCertificate (String function)|SignedCertificate]]</var> </li>
<li><var>[[DerToXmlDoc (String function)|DerToXmlDoc]]</var> </li>
<li><var>[[RSAPrivateKeyToXmlDoc (String function)|RSAPrivateKeyToXmlDoc]]</var></li>
<li><var>[[X509CertificateToXmlDoc (String function)|X509CertificateToXmlDoc]]</var> </li>
<li><var>[[X509CrlToXmlDoc (String function)|X509CrlToXmlDoc]]</var> </li>
<li>Multiple cryptographic cipher methods </li>
</ul>
<p><var>HttpRequest</var> methods: </p>
<ul>
<li><var>[[Get (HttpRequest function)|Get]]</var>, <var>[[Post (HttpRequest function)|Post]]</var>, and <var>[[Send (HttpRequest function)|Send]]</var> </li>
</ul>
{{Template:Socket:Certificate footer}}
{{Template:Socket:Certificate footer}}

Latest revision as of 23:44, 15 March 2016

Retrieve the SSL certificate (Socket class)

[Introduced in Sirius Mods 8.0]


This method enables a server socket to get a Longstring version of a client socket's SSL certificate.

Syntax

%string = socket:Certificate[( [RequestCertificate= boolean])]

Syntax terms

%stringA Longstring to contain a copy of the binary, ASN.1 encoded, content of the SSL certificate presented by the client socket (if socket is a server socket). If no certificate is provided (for whatever reason), %string is a null string. If socket is a client socket, %string is always a null string.
socket A variable or an expression that is a reference to a server or client Socket object.
RequestCertificate This name required argument is a Boolean enumeration. If the value is True:
  • If socket is a server socket, the method requests a certificate from the client socket at the time of the method call.
  • If socket is a client socket, this option is valid but meaningless (the server sends its certificate during the connection negotiation), and no certificate request occurs.

If the argument value is False — the default — no certificate request occurs.

Usage notes

  • Specifying RequestCertificate=True only has an effect for a Janus SSL port whose definition does not include SSLCLCERT or SSLCLCERTR. These parameters request a client certificate at connection-establishment time, and a client certificate may only be requested once for an SSL session (whether or not the request successfully gets a certificate in return).

See also

System methods:

Stringlist methods:

String methods:

HttpRequest methods: