Esquema CarrierControlSignatureSchema
El esquema CarrierControlSignatureSchema define los elementos que se usan para describir la firma anexada al archivo de aprovisionamiento. Se basa en la especificación DSIG XML con solo desviaciones menores que se describen explícitamente a continuación. Todos los elementos están en el espacio de nombres http://www.w3.org/2000/09/xmldsig#
. No todos los elementos están en todos los perfiles, ya que algunos elementos son opcionales.
En la tabla siguiente se enumeran todos los elementos de este esquema, ordenados alfabéticamente por nombre.
Elemento | Descripción |
---|---|
CanonicalizationMethod | Define el método de canónico aplicado a SignedInfo como se especifica en DSIG XML. Debe ser de tipo XML canónico. |
DSAKeyValue | Define una clave pública del algoritmo de firma digital (DSA) tal como se especifica en XML DSIG . |
DigestMethod | Define el algoritmo utilizado para generar DigestValue como se especifica en DSIG XML. |
DigestValue | Define el valor de resumen tal y como se especifica en XML DSIG . El algoritmo usado para generar DigestValue se define en DigestMethod. |
Exponente | Define el exponente de clave pública RSA como se especifica en XML DSIG . |
G | Define un entero con determinadas propiedades con respecto a P y Q como se especifica en DSIG XML. |
HMACOutputLength | Define la longitud, en bits, del elemento SignatureValue tal y como se especifica en DSIG XML. |
J | |
KeyInfo | Define toda la información clave utilizada para validar la firma tal y como se especifica en DSIG XML . |
KeyValue | Define una sola clave pública como se especifica en DSIG XML . |
Módulo | Define el módulo de clave pública RSA como se especifica en XML DSIG . |
P | Define un módulo primo que cumple los requisitos DSAwithSHA1 como se especifica en XML DSIG. |
PgenCounter | Define un contador de generación primo del algoritmo de firma digital (DSA) tal como se especifica en XML DSIG . |
Q | Define un entero en el intervalo 2**159 <Q< 2**160, que es un divisor primo de P-1 como se especifica en DSIG XML. |
RSAKeyValue | Define una clave pública RSA como se especifica en XML DSIG . |
Referencia | Define un valor de resumen, un método de resumen y transformaciones como se especifica en XML DSIG . |
Semilla | Define una inicialización de generación primaria de algoritmo de firma digital (DSA) tal como se especifica en XML DSIG . |
Signature | Define el elemento raíz de una firma compatible con DSIG XML . Signature es el elemento raíz único para una firma de archivo de aprovisionamiento. |
SignatureMethod | Define el algoritmo utilizado para generar la huella digital de la firma en SignatureValue como se especifica en DSIG XML. |
SignatureValue | Define la huella digital de firma como se especifica en XML DSIG . El algoritmo usado para generar SignatureValue se define en SignatureMethod. |
SignedInfo | Define todo el contenido firmado dentro de la firma tal y como se especifica en XML DSIG . |
Transformación | Define una transformación aplicada al objeto de datos implícita antes de DigestMethod como se especifica en DSIG XML. |
Transformaciones | Define una lista ordenada de transformaciones aplicadas al objeto de datos implícita como se especifica en DSIG XML . |
X509Certificate | Define una firma compatible X.509 como se define en DSIG XML . |
X509Data | Define una o varias firmas compatibles con X.509, tal como se define en XML DSIG . |
S | Define G **X mod P (donde X forma parte de la clave privada y no se hace pública) como se especifica en DSIG XML. |
A continuación se muestra el esquema carrierControlSignatureSchema completo:
<?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>