AppendPemData (Stringlist subroutine): Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (add syntax terms)
m (→‎See also: add method to list)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Template:Stringlist:AppendPemData subtitle}}
{{Template:Stringlist:AppendPemData subtitle}}
 
The PEM (Privacy Enhanced Mail) protocol uses base64 encoding for binary data that needs to be transferred and stored as text. <var>AppendPemData</var> lets you store PEM data as a series of base64 encoded <var>[[Stringlist class|Stringlist]]</var> items within beginning and ending text marker items.
The PEM (Privacy Enhanced Mail) protocol uses base64 encoding for binary data that needs to be transferred and stored as text.  


==Syntax==
==Syntax==
Line 12: Line 11:


<tr><th><var>Data</var></th>
<tr><th><var>Data</var></th>
<td>The base64 encoded <var>Longstring</var> or <var>String</var> you are appending to the data stored in <var class="term">sl</var>. </td></tr>
<td>The <var>Longstring</var> or <var>String</var> you are appending to the data stored in <var class="term">sl</var>. </td></tr>


<tr><th><var>label</var></th>
<tr><th><var>label</var></th>
<td>The string that identifies the base64 encoded data to which you are appending data. Examples include <code>X509 CERTIFICATE</code>, <code>X509 CRL</code>, <code>RSA PRIVATE KEY</code>. X509 certificate, private key, and CRL data will be contained within the text markers <code>-----BEGIN <i>label</i>-----</code> and <code>-----END <i>label</i>-----</code>.
<td>The string that identifies the base64 encoded data you are appending. The data is stored as a series of <var class="term">sl</var> items contained within items that are the text markers <code>-----BEGIN <i>label</i>-----</code> and <code>-----END <i>label</i>-----</code>.
<p>
<p>
Note that this is a required, case-sensitive, value; if it does not match the first and last label items enclosing
This is a required, case-sensitive, value. </p></td></tr>
base64 data within <var class="term">sl</var>, no data is appended. </p></td></tr>
</table>
</table>


==Usage notes==
==Usage notes==
<ul>
<li>The appended data is retrievable with the <var>[[PemToString (Stringlist function)|PemToString]]</var> method.
</ul>


==Examples==
==Examples==
<p class="code">b
%ls    is longstring
%sl    is object stringlist
%ls = 'My PEM content'
%sl:Appendpemdata(%ls, 'SSL SESSION PARAMETERS')
printtext {~} = {%sl:print}
end
</p>
<p>
The result is: </p>
<p class="output"><nowiki>%sl:print = -----BEGIN SSL SESSION PARAMETERS-----
1KhA18XUQIOWlaOFlaM=
-----END SSL SESSION PARAMETERS-----
</nowiki></p>
If you were to apply the <var>Base64toString</var> method to the string within the begin and end markers in the preceding result, that is:
<p class="code">printtext {~} = {'1KhA18XUQIOWlaOFlaM=':base64tostring}
</p>
The result is:
<p class="output">'1KhA18XUQIOWlaOFlaM=':base64tostring = My PEM content </p>


==See also==
==See also==
Line 35: Line 55:


<li><var>[[SignedCertificate (String function)|SignedCertificate]]</var> </li>
<li><var>[[SignedCertificate (String function)|SignedCertificate]]</var> </li>
<li><var>[[SignedClientCertificate (String function)|SignedClientCertificate]]</var> </li>


<li><var>[[DerToXmlDoc (String function)|DerToXmlDoc]]</var> </li>
<li><var>[[DerToXmlDoc (String function)|DerToXmlDoc]]</var> </li>
Line 49: Line 71:
<var>System</var> methods: </p>
<var>System</var> methods: </p>
<ul>
<ul>
<li><var>[[ClientCertificate (System function)|ClientCertificate]]</var>, <li><var>[[GeneratedPrivateKey (System function)|GeneratedPrivateKey]]</var> </li>
<li><var>[[ClientCertificate (System function)|ClientCertificate]]</var> </li><li><var>[[GeneratedPrivateKey (System function)|GeneratedPrivateKey]]</var> </li>
</ul>
</ul>
<p>
<p>

Latest revision as of 15:13, 6 September 2018

Append PEM encoded string to a Stringlist (Stringlist class)

[Introduced in Model 204 7.5]

The PEM (Privacy Enhanced Mail) protocol uses base64 encoding for binary data that needs to be transferred and stored as text. AppendPemData lets you store PEM data as a series of base64 encoded Stringlist items within beginning and ending text marker items.

Syntax

sl:AppendPemData( [Data=] string, [label=] string)

Syntax terms

sl A Stringlist object that contains labeled, base64 encoded data.
Data The Longstring or String you are appending to the data stored in sl.
label The string that identifies the base64 encoded data you are appending. The data is stored as a series of sl items contained within items that are the text markers -----BEGIN label----- and -----END label-----.

This is a required, case-sensitive, value.

Usage notes

  • The appended data is retrievable with the PemToString method.

Examples

b %ls is longstring %sl is object stringlist %ls = 'My PEM content' %sl:Appendpemdata(%ls, 'SSL SESSION PARAMETERS') printtext {~} = {%sl:print} end

The result is:

%sl:print = -----BEGIN SSL SESSION PARAMETERS----- 1KhA18XUQIOWlaOFlaM= -----END SSL SESSION PARAMETERS-----

If you were to apply the Base64toString method to the string within the begin and end markers in the preceding result, that is:

printtext {~} = {'1KhA18XUQIOWlaOFlaM=':base64tostring}

The result is:

'1KhA18XUQIOWlaOFlaM=':base64tostring = My PEM content

See also

Stringlist methods:

String methods:

System methods:

Socket methods:

Background information: