DerToXmlDoc (String function): Difference between revisions
m (→Examples) |
m (→Usage notes) |
||
Line 17: | Line 17: | ||
==Usage notes== | ==Usage notes== | ||
<ul> | <ul> | ||
<li><var>DerToXmlDoc</var> does the same work as <var>[[X509CertificateToXmlDoc (String function)|X509CertificateToXmlDoc]]</var>, <var>[[X509CertificateToXmlDoc (String function)|X509CertificateToXmlDoc]]</var>, and | |||
<var>[[X509CertificateToXmlDoc (String function)|X509CertificateToXmlDoc]]</var>, except that those methods understand the semantics of the standard tags for those items, so they provide more meaningful XML element names. Contrast the [[DerToXmlDoc (String function)#Examples|DerToXmlDoc example]] with the <var>X509CertificateToXmlDoc</var> [[X509CertificateToXmlDoc (String function)#Examples|example]], below. | |||
<li>Currently, no method is available to produce a DER stream from an <var>XmlDoc</var>. | <li>Currently, no method is available to produce a DER stream from an <var>XmlDoc</var>. | ||
</ul> | </ul> |
Revision as of 19:06, 21 April 2012
Convert DER encoded data to XML (String class)
[Introduced in Sirius Mods 8.0]
DER (Distinguished Encoding Rules) provide a way to uniquely encode an ASN.1 type value as a string of eight-bit octets.
DerToXmlDoc converts such a string to an XmlDoc.
Syntax
%doc = string:DerToXmlDoc Throws InvalidBerData
Syntax terms
%doc | An XmlDoc object variable to contain the decoded value of the method object, string. |
---|---|
string | A DER encoded string. |
Usage notes
- DerToXmlDoc does the same work as X509CertificateToXmlDoc, X509CertificateToXmlDoc, and X509CertificateToXmlDoc, except that those methods understand the semantics of the standard tags for those items, so they provide more meaningful XML element names. Contrast the DerToXmlDoc example with the X509CertificateToXmlDoc example, below.
- Currently, no method is available to produce a DER stream from an XmlDoc.
Examples
- The PemToString example loads a Longstring with the contents of the base64 encoded CRL (Certificate Revocation List). If that Longstring is
%ls
below, the following statement converts that string to the XmlDoc whose contents are printed thereafter:%ls:derToXmlDoc:print
The result is shown in part below:
<Sequence> <Sequence> <Sequence> <ObjectIdentifier>1.2.840.113549.1.1.4</ObjectIdentifier> <Null/> </Sequence> <Sequence> ... <Set> <Sequence> <ObjectIdentifier>2.5.4.8</ObjectIdentifier> <PrintableString>QLD</PrintableString> </Sequence> </Set> ... <UTCTime>20010115162657.000Z</UTCTime> <UTCTime>20010214162657.000Z</UTCTime> <Sequence> <Sequence> <Integer>1</Integer> <UTCTime>19951009233205.000Z</UTCTime> </Sequence> <Sequence> <Integer>3</Integer> <UTCTime>19951201010000.000Z</UTCTime> </Sequence> ...
The ellipses indicate snipped content and are not part of the XmlDoc.
- In the RSAPrivateKeyToXmlDoc example, the PemToString method loads a Longstring with the contents of an RSA private key. If that Longstring is also
%ls
below, the following statement converts that string to the XmlDoc whose contents are printed below. Compare the XML tags in these results with the tags produced by RSAPrivateKeyToXmlDoc:%ls:derToXmlDoc:print
The result is shown in part below:
<Sequence> <Integer>0</Integer> <Integer>196482721346 ... ...685825059547</Integer> <Integer>3</Integer> <Integer>327471202244 ... ...832238758867</Integer> <Integer>163032211406 ... ...063864355897</Integer> <Integer>120517730607 ... ...628528150451</Integer> <Integer>108688140937 ... ...709242903931</Integer> <Integer>803451537383 ... ...419018766967</Integer> <Integer>104154110092 ... ...977615354780</Integer> </Sequence>
See also
Related methods:
- String class: X509CrlToXmlDoc, X509CertificateToXmlDoc, and RSAPrivateKeyToXmlDoc
- System class: ClientCertificate
- Socket class: Certificate
- HttpRequest class: Get, Post, and Send
- Stringlist class: PemToString