PemToString (Stringlist function)
Extract base64 encoded PEM data to string (Stringlist class)
[Introduced in Sirius Mods 8.0]
The PEM (Privacy Enhanced Mail) protocol uses base64 encoding for binary data that needs to be transferred and stored as text.
Syntax
%string = sl:PemToString( label, [Occurrence= number]) Throws InvalidPemData
Syntax terms
| %string | A Longstring or String to contain the decoded binary data in the method object, sl. |
|---|---|
| sl | A Stringlist object that contains base64 encoded data. |
| label | The string that identifies the base64 encoded data you want to convert. Examples include X509 CERTIFICATE, X509 CRL, RSA PRIVATE KEY. X509 certificate, private key, and CRL data will be contained within the text markers -----BEGIN label----- and -----End label-----.
Note that this is a required, case-sensitive, value; if it does not match the first and last items of data within sl, no data is returned to %string. |
| Occurrence | The occurrence number within sl of the requested labeled data. |
Exceptions
PemToString can throw the following exception:
- InvalidPemData
- If the method encounters non-PEM-conforming data, properties of the exception object may indicate the line and position of the error.
Usage notes
- PemToString converts the labeled and structured X509 base64 data you identify. To convert individual base64 strings, you can use the StringToBase64 method.
Examples
The following request loads Longstring %ls with the contents of the base64 encoded CRL (Certificate Revocation List) contained in Stringlist %sl:
b %ls is longstring %sl is object stringlist text to %sl = new raw -----BEGIN X509 CRL----- MIIBODCB4zANBgkqhkiG9w0BAQQFADBgMQswCQYDVQQGEwJBVTEMMAoGA1UECBMD UUxEMRkwFwYDVQQKExBNaW5jb20gUHR5LiBMdGQuMQswCQYDVQQLEwJDUzEbMBkG A1UEAxMSU1NMZWF5IGRlbW8gc2VydmVyFw0wMTAxMTUxNjI2NTdaFw0wMTAyMTQx NjI2NTdaMFIwEgIBARcNOTUxMDA5MjMzMjA1WjASAgEDFw05NTEyMDEwMTAwMDBa MBMCAhI0Fw0wMTAxMTUxNjE5NDdaMBMCAhI1Fw0wMTAxMTUxNjIzNDZaMA0GCSqG SIb3DQEBBAUAA0EAHPjQ3M93QOj8Ufi+jZM7Y78TfAzG4jJn/E6MYBPFVQFYo/Gp UZexfjSVo5CIyySOtYscz8oO7avwBxTiMpDEQg== -----END X509 CRL----- end text %ls = %sl:pemToString('X509 CRL') end
See also
Related methods:
- String class: X509DerToXmlDoc, X509CrlToXmlDoc, X509CertificateToXmlDoc, and RSAPrivateKeyToXmlDoc
- System class: ClientCertificate
- Socket class: Certificate
- HttpRequest class: Get, Post, and Send