home *** CD-ROM | disk | FTP | other *** search
/ ftp.rsa.com / 2014.05.ftp.rsa.com.tar / ftp.rsa.com / pub / otps / vs / vs-d3.xsd < prev    next >
Extensible Markup Language  |  2014-05-02  |  7KB  |  205 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Copyright (c) RSA Security Inc. 2005. All rights reserved. -->
  3.  
  4. <xs:schema
  5.   targetNamespace="http://www.rsasecurity.com/rsalabs/otps/schemas/2005/11/otps-vs#"
  6.   xmlns="http://www.rsasecurity.com/rsalabs/otps/schemas/2005/11/otps-vs#"
  7.   xmlns:otps-wst="http://www.rsasecurity.com/rsalabs/otps/schemas/2005/09/otps-wst#"
  8.   xmlns:xs="http://www.w3.org/2001/XMLSchema"
  9.   xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
  10.   xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
  11.  
  12.   <xs:import namespace="http://www.rsasecurity.com/rsalabs/otps/schemas/2005/09/otps-wst#"
  13.     schemaLocation="otps-wst.xsd"/>
  14.  
  15.   <xs:import namespace="http://www.w3.org/2000/09/xmldsig#"
  16.     schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>
  17.  
  18.   <xs:import namespace="http://www.w3.org/2001/04/xmlenc#"
  19.     schemaLocation="http://www.w3.org/TR/xmlenc-core/xenc-schema.xsd"/>
  20.  
  21. <!-- Basic Types -->
  22. <xs:complexType name="AbstractRequestType" abstract="true">
  23.   <xs:attribute name="Version" type="VersionType" use="required"/>
  24.   <xs:attribute name="RequestID" type="IdentifierType" use="required"/>
  25.   <xs:attribute name="SequenceID" type="xs:nonNegativeInteger"/>
  26. </xs:complexType>
  27.  
  28. <xs:complexType name="AbstractResponseType" abstract="true">
  29.   <xs:attribute name="Version" type="VersionType" use="required"/>
  30.   <xs:attribute name="ProtocolStatus" type="ProtocolStatusType" use="required"/>
  31.   <xs:attribute name="RequestID" type="IdentifierType"/>
  32.   <xs:attribute name="SessionID" type="IdentifierType"/>    
  33.   <xs:attribute name="SequenceID" type="xs:nonNegativeInteger"/>
  34. </xs:complexType>
  35.  
  36. <xs:simpleType name="VersionType">
  37.   <xs:restriction base="xs:string">
  38.     <xs:pattern value="\d{1,2}\.\d{1,3}"/>
  39.   </xs:restriction>
  40. </xs:simpleType>
  41.  
  42. <xs:simpleType name="ProtocolStatusType">
  43.   <xs:restriction base="xs:string">
  44.     <xs:enumeration value="Continue"/>
  45.     <xs:enumeration value="Complete"/>
  46.     <xs:enumeration value="Abort"/>
  47.     <xs:enumeration value="AccessDenied"/>
  48.     <xs:enumeration value="MalformedRequest"/>
  49.     <xs:enumeration value="UnknownRequest"/>
  50.     <xs:enumeration value="UnknownCriticalExtension"/>
  51.     <xs:enumeration value="UnsupportedVersion"/>
  52.     <xs:enumeration value="UnsupportedOTPAlgorithm"/>
  53.     <xs:enumeration value="NotAuthoritative"/>
  54.     <xs:enumeration value="NoCredentials"/>
  55.     <xs:enumeration value="SignatureValidationFailed"/>
  56.     <xs:enumeration value="DecryptionFailed"/>
  57.     <xs:enumeration value="SignatureRequired"/>
  58.   </xs:restriction>
  59. </xs:simpleType>
  60.  
  61. <xs:complexType name="ValidationStatusType">
  62.   <xs:sequence>
  63.     <xs:element name="Status" type="StatusCode"/>
  64.     <xs:element name="Reason" type="ReasonCode" minOccurs="0"/>
  65.     <xs:element name="Message" type="xs:string" minOccurs="0"/>
  66.   </xs:sequence>
  67. </xs:complexType>
  68.  
  69. <xs:simpleType name="StatusCode">
  70.   <xs:restriction base="xs:string">
  71.     <xs:enumeration value="OK"/>
  72.     <xs:enumeration value="Unknown"/>
  73.     <xs:enumeration value="Failed"/>
  74.   </xs:restriction>
  75. </xs:simpleType>
  76.  
  77. <xs:complexType name="ExtendedStatusCode">
  78.   <xs:simpleContent>
  79.     <xs:extension base="StatusCode">
  80.       <xs:attribute name="ValidationStrength"/>
  81.     </xs:extension>
  82.   </xs:simpleContent>
  83. </xs:complexType>
  84.  
  85. <xs:simpleType name="ReasonCode">
  86.   <xs:restriction base="xs:string">
  87.     <xs:enumeration value="LostToken"/>
  88.     <xs:enumeration value="ExpiredToken"/>
  89.     <xs:enumeration value="PINUpdate"/>
  90.   </xs:restriction>
  91. </xs:simpleType>
  92.  
  93. <xs:simpleType name="IdentifierType">
  94.   <xs:restriction base="xs:string">
  95.     <xs:maxLength value="128"/>
  96.   </xs:restriction>
  97. </xs:simpleType>
  98.  
  99. <xs:complexType name="RequestPayloadType">
  100.   <xs:choice>
  101.     <xs:element name="OTPToken" type="otps-wst:OTPToken"/>
  102.     <xs:element name="ChallengeRequest" type="ChallengeRequestType"/>
  103.     <xs:any namespace="##other"/>
  104.   </xs:choice>
  105. </xs:complexType>
  106.  
  107. <xs:complexType name="ChallengeRequestType">
  108.   <xs:attributeGroup ref="otps-wst:TokQual"/>
  109.   <xs:attribute name="AlgorithmID" type="xs:anyURI"/>
  110. </xs:complexType>
  111.  
  112. <xs:complexType name="ResponsePayloadType">
  113.   <xs:choice maxOccurs="unbounded">
  114.     <xs:element name="Challenge" type="xs:string"/>
  115.     <xs:element name="NeedNextOTP"/>
  116.     <xs:any namespace="##other"/>
  117.   </xs:choice>
  118. </xs:complexType>
  119.  
  120. <xs:complexType name="ExtensionsType">
  121.   <xs:sequence maxOccurs="unbounded">
  122.     <xs:element name="Extension" type="AbstractExtensionType"/>
  123.   </xs:sequence>
  124. </xs:complexType>
  125.  
  126. <xs:complexType name="AbstractExtensionType" abstract="true">
  127.   <xs:attribute name="Critical" type="xs:boolean"/>
  128. </xs:complexType>
  129.  
  130. <xs:complexType name="ClientInfoType">
  131.   <xs:complexContent>
  132.     <xs:extension base="AbstractExtensionType">
  133.       <xs:sequence>
  134.         <xs:element name="Data" type="xs:base64Binary"/>
  135.       </xs:sequence>
  136.     </xs:extension>
  137.   </xs:complexContent>
  138. </xs:complexType>
  139.  
  140. <xs:complexType name="ServerInfoType">
  141.   <xs:complexContent>
  142.     <xs:extension base="AbstractExtensionType">
  143.       <xs:sequence>
  144.         <xs:element name="Data" type="xs:base64Binary"/>
  145.       </xs:sequence>
  146.     </xs:extension>
  147.   </xs:complexContent>
  148. </xs:complexType>
  149.  
  150. <!-- Protocol messages -->
  151.  
  152. <!-- OTP-ValidationService Request -->
  153. <xs:element name="ValidationRequest" type="ValidationRequestType"/>
  154.  
  155. <xs:complexType name="ValidationRequestType">
  156.   <xs:annotation>
  157.     <xs:documentation xml:lang="En">
  158.       Message sent to Validation service to initiate or continue validation
  159.       of OTP credentials.
  160.     </xs:documentation>
  161.   </xs:annotation>
  162.   <xs:complexContent>
  163.     <xs:extension base="AbstractRequestType">
  164.       <xs:choice>
  165.         <xs:sequence>
  166.           <xs:element name="Payload" type="RequestPayloadType"/>
  167.           <xs:element name="Extensions" type="ExtensionsType" minOccurs="0"/>
  168.           <xs:element name="Signature" type="ds:SignatureType" minOccurs="0"/>
  169.         </xs:sequence>
  170.         <xs:element name="EncryptedRequest" type="xenc:EncryptedDataType"/>
  171.       </xs:choice>
  172.       <xs:attribute name="SiteID" type="xs:string"/>
  173.       <xs:attribute name="CertHash" type="xs:base64Binary"/>
  174.       <xs:attribute name="Update" type="xs:boolean" default="true"/>
  175.     </xs:extension>
  176.   </xs:complexContent>
  177. </xs:complexType>
  178.  
  179. <!-- OTP-ValidationService Response -->
  180. <xs:element name="ValidationResponse" type="ValidationResponseType"/>
  181.  
  182. <xs:complexType name="ValidationResponseType">
  183.   <xs:annotation>
  184.     <xs:documentation xml:lang="En">
  185.       Message sent from Validation service responding to a validation request.
  186.     </xs:documentation>
  187.   </xs:annotation>
  188.   <xs:complexContent>
  189.     <xs:extension base="AbstractResponseType">
  190.       <xs:choice minOccurs="0">
  191.         <xs:sequence>
  192.           <xs:element name="ValidationStatus" type="ValidationStatusType" 
  193.             minOccurs="0"/>
  194.           <xs:element name="Payload" type="ResponsePayloadType" minOccurs="0"/>
  195.           <xs:element name="Extensions" type="ExtensionsType" minOccurs="0"/>
  196.           <xs:element name="Signature" type="ds:SignatureType" minOccurs="0"/>
  197.         </xs:sequence>
  198.         <xs:element name="EncryptedResponse" type="xenc:EncryptedDataType"/> 
  199.       </xs:choice>
  200.     </xs:extension>
  201.   </xs:complexContent>
  202. </xs:complexType>
  203.  
  204. </xs:schema>
  205.