Esquema de CarrierControlSignatureSchema
O esquema CarrierControlSignatureSchema define elementos que são usados para descrever a assinatura acrescentada ao arquivo de provisionamento. Ele se baseia na especificação DSIG XML com apenas pequenos desvios descritos explicitamente abaixo. Todos os elementos estão no namespace http://www.w3.org/2000/09/xmldsig#
. Nem todos os elementos estão em todos os perfis, pois alguns elementos são opcionais.
A tabela a seguir lista todos os elementos neste esquema, classificados em ordem alfabética por nome.
Elemento | Descrição |
---|---|
CanonicalizationMethod | Define o método de canonicalização aplicado a SignedInfo conforme especificado em DSIG XML. Deve ser do tipo XML Canônico. |
DSAKeyValue | Define uma chave pública DSA (Algoritmo de Assinatura Digital), conforme especificado em DSIG XML . |
DigestMethod | Define o algoritmo usado para gerar DigestValue conforme especificado em DSIG XML. |
DigestValue | Define o valor de resumo conforme especificado em DSIG XML . O algoritmo usado para gerar DigestValue é definido em DigestMethod. |
Expoente | Define o expoente de chave pública RSA conforme especificado em DSIG XML . |
G | Define um inteiro com determinadas propriedades em relação a P e Q , conforme especificado em DSIG XML. |
HMACOutputLength | Define o comprimento, em bits, do elemento SignatureValue , conforme especificado em DSIG XML. |
J | |
KeyInfo | Define todas as informações de chave usadas para validar a assinatura conforme especificado no XML DSIG . |
Keyvalue | Define uma única chave pública conforme especificado em DSIG XML . |
Módulo | Define o módulo de chave pública RSA conforme especificado em DSIG XML . |
P | Define um módulo prime que atende aos requisitos DSAwithSHA1 conforme especificado no DSIG XML. |
PgenCounter | Define um contador de geração principal DSA (Algoritmo de Assinatura Digital), conforme especificado em DSIG XML . |
Q | Define um inteiro no intervalo 2**159 <Q< 2**160, que é um divisor principal de P-1, conforme especificado em DSIG XML. |
RSAKeyValue | Define uma chave pública RSA conforme especificado em DSIG XML . |
Referência | Define um valor digest, método digest e transformações conforme especificado em DSIG XML . |
Semente | Define uma semente de geração principal DSA (Algoritmo de Assinatura Digital), conforme especificado em DSIG XML . |
Signature | Define o elemento raiz de uma assinatura em conformidade com DSIG XML . A assinatura é o elemento raiz exclusivo para uma assinatura de arquivo de provisionamento. |
SignatureMethod | Define o algoritmo usado para gerar a impressão digital de assinatura em SignatureValue , conforme especificado em DSIG XML. |
SignatureValue | Define a impressão digital de assinatura conforme especificado em DSIG XML . O algoritmo usado para gerar SignatureValue é definido em SignatureMethod. |
SignedInfo | Define todo o conteúdo assinado dentro da assinatura, conforme especificado em DSIG XML . |
Transformar | Define uma transformação aplicada ao objeto de dados digerido antes de DigestMethod , conforme especificado em DSIG XML. |
Transformações | Define uma lista ordenada de transformações aplicadas ao objeto de dados digerido conforme especificado no XML DSIG . |
X509Certificate | Define uma assinatura em conformidade com X.509, conforme definido em DSIG XML . |
X509Data | Define uma ou mais assinaturas em conformidade com X.509 conforme definido em DSIG XML . |
S | Define G **X mod P (em que X faz parte da chave privada e não é tornado público) conforme especificado em DSIG XML. |
O esquema CarrierControlSignatureSchema completo está abaixo:
<?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>