Sample code for 30+ languages & platforms
Classic ASP Requires Chilkat v11.0.0+

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 Classic ASP Downloads

Classic ASP
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0

'  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>

set cert = Server.CreateObject("Chilkat.Cert")
success = cert.LoadPfxFile("qa_data/pfx/cert_test123.pfx","test123")
If (success = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( cert.LastErrorText) & "</pre>"
    Response.End
End If

set xml = Server.CreateObject("Chilkat.Xml")
xml.Tag = "SignaturePubKeyOrderData"
success = xml.AddAttribute("xmlns","http://www.ebics.org/S001")
success = xml.AddAttribute("xmlns:ds","http://www.w3.org/2000/09/xmldsig#")
success = xml.AddAttribute("xmlns:xsi","http://www.w3.org/2001/XMLSchema-instance")
success = xml.AddAttribute("xsi:schemaLocation","http://www.ebics.org/S002")
xml.UpdateChildContent "SignaturePubKeyInfo|ds:X509Data|X509IssuerSerial|ds:X509IssuerName",cert.IssuerDN
xml.UpdateChildContent "SignaturePubKeyInfo|ds:X509Data|X509IssuerSerial|ds:X509SerialNumber",cert.SerialNumber
xml.UpdateChildContent "SignaturePubKeyInfo|ds:X509Data|ds:X509Certificate",cert.GetEncoded()

set pubkey = Server.CreateObject("Chilkat.PublicKey")
success = cert.GetPublicKey(pubkey)

set xmlPubKey = Server.CreateObject("Chilkat.Xml")
success = xmlPubKey.LoadXml(pubkey.GetXml())

'  The public key XML will look like this:
'  
'  <RSAPublicKey>
'    <Modulus>...</Modulus>
'    <Exponent>...</Exponent>
'  </RSAPublicKey>

xml.UpdateChildContent "SignaturePubKeyInfo|PubKeyValue|ds:RSAPublicKey|ds:Modulus",xmlPubKey.GetChildContent("Modulus")
xml.UpdateChildContent "SignaturePubKeyInfo|PubKeyValue|ds:RSAPublicKey|ds:Exponent",xmlPubKey.GetChildContent("Exponent")
xml.UpdateChildContent "SignaturePubKeyInfo|SignatureVersion","A005"
xml.UpdateChildContent "PartnerID",""
xml.UpdateChildContent "UserID",""

Response.Write "<pre>" & Server.HTMLEncode( xml.GetXml()) & "</pre>"

%>
</body>
</html>