AppendCertificateInfo (Stringlist function): Difference between revisions

From m204wiki
Jump to navigation Jump to search
mNo edit summary
Line 29: Line 29:
<tr><th>-12</th><td>Invalid input list data (not correctly base-64 encoded).</td></tr>
<tr><th>-12</th><td>Invalid input list data (not correctly base-64 encoded).</td></tr>
<tr><th>-13</th><td>Invalid request/certificate (internal structure of certificate is not valid).</td></tr>
<tr><th>-13</th><td>Invalid request/certificate (internal structure of certificate is not valid).</td></tr>
</table>
==Usage notes==
<ul>
<li>The output <var>Stringlist</var> contains an arbitrary amount of
information in an arbitrary order. Each list item
is in ID=value format. These are the possible IDs:
<table>
<tr><th>S.C</th><td>Subject country</td></tr>
<tr><th>S.S<td>Subject state or province </td></tr>
<tr><th>S.L<td>Subject locality - city, town, village, etc. </td></tr>
<tr><th>S.O<td>Subject organization  </td></tr> 
<tr><th>S.OU<td>Subject organization unit  </td></tr> 
<tr><th>S.CN<td>Subject common name  </td></tr>
<tr><th>I.C<td>Issuer country </td></tr>
<tr><th>I.S<td>Issuer state or province  </td></tr>
<tr><th>I.L<td>Issuer locality - city, town, village, etc. </td></tr>
<tr><th>I.O<td>Issuer organization  </td></tr>
<tr><th>I.OU<td>Issuer organization unit  </td></tr>
<tr><th>I.CN<td>Issuer common name  </td></tr>
<tr><th>EFF<td>Effective date in YYMMDDHHMISS format (GMT)  </td></tr>
<tr><th>EXP<td>Expiration date in YYMMDDHHMISS format (GMT) </td></tr>
<tr><th>ALG<td>Key algorithm - currently always RSA </td></tr> 
<tr><th>N<td>Public modulus in hexadecimal  </td></tr>
<tr><th>E<td>Public exponent in hexadecimal </td></tr>
</table>
</table>



Revision as of 19:40, 8 May 2012

Add certificate information to a Stringlist (Stringlist class)

[Requires Janus Network Security]


This callable method adds lines from the information section of an SSL certificate to the end of a Stringlist.

Syntax

[%rc =] sl:AppendCertificateInfo[( [certificate])]

Syntax terms

%rc An, optional, numeric variable that is set to zero if the function is a success. The possible return codes are described below in "Return codes".
sl A Stringlist object.
certificate A Stringlist object that contains the raw text of a valid SSL certificate.

Return codes

0All is well.
-1Encrypted but no password specified.
-2Encrypted and wrong password specified.
-3Out of CCATEMP.
-5List identifier missing.
-6Invalid list identifier.
-7Insufficient storage.
-10Input list identifier missing.
-11Invalid input list identifier.
-12Invalid input list data (not correctly base-64 encoded).
-13Invalid request/certificate (internal structure of certificate is not valid).

Usage notes

  • The output Stringlist contains an arbitrary amount of information in an arbitrary order. Each list item is in ID=value format. These are the possible IDs:
    S.CSubject country
    S.SSubject state or province
    S.LSubject locality - city, town, village, etc.
    S.OSubject organization
    S.OUSubject organization unit
    S.CNSubject common name
    I.CIssuer country
    I.SIssuer state or province
    I.LIssuer locality - city, town, village, etc.
    I.OIssuer organization
    I.OUIssuer organization unit
    I.CNIssuer common name
    EFFEffective date in YYMMDDHHMISS format (GMT)
    EXPExpiration date in YYMMDDHHMISS format (GMT)
    ALGKey algorithm - currently always RSA
    NPublic modulus in hexadecimal
    EPublic exponent in hexadecimal

    Examples

    In the following example, a certificate is hard-coded into one Stringlist, then the information contained in the certificate is translated via AppendCertificateInfo into another Stringlist:

    b %sl is object stringlist %cert is object stringlist %sl = new %cert = new text to %cert raw -----BEGIN CERTIFICATE----- MIIB2TCCAUKgAwIBAgIESP4m7jANBgkqhkiG9w0BAQQFADAxMQswCQYDVQQGDAJVUzEMMAoGA1UE CgwDRE9FMRQwEgYDVQQDDAsqLm55Y2VkLm9yZzAeFw0wODEwMjAxOTAxMDJaFw0xODEwMTkxOTAx MDJaMDExCzAJBgNVBAYMAlVTMQwwCgYDVQQKDANET0UxFDASBgNVBAMMCyoubnljZWQub3JnMIGf MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCtdTxPrvwguxIJ9E3+UyzCCRluiyH05cONOUtd1zwv NgdAQ3EdITqGvWmz1tFWlGmXiADCtCipaJPXjLzUQ5hk0m7yBdM7ScnCh3V+0ls7+fjL/J8pUqvY BLk5llLePd1qHOak3TPt4NAGMxf2u2Iz47bu0lpfZafCuM8hPHFgYQIDAQABMA0GCSqGSIb3DQEB BAUAA4GBAF4Ee3T9DSZKVE97Kqzt3lJh/Wwg3i1UI2pc/HC9/rhzLxhTx9xfksAwe1+R5kLkHWyD ddPfPqErKCdyhZ4QMSkM7bCeSy1aW6iF4R2v00eJ7wECAzO99QUatZ33m6Nwb5PToPDiirgsVWaj siWpXe998f7KgW0PwTunGmBLQaLg -----END CERTIFICATE----- end text %sl:appendCertificateInfo(%cert) %sl:print end

    The result is something like:

    I.C=US I.O=ACME I.CN=*.acme.org EFF=081020190102 EXP=181019190102 S.C=US S.O=ACME S.CN=*.acme.org ALG=RSA N=AD753C4FAEFC20BB1209F44DFE532CC209196E8B21F4E5C38D394B5DD73C2F36074043711D213- A86BD69B3D6D1569469978800C2B428A96893D78CBCD4439864D26EF205D33B49C9C287757ED25B- ... F65A7C2B8CF213C716061 E=010001

    See also