AppendCertificateInfo (Stringlist function)
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
0 | All is well. |
---|---|
-1 | Encrypted but no password specified. |
-2 | Encrypted and wrong password specified. |
-3 | Out of CCATEMP. |
-5 | Stringlist identifier missing. |
-6 | Invalid Stringlist identifier. |
-7 | Insufficient storage. |
-10 | Input Stringlist identifier missing. |
-11 | Invalid input Stringlist identifier. |
-12 | Invalid input Stringlist data (not correctly base-64 encoded). |
-13 | Invalid request/certificate (internal structure of certificate is not valid). |
Usage notes
- The updated 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.C Subject country S.S Subject state or province S.L Subject locality - city, town, village, etc. S.O Subject organization S.OU Subject organization unit S.CN Subject common name I.C Issuer country I.S Issuer state or province I.L Issuer locality - city, town, village, etc. I.O Issuer organization I.OU Issuer organization unit I.CN Issuer common name EFF Effective date in YYMMDDHHMISS format (GMT) EXP Expiration date in YYMMDDHHMISS format (GMT) ALG Key algorithm - currently always RSA N Public modulus in hexadecimal E Public 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
- AppendCertificateRequestInfo
- AppendPrivateKeyInfo
- AppendSignedCertificate
- AppendSignedClientCertificate