Padrão de Assinatura Digital
As mensagens enviadas ao Web Service do Siscomex Carga são documentos eletrônicos elaborados no padrão XML e devem ser assinados digitalmente com um certificado digital que contenha o CPF do responsável pelo envio com acesso ao sistema/transação correspondente.
Alguns elementos estão presentes dentro do Certificado do contribuinte tornando desnecessária a sua representação individualizada no arquivo XML. Portanto, o arquivo XML não deve conter os elementos:
<X509SubjectName>
<X509IssuerSerial>
<X509IssuerName>
<X509SerialNumber>
<X509SKI>
Deve-se evitar o uso das TAG abaixo, pois as informações serão obtidas a partir do Certificado do emitente:
<KeyValue>
<RSAKeyValue>
<Modulus>
<Exponent>
O Siscomex Carga utiliza um subconjunto do padrão de assinatura XML definido pelo http://www.w3.org/TR/xmldsig-core/, esta estrutura para a assinatura digital está definida no arquivo xmldsig-core-schema.xsd.
A assinatura do operador portuário no boletim de carga/descarga será feita dentro da TAG <Signature> que é a última TAG dentro da TAG raiz. Segue abaixo um exemplo:
<?xml version="1.0" encoding="UTF-8"?> <ns3:cargaDescargaWSVO xmlns:ns3="http://cargadescarga.webservice.carga.siscomex.serpro.gov.br/" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"> <nrEscala>99999999999</nrEscala> <cdTerminalOperacao>BRRIO999</cdTerminalOperacao> <cdTipoItem>1</cdTipoItem> <conteineres>...</conteineres> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <Reference URI=""> <Transforms> <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <DigestValue>NvRfjutmMXIxxxxxssddsS6fTY=</DigestValue> </Reference> </SignedInfo> <SignatureValue>mU0CoZEdLw80+XiYhekQ8LAUTy3hsG3uvsmycB8/RmHEMfi1b7/Da0MPW WVFXkVy8YA9tBd0JW5qw/p3wjOemZYkTUet/ld6aD+2nw22AWzV85hwXimS9v7zUxLfaUVIcNcJIJ9GBu /aoLjmG4YxKdzLGhAQ=</SignatureValue> <KeyInfo> <X509Data> <X509Certificate>MIIFtjCCB6gAwIBAgIQMjxMTA5MDExDM4MTY1MDANBgkqhkiGw0B BhMClIxEzARBgVBAoTCklDUCCcmFzaWwxOzA5gNVBAsTMlNlcZpY28gRmVkZXJhCBkZSBQ cm9ZXNzYW1lnRvIRlIERhZG9IC0gU0VSFJPMQ8wQYDVQQLEwZDU1BCLTExNDAyBgNVBA ... vZW/9Fz7hIjuP1CxytryrhkrdYzV2uOh6P2NlAn+5jKHTOt65RU8YI+kaNzk6QOKCHPikr+o5oCSW 0e+LrXG37HOc5JBOdhgfhZpx8acjaaxP3nn18PpIjQG/Fq9ONzeiR++iMd3AW7VMZzcQS28sMV xgG71CiVGOdaTLVfdfdsfwG0+OvvwAE14/vJBFoMzoLsJojk+qHl4ULYja/U6F30yGUrsU4CBLkx ZPJmkYX3k1UUysejatfdsfdsfewer4vFXN3VSGzw/3FoGI+WK0VZxE+jnYJA=</X509Certificate> </X509Data> </KeyInfo> </Signature> </ns3:cargaDescargaWSVO> |
Para o processo de assinatura o contribuinte não deve fornecer a Lista de Certificados Revogados, já que a mesma será montada e validada no Siscomex Carga no momento da conferência da assinatura digital.
A assinatura digital do documento eletrônico deverá atender aos seguintes padrões adotados:
a) Padrão de assinatura: “XML Digital Signature”, utilizando o formato “Enveloped” (http://www.w3.org/TR/xmldsig-core/);
b) Certificado digital: Emitido por AC credenciada no ICP-Brasil (http://www.w3.org/2000/09/xmldsig#X509Data);
c) Cadeia de Certificação: EndCertOnly (Incluir na assinatura apenas o certificado do usuário final);
d) Tipo do certificado: A1 ou A3;
e) Tamanho da Chave Criptográfica: Compatível com os certificados A1 e A3 (1024 bits);
f) Função criptográfica assimétrica: RSA (http://www.w3.org/2000/09/xmldsig#rsa-sha1);
g) Função de “message digest”: SHA-1 (http://www.w3.org/2000/09/xmldsig#sha1);
h) Codificação: Base64 (http://www.w3.org/2000/09/xmldsig#base64);
i) Transformações exigidas: Útil para realizar a canonicalização do XML enviado para realizar a validação correta da Assinatura Digital. São elas:
1) Enveloped (http://www.w3.org/2000/09/xmldsig#enveloped-signature)
2) C14N (http://www.w3.org/TR/2001/REC-xml-c14n-20010315)