Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PowerBuilder) Convert ASN.1 to/from Binary DER, XML, and Base64Demonstrates how to convert ASN.1 from and to any of the following formats: binary DER, Base64, and XML.
integer li_rc oleobject loo_Asn integer li_Success string ls_StrXml oleobject loo_Xml string ls_StrBase64 oleobject loo_Asn2 oleobject loo_Asn3 loo_Asn = create oleobject // Use "Chilkat_9_5_0.Asn" for versions of Chilkat < 10.0.0 li_rc = loo_Asn.ConnectToNewObject("Chilkat.Asn") if li_rc < 0 then destroy loo_Asn MessageBox("Error","Connecting to COM object failed") return end if // Begin with loading ASN.1 from a binary DER/BER format file. li_Success = loo_Asn.LoadBinaryFile("/Users/chilkat/testData/p7b/test.p7b") if li_Success <> 1 then Write-Debug loo_Asn.LastErrorText destroy loo_Asn return end if // Convert ASN.1 to XML: ls_StrXml = loo_Asn.AsnToXml() if loo_Asn.LastMethodSuccess <> 1 then Write-Debug loo_Asn.LastErrorText destroy loo_Asn return end if // The XML returned by AsnToXml will be compact and not pretty-formatted. // Use Chilkat XML to format the XML better: loo_Xml = create oleobject // Use "Chilkat_9_5_0.Xml" for versions of Chilkat < 10.0.0 li_rc = loo_Xml.ConnectToNewObject("Chilkat.Xml") li_Success = loo_Xml.LoadXml(ls_StrXml) // Assuming success for this example.. // This is formatted better for human viewing: Write-Debug loo_Xml.GetXml() // Now get the ASN.1 in base64 format. Any encoding supported // by Chilkat can be passed, such as "hex", "uu", "quoted-printable", "base32", "modbase64", etc. ls_StrBase64 = loo_Asn.GetEncodedDer("base64") // Load the ASN.1 from XML: loo_Asn2 = create oleobject // Use "Chilkat_9_5_0.Asn" for versions of Chilkat < 10.0.0 li_rc = loo_Asn2.ConnectToNewObject("Chilkat.Asn") li_Success = loo_Asn2.LoadAsnXml(loo_Xml.GetXml()) if li_Success <> 1 then Write-Debug loo_Asn2.LastErrorText destroy loo_Asn destroy loo_Xml destroy loo_Asn2 return end if // Load the ASN.1 from an encoded string, such as base64: loo_Asn3 = create oleobject // Use "Chilkat_9_5_0.Asn" for versions of Chilkat < 10.0.0 li_rc = loo_Asn3.ConnectToNewObject("Chilkat.Asn") li_Success = loo_Asn3.LoadEncoded(ls_StrBase64,"base64") if li_Success <> 1 then Write-Debug loo_Asn3.LastErrorText destroy loo_Asn destroy loo_Xml destroy loo_Asn2 destroy loo_Asn3 return end if destroy loo_Asn destroy loo_Xml destroy loo_Asn2 destroy loo_Asn3 |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.