CarrierControlSignatureSchema schema

CarrierControlSignatureSchema 架构定义用于描述追加到预配文件的签名的元素。 它基于 XML DSIG 规范,只存在下面显式描述的次要偏差。 所有元素都位于命名空间 http://www.w3.org/2000/09/xmldsig#中。 并非所有元素都位于每个配置文件中,因为某些元素是可选的。

下表列出了此架构中的所有元素,按名称按字母顺序排序。

元素 说明
CanonicalizationMethod

定义应用于 XML DSIG 中指定的 SignedInfo 的规范化方法。 必须是规范 XML 类型。

DSAKeyValue

定义在 XML DSIG 中指定的 DSA) 公钥 (数字签名算法。

DigestMethod

定义用于生成在 XML DSIG 中指定的 DigestValue 的算法。

DigestValue

定义 XML DSIG 中指定的摘要值。 用于生成 DigestValue 的算法在 DigestMethod 中定义。

指数

定义 XML DSIG 中指定的 RSA 公钥指数。

G

定义一个整数,该整数具有与 XML DSIG 中指定的 PQ 相关的特定属性。

HMACOutputLength

定义 XML DSIG 中指定的 SignatureValue 元素的长度(以位为单位)。

J

定义在 XML DSIG 中指定的 (P - 1) /Q

KeyInfo

定义用于验证 XML DSIG 中指定的签名的所有密钥信息。

KeyValue

定义 XML DSIG 中指定的单个公钥。

定义 XML DSIG 中指定的 RSA 公钥模数。

P

定义符合 XML DSIG 中指定的 DSAwithSHA1 要求的主要模数。

PgenCounter

定义在 XML DSIG 中指定的 DSA) 质代计数器 (数字签名算法。

Q

定义范围 2**159 <Q< 2**160 中的整数,它是在 XML DSIG 中指定的 P-1 的主要除数。

RSAKeyValue

定义 XML DSIG 中指定的 RSA 公钥。

引用

定义 XML DSIG 中指定的摘要值、摘要方法和转换。

种子

定义在 XML DSIG 中指定的 DSA) 质代种子 (数字签名算法。

Signature

定义 符合 XML DSIG 的签名的根元素。 签名 是预配文件签名的唯一根元素。

SignatureMethod

定义用于根据 XML DSIG 中指定的 SignatureValue 生成签名指纹的算法。

SignatureValue

定义 XML DSIG 中指定的签名指纹。 用于生成 SignatureValue 的算法在 SignatureMethod 中定义。

SignedInfo

定义 在 XML DSIG 中指定的签名中的所有签名内容。

转换

定义在 XML DSIG 中指定的 DigestMethod 之前应用于摘要数据对象的转换。

转换

定义应用于 XML DSIG 中指定的摘要数据对象的转换的有序列表。

X509Certificate

定义 XML DSIG 中定义的符合 X.509 的签名。

X509Data

定义 XML DSIG 中定义的一个或多个符合 X.509 的签名。

定义 G **X mod P (其中 X 是私钥的一部分,而不是在 XML DSIG 中指定的公开) 。

 

完整的 CarrierControlSignatureSchema 架构如下所示:

<?xml version="1.0" encoding="utf-8"?>  
  
<schema xmlns="http://www.w3.org/2001/XMLSchema"  
        xmlns:ds="http://www.w3.org/2000/09/xmldsig#"  
        targetNamespace="http://www.w3.org/2000/09/xmldsig#"  
        version="0.1" elementFormDefault="qualified">
  
<simpleType name="CryptoBinary">  
  <restriction base="base64Binary">  
  </restriction>  
</simpleType> 
  
<element name="Signature" type="ds:SignatureType"/>  
<complexType name="SignatureType">  
  <sequence>   
    <element ref="ds:SignedInfo"/>   
    <element ref="ds:SignatureValue"/>   
    <element ref="ds:KeyInfo" minOccurs="0"/>   
  </sequence>    
  <attribute name="Id" type="ID" use="optional"/>  
</complexType>  
  
  <element name="SignatureValue" type="ds:SignatureValueType"/>   
  <complexType name="SignatureValueType">  
    <simpleContent>  
      <extension base="base64Binary">  
        <attribute name="Id" type="ID" use="optional"/>  
      </extension>  
    </simpleContent>  
  </complexType>  
  
<element name="SignedInfo" type="ds:SignedInfoType"/>  
<complexType name="SignedInfoType">  
  <sequence>   
    <element ref="ds:CanonicalizationMethod"/>   
    <element ref="ds:SignatureMethod"/>   
    <element ref="ds:Reference"/>   
  </sequence>    
  <attribute name="Id" type="ID" use="optional"/>   
</complexType>  
  
  <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>   
  <complexType name="CanonicalizationMethodType" mixed="true">  
    <attribute name="Algorithm" use="required">   
      <simpleType>  
        <restriction base="anyURI">  
          <enumeration value="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>  
          <enumeration value="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/>  
          <enumeration value="http://www.w3.org/2001/10/xml-exc-c14n#"/>  
          <enumeration value="http://www.w3.org/2001/10/xml-exc-c14n#WithComments"/>  
        </restriction>  
      </simpleType>  
    </attribute>  
  </complexType>  
  
  <element name="SignatureMethod" type="ds:SignatureMethodType"/>  
  <complexType name="SignatureMethodType" mixed="true">  
    <sequence>  
      <element name="HMACOutputLength" minOccurs="0" type="ds:HMACOutputLengthType"/>  
      <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>   
    </sequence>  
    <attribute name="Algorithm" type="anyURI" use="required"/>   
  </complexType>  
  
<element name="Reference" type="ds:ReferenceType"/>  
<complexType name="ReferenceType">  
  <sequence>   
    <element ref="ds:Transforms"/>   
    <element ref="ds:DigestMethod"/>   
    <element ref="ds:DigestValue"/>   
  </sequence>  
  <attribute name="Id" type="ID" use="optional"/>    
  <attribute name="URI">  
    <simpleType>  
      <restriction base="anyURI">  
        <maxLength value="0"/>  
      </restriction>        
    </simpleType>  
  </attribute>  
</complexType>  
  
  <element name="Transforms" type="ds:TransformsType"/>  
  <complexType name="TransformsType">  
    <sequence>  
      <element ref="ds:Transform" maxOccurs="1"/>    
    </sequence>  
  </complexType>  
  
  <element name="Transform" type="ds:TransformType"/>  
  <complexType name="TransformType" mixed="true">  
    <attribute name="Algorithm" use="required">   
      <simpleType>  
        <restriction base="anyURI">  
          <enumeration value="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>  
        </restriction>  
      </simpleType>  
    </attribute>  
  </complexType>  
  
<element name="DigestMethod" type="ds:DigestMethodType"/>  
<complexType name="DigestMethodType" mixed="true">   
  <sequence>  
    <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>  
  </sequence>      
  <attribute name="Algorithm" type="anyURI" use="required"/>   
</complexType>  
  
<element name="DigestValue" type="ds:DigestValueType"/>  
<simpleType name="DigestValueType">  
  <restriction base="base64Binary"/>  
</simpleType>  
  
<element name="KeyInfo" type="ds:KeyInfoType"/>   
<complexType name="KeyInfoType" mixed="true">  
  <choice maxOccurs="unbounded">       
    <element ref="ds:KeyValue"/>   
    <element ref="ds:X509Data"/>   
    <any processContents="lax" namespace="##other"/> 
  </choice>  
  <attribute name="Id" type="ID" use="optional"/>   
</complexType>  
  
  
  <element name="KeyValue" type="ds:KeyValueType"/>   
  <complexType name="KeyValueType" mixed="true">  
   <choice>  
     <element ref="ds:DSAKeyValue"/>  
     <element ref="ds:RSAKeyValue"/>  
     <any namespace="##other" processContents="lax"/>  
   </choice>  
  </complexType>  

<element name="X509Data" type="ds:X509DataType"/>   
<complexType name="X509DataType">  
  <sequence maxOccurs="unbounded">  
    <choice>  
      <element name="X509Certificate" type="base64Binary"/>  
    </choice>  
  </sequence>  
</complexType>  

<simpleType name="HMACOutputLengthType">  
  <restriction base="integer"/>  
</simpleType>  
  
<element name="DSAKeyValue" type="ds:DSAKeyValueType"/>  
<complexType name="DSAKeyValueType">  
  <sequence>  
    <sequence minOccurs="0">  
      <element name="P" type="ds:CryptoBinary"/>  
      <element name="Q" type="ds:CryptoBinary"/>  
    </sequence>  
    <element name="G" type="ds:CryptoBinary" minOccurs="0"/>  
    <element name="Y" type="ds:CryptoBinary"/>  
    <element name="J" type="ds:CryptoBinary" minOccurs="0"/>  
    <sequence minOccurs="0">  
      <element name="Seed" type="ds:CryptoBinary"/>  
      <element name="PgenCounter" type="ds:CryptoBinary"/>  
    </sequence>  
  </sequence>  
</complexType>  
  
<element name="RSAKeyValue" type="ds:RSAKeyValueType"/>  
<complexType name="RSAKeyValueType">  
  <sequence>  
    <element name="Modulus" type="ds:CryptoBinary"/>   
    <element name="Exponent" type="ds:CryptoBinary"/>   
  </sequence>  
</complexType>   
</schema>