Classic ASP
Classic ASP
Get Certificates within XML Signature
See more XML Digital Signatures Examples
Demonstrates how to get the certificates contained within an XML signature.Chilkat Classic ASP Downloads
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0
' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
set sbXml = Server.CreateObject("Chilkat.StringBuilder")
' Load XML containing one or more signatures.
success = sbXml.LoadFile("qa_data/xml_dsig_valid_samples/multipleSigners/sp.pdf.XAdES.xml","utf-8")
If (success = 0) Then
Response.Write "<pre>" & Server.HTMLEncode( "Failed to load the XML file..") & "</pre>"
Response.End
End If
set dsig = Server.CreateObject("Chilkat.XmlDSig")
' First load the XML containing the signatures to be verified.
' Note that this particular Signature already contains the RSA public key that will be used
' for verification.
success = dsig.LoadSignatureSb(sbXml)
If (success <> 1) Then
Response.Write "<pre>" & Server.HTMLEncode( dsig.LastErrorText) & "</pre>"
Response.End
End If
' For each signature, verify and also get the certificate(s) contained within each Signature.
i = 0
set saCerts = Server.CreateObject("Chilkat.StringArray")
set cert = Server.CreateObject("Chilkat.Cert")
Response.Write "<pre>" & Server.HTMLEncode( "numSignatures = " & dsig.NumSignatures) & "</pre>"
Do While i < dsig.NumSignatures
' Select the Nth signature by setting the Selector property.
dsig.Selector = i
bVerifyReferenceDigests = 1
bVerified = dsig.VerifySignature(bVerifyReferenceDigests)
Response.Write "<pre>" & Server.HTMLEncode( "Signature " & i + 1 & " verified = " & bVerified) & "</pre>"
' Get the certificates embedded in this signature.
saCerts.Clear
success = dsig.GetCerts(saCerts)
If (success = 1) Then
j = 0
Do While j < saCerts.Count
success = cert.LoadFromBase64(saCerts.GetString(j))
If (success = 1) Then
Response.Write "<pre>" & Server.HTMLEncode( " " & cert.SubjectDN) & "</pre>"
End If
j = j + 1
Loop
End If
i = i + 1
Loop
%>
</body>
</html>