Compartilhar via


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

Define (P – 1) / Q conforme especificado em DSIG XML.

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>