AutoIt
AutoIt
Create EBICS SignaturePubKeyOrderData XML
See more EBICS Examples
Demonstrates how to create the EBICS SignaturePubKeyOrderData XML. (EBICS is the Electronic Banking Internet Communication Standard)Chilkat AutoIt Downloads
Local $bSuccess = False
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
; The goal of this example is to create the XML shown below from the certificate to be used for signing.
; <?xml version="1.0" encoding="UTF-8"?>
; <SignaturePubKeyOrderData xmlns="http://www.ebics.org/S001" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ebics.org/S002">
; <SignaturePubKeyInfo>
; <ds:X509Data>
; <X509IssuerSerial>
; <ds:X509IssuerName>C=FR, O=Example, OU=1234, CN=Example eID User, OrganizationID=SI:FR-1234</ds:X509IssuerName>
; <ds:X509SerialNumber>73FFFFB881F1629982F787DF161EFFFF</ds:X509SerialNumber>
; </X509IssuerSerial>
; <ds:X509Certificate>
; MIIJT...kE=
; </ds:X509Certificate>
; </ds:X509Data>
; <PubKeyValue>
; <ds:RSAPublicKey>
; <ds:Modulus>wedQ...22Kw==</ds:Modulus>
; <ds:Exponent>AQAB</ds:Exponent>
; </ds:RSAPublicKey>
; </PubKeyValue>
; <SignatureVersion>A005</SignatureVersion>
; </SignaturePubKeyInfo>
; <PartnerID/>
; <UserID/>
; </SignaturePubKeyOrderData>
$oCert = ObjCreate("Chilkat.Cert")
$bSuccess = $oCert.LoadPfxFile("qa_data/pfx/cert_test123.pfx","test123")
If ($bSuccess = False) Then
ConsoleWrite($oCert.LastErrorText & @CRLF)
Exit
EndIf
$oXml = ObjCreate("Chilkat.Xml")
$oXml.Tag = "SignaturePubKeyOrderData"
$oXml.AddAttribute("xmlns","http://www.ebics.org/S001")
$oXml.AddAttribute("xmlns:ds","http://www.w3.org/2000/09/xmldsig#")
$oXml.AddAttribute("xmlns:xsi","http://www.w3.org/2001/XMLSchema-instance")
$oXml.AddAttribute("xsi:schemaLocation","http://www.ebics.org/S002")
$oXml.UpdateChildContent "SignaturePubKeyInfo|ds:X509Data|X509IssuerSerial|ds:X509IssuerName",$oCert.IssuerDN
$oXml.UpdateChildContent "SignaturePubKeyInfo|ds:X509Data|X509IssuerSerial|ds:X509SerialNumber",$oCert.SerialNumber
$oXml.UpdateChildContent "SignaturePubKeyInfo|ds:X509Data|ds:X509Certificate",$oCert.GetEncoded()
$oPubkey = ObjCreate("Chilkat.PublicKey")
$oCert.GetPublicKey($oPubkey)
$oXmlPubKey = ObjCreate("Chilkat.Xml")
$oXmlPubKey.LoadXml($oPubkey.GetXml())
; The public key XML will look like this:
;
; <RSAPublicKey>
; <Modulus>...</Modulus>
; <Exponent>...</Exponent>
; </RSAPublicKey>
$oXml.UpdateChildContent "SignaturePubKeyInfo|PubKeyValue|ds:RSAPublicKey|ds:Modulus",$oXmlPubKey.GetChildContent("Modulus")
$oXml.UpdateChildContent "SignaturePubKeyInfo|PubKeyValue|ds:RSAPublicKey|ds:Exponent",$oXmlPubKey.GetChildContent("Exponent")
$oXml.UpdateChildContent "SignaturePubKeyInfo|SignatureVersion","A005"
$oXml.UpdateChildContent "PartnerID",""
$oXml.UpdateChildContent "UserID",""
ConsoleWrite($oXml.GetXml() & @CRLF)