Certificate (Socket function): Difference between revisions
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 | 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, | <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
%string | A 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 the argument value is |
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:
- AppendCertificateInfo
- AppendCertificateRequest
- AppendCertificateRequestInfo
- AppendClientCertificateRequest
- AppendEncryptedSecurityData
- AppendGeneratedPrivateKey
- AppendPemData
- AppendPrivateKeyInfo
- AppendSignedCertificate
- AppendSignedClientCertificate
- CheckCertificate
- CheckCertificateRequest
- PemToString
String methods:
- CertificateRequest
- SignedCertificate
- DerToXmlDoc
- RSAPrivateKeyToXmlDoc
- X509CertificateToXmlDoc
- X509CrlToXmlDoc
- Multiple cryptographic cipher methods
HttpRequest methods: