Infomosaic Corporation Spec for response from a digital signature verification web service Sources: http://lists.oasis-open.org/archives/dss/200211/msg00005.html http://www.infomosaic.net/VerifyResponse/SignatureVerificationResponse_dtd/index.html http://www.infomosaic.net/VerifyResponse/SignatureVerificationResponse_xsd/index.html http://www.securexml.net/SecureXML/SecureXML.wsdl <!-- Generated by Turbo XML 2.3.0.100. Conforms to w3c http://www.w3.org/2001/XMLSchema --> -<xsd:schema> -<xsd:element name="XMLSignatureVerificationResponse"> -<xsd:complexType> -<xsd:sequence> <xsd:element ref="SignatureCount" /> -<xsd:sequence> <xsd:element ref="SignatureStatus" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:sequence> </xsd:complexType> </xsd:element> -<xsd:element name="SignatureStatus"> -<xsd:complexType> -<xsd:sequence> -<xsd:sequence> <xsd:element ref="SignatureId" /> <xsd:element ref="SignatureAlgorithm" /> <xsd:element ref="Status" /> <xsd:element ref="LastError" /> <xsd:element ref="ReferenceCount" /> <xsd:element ref="CertificateInfo" minOccurs="0" /> </xsd:sequence> <xsd:element ref="Reference" maxOccurs="unbounded" /> <xsd:element ref="PropertyCount" /> <xsd:element ref="SignatureProperties" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="SignatureId" type="xsd:ID" /> <xsd:element name="SignatureAlgorithm" type="xsd:string" /> <xsd:element name="Status" type="xsd:unsignedInt" /> <xsd:element name="LastError" type="xsd:unsignedInt" /> <xsd:element name="ReferenceCount" type="xsd:unsignedInt" /> -<xsd:element name="Reference"> -<xsd:complexType> -<xsd:sequence> -<xsd:sequence> <xsd:element ref="URI" /> <xsd:element ref="DigestMethod" /> <xsd:element ref="DigestStatus" /> </xsd:sequence> <xsd:element ref="SignedObject" minOccurs="0" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="URI" type="xsd:anyURI" /> <xsd:element name="DigestMethod" type="xsd:string" /> <xsd:element name="DigestStatus" type="xsd:unsignedInt" /> -<xsd:element name="SignedObject"> -<xsd:complexType> -<xsd:simpleContent> -<xsd:extension base="xsd:string"> <xsd:attribute name="Encoding" type="xsd:string" /> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <xsd:element name="SignatureCount" type="xsd:unsignedInt" /> <xsd:element name="Subject" type="xsd:string" /> -<xsd:element name="CertificateInfo"> -<xsd:complexType> -<xsd:sequence> <xsd:element ref="Subject" /> <xsd:element ref="CertificateIssuer" /> <xsd:element ref="CertificateSerialNumber" /> <xsd:element ref="CertificateExpiration" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="CertificateIssuer" type="xsd:string" /> <xsd:element name="CertificateExpiration" type="xsd:date" /> <xsd:element name="CertificateSerialNumber" type="xsd:string" /> <xsd:element name="PropertyCount" type="xsd:unsignedInt" /> -<xsd:element name="SignatureProperties"> -<xsd:complexType> -<xsd:sequence> <xsd:element ref="Property" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="Name" /> <xsd:element name="Value" /> -<xsd:element name="Property"> -<xsd:complexType> -<xsd:sequence> <xsd:element ref="Name" /> <xsd:element ref="Value" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> XML DTD : SignatureVerificationResponse.dtd <!ELEMENT XMLSignatureVerificationResponse (SignatureCount , (SignatureStatus*))> <!ELEMENT SignatureStatus ((SignatureId , SignatureAlgorithm , Status , LastError , ReferenceCount , CertificateInfo?) , Reference+ , PropertyCount , SignatureProperties)> <!ELEMENT SignatureId (#PCDATA)> <!ELEMENT SignatureAlgorithm (#PCDATA)> <!ELEMENT Status (#PCDATA)> <!ELEMENT LastError (#PCDATA)> <!ELEMENT ReferenceCount (#PCDATA)> <!ELEMENT Reference ((URI , DigestMethod , DigestStatus) , SignedObject?)> <!ELEMENT URI (#PCDATA)> <!ELEMENT DigestMethod (#PCDATA)> <!ELEMENT DigestStatus (#PCDATA)> <!ELEMENT SignedObject (#PCDATA)> <!ATTLIST SignedObject Encoding CDATA #IMPLIED > <!ELEMENT SignatureCount (#PCDATA)> <!ELEMENT Subject (#PCDATA)> <!ELEMENT CertificateInfo (Subject , CertificateIssuer , CertificateSerialNumber , CertificateExpiration)> <!ELEMENT CertificateIssuer (#PCDATA)> <!ELEMENT CertificateExpiration (#PCDATA)> <!ELEMENT CertificateSerialNumber (#PCDATA)> <!ELEMENT PropertyCount (#PCDATA)> <!ELEMENT SignatureProperties (Property*)> <!ELEMENT Name ANY> <!ELEMENT Value ANY> <!ELEMENT Property (Name , Value)>