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 | |
HMACOutputLength | 定义 XML DSIG 中指定的 SignatureValue 元素的长度(以位为单位)。 |
J | |
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 的签名。 |
是 |
完整的 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>