Servicio de firma electrónica múltiple para XML
Contenido
- Características generales
-
Método [
MultipleSignXml
]: Firma múltiple de XML.- Solicitud MultipleSignXml
- Respuesta MultipleSignXml
- Códigos de error firma
-
Método [
VaidateSignatureXml
]: Validación de firma electrónica de XML.- Solicitud VaidateSignatureXml
- Respuesta VaidateSignatureXml
- Códigos de error validación
Características generales
El servicio de firma proporcionado por Sovos tiene por objetivo:
- Recibir un XML bien formado.
- Realizará la firma electrónica del XML con el estándar
XAdES-BES
, con el número de certificado definido en la solicitud; el certificado debe estar registrado en la plataforma de Sovos para poder realizar la firma electrónica. - Poder firmar el XML por diferentes firmantes, basado en el número de certificado.
Estándar de firma XAdES-BES
El servicio de Sovos para realizar la firma de un XML, basado en el estándar XML Advanced Electronic Signatures - Basic Electronic Signature (Firma electrónica avanzada XML - firma electrónica básica) XAdES-BES
publicado por ETSI (European Telecommunications Standards Institute).
En la siguiente liga encontrará información relacionada con el estándar de firma electrónica de XML XAdES-BES
.
¿Qué necesito?
Autenticación
Para poder utilizar el servicio de firma por web service, es necesario contar con un API Key con el cual se realiza la autenticación al servicio. El API Key lo generas desde el portal de Sovos. En este artículo se indica como se genera un API Key en tu cuenta: Generar API Key
Interfaz de Integración
Esta funcionalidad se provee por medio de el Web Service
Cargar certificado de firma
Para poder realizar la firma electrónica, los certificados deben ser custodiados y guardados en la plataforma Sovos, para lo cual es necesario registrar el certificado en la plataforma. La contraseña es requerida cuando se registre un .PFX; la contraseña puede ser opcional cuando se registre el .CER y .KEY; en caso de no registrar la contraseña, será requerido enviarla en la solicitud de firma.
Ubicación del Servicio
La ubicación del web service del servicio de firma de XML son:
Ambiente | Ubicación de WSDL |
---|---|
Pruebas | https://oat.reachcore.com/api/ws/signature/XmlMultiSignature.svc?wsdl |
Producción | https://go.reachcore.com/api/ws/signature/XmlMultiSignature.svc?wsdl |
Método [MultiSignXml
]: Firma múltiple de XML
En este método se realiza la firma de un XML, ya sea una vez o múltiples ocasiones, basado en el número de serie del certificado el cual debe estar registrado en la plataforma Sovos.
Solicitud MultiSignXml
Elemento | Uso | Descripción |
---|---|---|
ApiKey | Requerido | Identificador de autenticación, que se genera en el portal de Sovos. |
Certificates | Requerido | Arreglo de certificados con los cuales se firmará el XML. Cada certificado se declara en el elemento Certificate en donde se indica: |
TrackingId | Opcional | Información de contenido libre de hasta 200 caracteres Unicode que puede ser usada como dato de referencia del cliente. Por ejemplo un número o folio de documento en un sistema externo. |
Xml | Requerido | El XML que se firmará, el cual debe estar bien formado, que se enviará dentro de <![CDATA[...]]> |
Para los siguientes ejemplos, el XML que se firmará es el siguiente:
<MultiSign>Demo</MultiSign>
El ejemplo para la solicitud para firmar el XML con el certificado con número de serie 02
, será la siguiente:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cus="http://www.reachcore.com/CFDI/customHeaders" xmlns:urn="urn:schemas.reachcore.com:signature">
<soapenv:Header>
<cus:ApiKey>gf7hut8anehdyza6xqjm...wvncktr8kcu5uwas</cus:ApiKey>
</soapenv:Header>
<soapenv:Body>
<urn:MultiSignXmlRequest>
<urn:Certificates>
<urn:Certificate>
<urn:CertificateSerialNumber>02</urn:CertificateSerialNumber>
</urn:Certificate>
</urn:Certificates>
<urn:Xml><![CDATA[<MultiSign>Demo</MultiSign>]]></urn:Xml>
</urn:MultiSignXmlRequest>
</soapenv:Body>
</soapenv:Envelope>
A continuación la solicitud para firmar con los certificados 02
y 03
. Debido a que el valor de PasswordB64
es opcional, solo es requerido enviarla, en caso de la no se haya registrado en la plataforma Sovos. La firma se realizará en el orden que de establezcan los certificados en la solicitud.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cus="http://www.reachcore.com/CFDI/customHeaders" xmlns:urn="urn:schemas.reachcore.com:signature">
<soapenv:Header>
<cus:ApiKey>51e9d1097f634f20be62ad638bd7c31a71644c406d9e405d933f769303391008</cus:ApiKey>
</soapenv:Header>
<soapenv:Body>
<urn:MultiSignXmlRequest>
<urn:Certificates>
<urn:Certificate>
<urn:CertificateSerialNumber>02</urn:CertificateSerialNumber>
</urn:Certificate>
<urn:Certificate>
<urn:CertificateSerialNumber>03</urn:CertificateSerialNumber>
<urn:PasswordB64>MXFheiQxcWF6</urn:PasswordB64>
</urn:Certificate>
</urn:Certificates>
<urn:TrackingId>TrackingId_MultiSign</urn:TrackingId>
<urn:Xml><![CDATA[<MultiSign>Documento XML</MultiSign>]]></urn:Xml>
<urn:TransactionProperties>
<urn:TransactionProperty Key="Key" Value="Value"/>
</urn:TransactionProperties>
</urn:MultiSignXmlRequest>
</soapenv:Body>
</soapenv:Envelope>
Respuesta MultiSignXml
Elemento | Descripción |
---|---|
Error | false : Transacción exitosa. true : Error en la transacción. |
Errors | Conjunto de mensajes de error, se contendrá elementos Error tenga el valor true. En cada elemento Error se mostrará: |
SignedXml | El XML resultado del proceso de firmado. Se devuelve en un <![CDATA[...]]> |
TransactionId | Número único de transacción asignado por Sovos. Puede ser utilizado en el futuro para referirse a una transacción en particular, con motivos de soporte. |
Ejemplo de respuesta exitosa al firmar el XML el certificado con número de serie 02
:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MultiSignXmlResponse xmlns="urn:schemas.reachcore.com:signature">
<Error>false</Error>
<Errors/>
<TransactionId>20058c60-9076-4e74-beb2-de2e75d12baa</TransactionId>
<SignedXml><![CDATA[<MultiSign Id="id-3737370363">Demo<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-705588820">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:CanonicalizationMethod>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></ds:SignatureMethod>
<ds:Reference Id="Reference-ID-214013142" URI="#id-3737370363">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>Dq8EJOMTi3KIJ/pRbOpYistCb6A=</ds:DigestValue>
</ds:Reference>
<ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#SignedProperties-928477832">
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>pnvtT3OsPGycENOUBOPMob3Mz4w=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
yFizAWq2hcvqywsc/utxrx0mHnyl3zWoE0BxIS5MYWk0yfKN+TQQpL3vTDmq9Rhn
0oImP/9F8/KlHUJkCTv28r+/YzEZPL5UjDoFsO3I7JY3zI+/Jf8ppdRlg8FXgqhC
5JcHUtj5fDTsSV4hNYuAjumzhPnafTS+GmeEFGGPJH9fRljPTeZcMwrBCtsTtZNr
y+bu53HryJk4a4yXAXJcj9bn7LbXyN4ENHCl04JGopdUvCAVa5h1gc6xPCHLCcBv
VC0jVN8FMrhMF/yRsvDSxsjxnI8PR6JI2u6kiXgkNscZx8RHB5TuxjE8b/vIvv0c
/+NUChCQBBxf6ABDv+x6wA==
</ds:SignatureValue>
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>
<ds:Modulus>
3KSNCmaJH/Q0+HsxMKEn3KYQBd7V8dHsn0ZkX20TGdE3kwoyKFmr1rpjYSj6zx0d
LeuH0D3fd4cBapSWp2YYbsLDbQ8XN81QJapVyLg7UVoFFDQLWZcW1IHQ3V6bWndN
0MCSqxEh4prkFcDtGGw3x4EBQtcklJJZX/DA/nTDWujYQRWkgLZOOHNXxEFCt+Xe
SI3Fpej5idSYv6sLACt9Vlg8RX4hU125UmUH2X2p0w5q6ivSONJ20p1cktCQ4H1u
w9ZddLbM9bg1ftowP5WmzLXu/yon27gNbV7abRXjku8c5hZBlxZICLbx3dQi6NAD
yP+K8DGRthVlr8BLb4/XGQ==
</ds:Modulus>
<ds:Exponent>AQAB</ds:Exponent>
</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509IssuerSerial>
<ds:X509IssuerName>CN=Reachcore R&D CA4 Root, O=Reachcore, L=Mexico, ST=DF, C=MX</ds:X509IssuerName>
<ds:X509SerialNumber>2</ds:X509SerialNumber>
</ds:X509IssuerSerial>
<ds:X509SubjectName>CN=AC4Firma01, O=Reachcore, L=Mexico, ST=DF, C=MX</ds:X509SubjectName>
<ds:X509Certificate>
MIID5jCCAs6gAwIBAgIBAjANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJNWDEL
MAkGA1UECAwCREYxDzANBgNVBAcMBk1leGljbzESMBAGA1UECgwJUmVhY2hjb3Jl
MR8wHQYDVQQDDBZSZWFjaGNvcmUgUiZEIENBNCBSb290MB4XDTE2MDQwNzAwMzk0
NloXDTI2MDQwNTAwMzk0NlowVDELMAkGA1UEBhMCTVgxCzAJBgNVBAgMAkRGMQ8w
DQYDVQQHDAZNZXhpY28xEjAQBgNVBAoMCVJlYWNoY29yZTETMBEGA1UEAwwKQUM0
RmlybWEwMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANykjQpmiR/0
NPh7MTChJ9ymEAXe1fHR7J9GZF9tExnRN5MKMihZq9a6Y2Eo+s8dHS3rh9A933eH
AWqUlqdmGG7Cw20PFzfNUCWqVci4O1FaBRQ0C1mXFtSB0N1em1p3TdDAkqsRIeKa
5BXA7RhsN8eBAULXJJSSWV/wwP50w1ro2EEVpIC2TjhzV8RBQrfl3kiNxaXo+YnU
mL+rCwArfVZYPEV+IVNduVJlB9l9qdMOauor0jjSdtKdXJLQkOB9bsPWXXS2zPW4
NX7aMD+Vpsy17v8qJ9u4DW1e2m0V45LvHOYWQZcWSAi28d3UIujQA8j/ivAxkbYV
Za/AS2+P1xkCAwEAAaOBtjCBszAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1P
cGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUIKnBCa9xXL9U
jZh6+MuIv7OZ7hUwHwYDVR0jBBgwFoAURzF83CiDmtfR5kOB3poGlHNMtR0wOAYI
KwYBBQUHAQEELDAqMCgGCCsGAQUFBzABhhxodHRwOi8vY2EucmVhY2hjb3JlLm5l
dDoxMzIzMA0GCSqGSIb3DQEBCwUAA4IBAQA413A6qEj/afubOIpcm9Vfd0Gmp128
DFFf4HpLUqfbZSdvoHybJAt3ThniFvRxsTMtZ8lLozIys0/ClPh6S/LWg4cFrDWw
kUNIICT/hh4nSj+KE8QAgQCS9MckJ4yxttY3AlgiwV7742JzMfwTHXlsL5ZgVJmk
84hSHzLJmGd2H5EOEZjjxEy4Oh+fu1jr1f5n9B8Yq97BwNHHIORpCtcbVNoHMbIx
iwhzaasVLnB9N/43HRmfDH50cVbigPQWRe2X02yqlaRiUD1HKrWurZLUA/c/SE+8
yPfCRNeHgVvzZIRB8N6z8aFs6/TMyXIuwdL4nILsMfafeEK3AuB9cF3Q
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<ds:Object>
<etsi:QualifyingProperties xmlns:etsi="http://uri.etsi.org/01903/v1.3.2#" Target="#Signature-705588820">
<etsi:SignedProperties Id="SignedProperties-928477832">
<etsi:SignedSignatureProperties>
<etsi:SigningTime>2016-08-03T19:05:44.635Z</etsi:SigningTime>
<etsi:SigningCertificate>
<etsi:Cert>
<etsi:CertDigest>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>IYOe+fEMiecrlOkjpB2DBzXm/to=</ds:DigestValue>
</etsi:CertDigest>
<etsi:IssuerSerial>
<ds:X509IssuerName>CN=Reachcore R&D CA4 Root, O=Reachcore, L=Mexico, ST=DF, C=MX</ds:X509IssuerName>
<ds:X509SerialNumber>2</ds:X509SerialNumber>
</etsi:IssuerSerial>
</etsi:Cert>
</etsi:SigningCertificate>
</etsi:SignedSignatureProperties>
<etsi:SignedDataObjectProperties>
<etsi:DataObjectFormat ObjectReference="#Reference-ID-214013142">
<etsi:Description>contenido documento</etsi:Description>
<etsi:MimeType>text/xml</etsi:MimeType>
</etsi:DataObjectFormat>
</etsi:SignedDataObjectProperties>
</etsi:SignedProperties>
</etsi:QualifyingProperties>
</ds:Object>
</ds:Signature></MultiSign>]]></SignedXml>
<TransactionProperties/>
</MultiSignXmlResponse>
</s:Body>
</s:Envelope>
Ejemplo de respuesta exitosa al firmar el XML con los certificados con número de serie 02
y 03
:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MultiSignXmlResponse xmlns="urn:schemas.reachcore.com:signature">
<Error>false</Error>
<Errors/>
<TransactionId>f8588e15-7237-42b1-bc45-722e893d7806</TransactionId>
<SignedXml><![CDATA[<MultiSign Id="id-1120328315">Documento XML<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-2089225821">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:CanonicalizationMethod>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></ds:SignatureMethod>
<ds:Reference Id="Reference-ID-3208006074" URI="#id-1120328315">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>EPVMbU0y4+DBlu6EcY8HrntjyRA=</ds:DigestValue>
</ds:Reference>
<ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#SignedProperties-285281959">
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>V5ZfLBrlOp/xybRzIZwBA4NQ72I=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
Dyj9waxGGdBEplUKNQmSJFpQXViFY4jDahpFLD5jlDnX5PIm2bRZ/aSxsVL7yACr
oQIX0PwsI5/3pHGiGVGtZfRsi4uOqQYai25slrjb+bt3gYvUSG7jvYEhNlzVIOtM
tofz8EBvhLn9AIYph50Lw2vxs8B6LV2B8N7hKHi4Cr1NOcT/uU5KJMEznvTeISk8
3hVDr9praLs8a3iOonjb+qkfYfRXrF6ZExFD1vNlYpySKnEigS5Aqr/tV6oVO9Lq
W1asBy8/OPQTmWL4v7vDaimERTDtcut064G+2Zd97K+UzhWAHabMYsS1QDZ4BDst
ov0FjSrOE2reZtc2ci0qcA==
</ds:SignatureValue>
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>
<ds:Modulus>
3KSNCmaJH/Q0+HsxMKEn3KYQBd7V8dHsn0ZkX20TGdE3kwoyKFmr1rpjYSj6zx0d
LeuH0D3fd4cBapSWp2YYbsLDbQ8XN81QJapVyLg7UVoFFDQLWZcW1IHQ3V6bWndN
0MCSqxEh4prkFcDtGGw3x4EBQtcklJJZX/DA/nTDWujYQRWkgLZOOHNXxEFCt+Xe
SI3Fpej5idSYv6sLACt9Vlg8RX4hU125UmUH2X2p0w5q6ivSONJ20p1cktCQ4H1u
w9ZddLbM9bg1ftowP5WmzLXu/yon27gNbV7abRXjku8c5hZBlxZICLbx3dQi6NAD
yP+K8DGRthVlr8BLb4/XGQ==
</ds:Modulus>
<ds:Exponent>AQAB</ds:Exponent>
</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509IssuerSerial>
<ds:X509IssuerName>CN=Reachcore R&D CA4 Root, O=Reachcore, L=Mexico, ST=DF, C=MX</ds:X509IssuerName>
<ds:X509SerialNumber>2</ds:X509SerialNumber>
</ds:X509IssuerSerial>
<ds:X509SubjectName>CN=AC4Firma01, O=Reachcore, L=Mexico, ST=DF, C=MX</ds:X509SubjectName>
<ds:X509Certificate>
MIID5jCCAs6gAwIBAgIBAjANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJNWDEL
MAkGA1UECAwCREYxDzANBgNVBAcMBk1leGljbzESMBAGA1UECgwJUmVhY2hjb3Jl
MR8wHQYDVQQDDBZSZWFjaGNvcmUgUiZEIENBNCBSb290MB4XDTE2MDQwNzAwMzk0
NloXDTI2MDQwNTAwMzk0NlowVDELMAkGA1UEBhMCTVgxCzAJBgNVBAgMAkRGMQ8w
DQYDVQQHDAZNZXhpY28xEjAQBgNVBAoMCVJlYWNoY29yZTETMBEGA1UEAwwKQUM0
RmlybWEwMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANykjQpmiR/0
NPh7MTChJ9ymEAXe1fHR7J9GZF9tExnRN5MKMihZq9a6Y2Eo+s8dHS3rh9A933eH
AWqUlqdmGG7Cw20PFzfNUCWqVci4O1FaBRQ0C1mXFtSB0N1em1p3TdDAkqsRIeKa
5BXA7RhsN8eBAULXJJSSWV/wwP50w1ro2EEVpIC2TjhzV8RBQrfl3kiNxaXo+YnU
mL+rCwArfVZYPEV+IVNduVJlB9l9qdMOauor0jjSdtKdXJLQkOB9bsPWXXS2zPW4
NX7aMD+Vpsy17v8qJ9u4DW1e2m0V45LvHOYWQZcWSAi28d3UIujQA8j/ivAxkbYV
Za/AS2+P1xkCAwEAAaOBtjCBszAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1P
cGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUIKnBCa9xXL9U
jZh6+MuIv7OZ7hUwHwYDVR0jBBgwFoAURzF83CiDmtfR5kOB3poGlHNMtR0wOAYI
KwYBBQUHAQEELDAqMCgGCCsGAQUFBzABhhxodHRwOi8vY2EucmVhY2hjb3JlLm5l
dDoxMzIzMA0GCSqGSIb3DQEBCwUAA4IBAQA413A6qEj/afubOIpcm9Vfd0Gmp128
DFFf4HpLUqfbZSdvoHybJAt3ThniFvRxsTMtZ8lLozIys0/ClPh6S/LWg4cFrDWw
kUNIICT/hh4nSj+KE8QAgQCS9MckJ4yxttY3AlgiwV7742JzMfwTHXlsL5ZgVJmk
84hSHzLJmGd2H5EOEZjjxEy4Oh+fu1jr1f5n9B8Yq97BwNHHIORpCtcbVNoHMbIx
iwhzaasVLnB9N/43HRmfDH50cVbigPQWRe2X02yqlaRiUD1HKrWurZLUA/c/SE+8
yPfCRNeHgVvzZIRB8N6z8aFs6/TMyXIuwdL4nILsMfafeEK3AuB9cF3Q
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<ds:Object>
<etsi:QualifyingProperties xmlns:etsi="http://uri.etsi.org/01903/v1.3.2#" Target="#Signature-2089225821">
<etsi:SignedProperties Id="SignedProperties-285281959">
<etsi:SignedSignatureProperties>
<etsi:SigningTime>2016-08-08T19:32:01.801Z</etsi:SigningTime>
<etsi:SigningCertificate>
<etsi:Cert>
<etsi:CertDigest>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>IYOe+fEMiecrlOkjpB2DBzXm/to=</ds:DigestValue>
</etsi:CertDigest>
<etsi:IssuerSerial>
<ds:X509IssuerName>CN=Reachcore R&D CA4 Root, O=Reachcore, L=Mexico, ST=DF, C=MX</ds:X509IssuerName>
<ds:X509SerialNumber>2</ds:X509SerialNumber>
</etsi:IssuerSerial>
</etsi:Cert>
</etsi:SigningCertificate>
</etsi:SignedSignatureProperties>
<etsi:SignedDataObjectProperties>
<etsi:DataObjectFormat ObjectReference="#Reference-ID-3208006074">
<etsi:Description>contenido documento</etsi:Description>
<etsi:MimeType>text/xml</etsi:MimeType>
</etsi:DataObjectFormat>
</etsi:SignedDataObjectProperties>
</etsi:SignedProperties>
</etsi:QualifyingProperties>
</ds:Object>
</ds:Signature><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-445812160">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:CanonicalizationMethod>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></ds:SignatureMethod>
<ds:Reference Id="Reference-ID-3464383522" URI="#id-1120328315">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>EPVMbU0y4+DBlu6EcY8HrntjyRA=</ds:DigestValue>
</ds:Reference>
<ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#SignedProperties-1729820472">
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>KPmrcj2FKbkVYniF1OP7T38Q72M=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
vTJ7WiDJImeQNsjmRLOHgWIhFxs7pw0I+fweI0VJNa9fl2WISt3fZ8JaC8mkzYEG
pSd7g3H4z+JXSpMT0Zf3rBCm9Pe5ZpLCcC0dkCzLXrXgaUeT41nSWF4bgBGDd3Rf
8wVSx6f6iIydmcHenKUFflUDIPkAYypyZnr7pTp6B5+YXyIl+TxcRgcrHE7iRRww
vo2bcWsjOLHOGQzJdtX0abR0GLvL6EVaenfcCVcBBKhhu0YTxEEJSIYEqj5q2pOP
tCLf3XD5FD4bCxOAxwbQCJ3V3EeJOpmfvpQ/Q3veJAN8S/4WgDHV40uQGeOMNBB2
Qm7tROSMuG1/BTzm9muiQg==
</ds:SignatureValue>
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>
<ds:Modulus>
wHsdoAmA5dUob7A5ZBhWAMpM+FjBLlXicCCrImF1uRlcm/oxGv7YcGKs1HOkdo3f
oMG2tHUDcb58LHu2fhDrvgti/uInANvetv1UFmNLWrkIfiy0bzTXWw6yA65eP2SY
rGS3JvTvOh6LAOw2dk2Xqjflfb5dad1d9Qjr3x8LPhVg8CYKtvV+nD+/edO+EXBH
9Ky1SwTQpzyuvH+UrqCn7ojmMkKcqVMwYaTwhpnQvbSXpDeRi2w7FLLs8XOqOmQ2
646zEmozdUfk4NXoy9DHZtXYoagSczrFfj/VQD9++bMA+jbT6dafOb6ouOd4JytB
LSKN7scb0VQJJxWVutEU6w==
</ds:Modulus>
<ds:Exponent>AQAB</ds:Exponent>
</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509IssuerSerial>
<ds:X509IssuerName>CN=Reachcore R&D CA4 Root, O=Reachcore, L=Mexico, ST=DF, C=MX</ds:X509IssuerName>
<ds:X509SerialNumber>3</ds:X509SerialNumber>
</ds:X509IssuerSerial>
<ds:X509SubjectName>CN=AC4Firma02, O=Reachcore, L=Mexico, ST=DF, C=MX</ds:X509SubjectName>
<ds:X509Certificate>
MIID5jCCAs6gAwIBAgIBAzANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJNWDEL
MAkGA1UECAwCREYxDzANBgNVBAcMBk1leGljbzESMBAGA1UECgwJUmVhY2hjb3Jl
MR8wHQYDVQQDDBZSZWFjaGNvcmUgUiZEIENBNCBSb290MB4XDTE2MDQwNzAwMzk0
N1oXDTI2MDQwNTAwMzk0N1owVDELMAkGA1UEBhMCTVgxCzAJBgNVBAgMAkRGMQ8w
DQYDVQQHDAZNZXhpY28xEjAQBgNVBAoMCVJlYWNoY29yZTETMBEGA1UEAwwKQUM0
RmlybWEwMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMB7HaAJgOXV
KG+wOWQYVgDKTPhYwS5V4nAgqyJhdbkZXJv6MRr+2HBirNRzpHaN36DBtrR1A3G+
fCx7tn4Q674LYv7iJwDb3rb9VBZjS1q5CH4stG8011sOsgOuXj9kmKxktyb07zoe
iwDsNnZNl6o35X2+XWndXfUI698fCz4VYPAmCrb1fpw/v3nTvhFwR/SstUsE0Kc8
rrx/lK6gp+6I5jJCnKlTMGGk8IaZ0L20l6Q3kYtsOxSy7PFzqjpkNuuOsxJqM3VH
5ODV6MvQx2bV2KGoEnM6xX4/1UA/fvmzAPo20+nWnzm+qLjneCcrQS0ije7HG9FU
CScVlbrRFOsCAwEAAaOBtjCBszAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1P
cGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUVHTSAf+UE61Z
OG0CNvANNGawn6cwHwYDVR0jBBgwFoAURzF83CiDmtfR5kOB3poGlHNMtR0wOAYI
KwYBBQUHAQEELDAqMCgGCCsGAQUFBzABhhxodHRwOi8vY2EucmVhY2hjb3JlLm5l
dDoxMzIzMA0GCSqGSIb3DQEBCwUAA4IBAQDiTe75XE6r6sJmATNFc5eWo1YpzFn6
wt8AVSAVn9rv14urNah1so5F05oRbtPKXhuR2x4ToaA/G3Qhc6X94B+aZHCPN/6z
Jjdv9ZOVKhZlkRcxisS469bSS9N0B/CFiJLN09hvyXy8PmPfnrhKEb1zdownhSA9
aolnQxw82x8ZjPnyVAx/f53l3Qx5K4PBWUaQBbBcDgGewf45OcWoqjECNMp2ETmz
M4fZFMaZunmjI4nQVKxnsz5y9rnvKeQNFHmaf4KsVMV/ZRWIR2NrvDPRHwmoPZSD
GLa2/xh7YVu4k9g7a3pxTLv9eP0z5z8VEBNZjcdrwbFtcyWLGnYDwzmX
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<ds:Object>
<etsi:QualifyingProperties xmlns:etsi="http://uri.etsi.org/01903/v1.3.2#" Target="#Signature-445812160">
<etsi:SignedProperties Id="SignedProperties-1729820472">
<etsi:SignedSignatureProperties>
<etsi:SigningTime>2016-08-08T19:32:01.926Z</etsi:SigningTime>
<etsi:SigningCertificate>
<etsi:Cert>
<etsi:CertDigest>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>rJ3Rx6HdYG0dtTIy5HCquWd7QXo=</ds:DigestValue>
</etsi:CertDigest>
<etsi:IssuerSerial>
<ds:X509IssuerName>CN=Reachcore R&D CA4 Root, O=Reachcore, L=Mexico, ST=DF, C=MX</ds:X509IssuerName>
<ds:X509SerialNumber>3</ds:X509SerialNumber>
</etsi:IssuerSerial>
</etsi:Cert>
</etsi:SigningCertificate>
</etsi:SignedSignatureProperties>
<etsi:SignedDataObjectProperties>
<etsi:DataObjectFormat ObjectReference="#Reference-ID-3464383522">
<etsi:Description>contenido documento</etsi:Description>
<etsi:MimeType>text/xml</etsi:MimeType>
</etsi:DataObjectFormat>
</etsi:SignedDataObjectProperties>
</etsi:SignedProperties>
</etsi:QualifyingProperties>
</ds:Object>
</ds:Signature></MultiSign>]]></SignedXml>
<TransactionProperties/>
</MultiSignXmlResponse>
</s:Body>
</s:Envelope>
Ejemplo de respuesta con error en el proceso de firmado cuando:
No existe el certificado en la cuenta
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MultiSignXmlResponse xmlns="urn:schemas.reachcore.com:signature">
<Error>true</Error>
<Errors>
<Error>
<ErrorCode>201</ErrorCode>
<ErrorMessage>No existe un certificado con número '01_CSD' para firmar este documento.</ErrorMessage>
</Error>
</Errors>
<TransactionId>18279731-2658-4b94-bebf-70f559732563</TransactionId>
<TransactionProperties/>
</MultiSignXmlResponse>
</s:Body>
</s:Envelope>
Contraseña incorrecta
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MultiSignXmlResponse xmlns="urn:schemas.reachcore.com:signature">
<Error>true</Error>
<Errors>
<Error>
<ErrorCode>206</ErrorCode>
<ErrorMessage>Contraseña Incorrecta del certificado con número de serie: [02]</ErrorMessage>
</Error>
</Errors>
<TransactionId>3eb1d6c2-2496-4c65-b628-d604061a05d0</TransactionId>
<TransactionProperties/>
</MultiSignXmlResponse>
</s:Body>
</s:Envelope>
Códigos de error firma
Los siguientes códigos se indicarán cuando no se ha podido realizar el firmado satisfactoriamente.
Código | Significado | Descripción |
---|---|---|
100 | API Key Requerida | El API Key es requerido |
101 | API Key no válida | No es válido el API Key proporcionado |
102 | API Key inactivo | El API Key esta inactivo |
111 | No cuenta con funcionalidad activada de firma | Su cuenta no tiene activada la funcionalidad de firma. Por favor contacte a Sovos |
201 | Certificado no registrado | El número de certificado en la solicitud no esta registrado en su cuenta. |
202 | Certificado no activo | El número de certificado en la solicitud no esta activo. |
203 | Certificado no está vigente | El número de certificado en la solicitud no esta vigente. |
204 | Errores de Autoridad Certificadora (CA) | Ocurrió un error al realizar la validación del certificado en la autoridad certificadora. |
205 | Certificado no corresponde con llave privada | La llave pública (.cer) no corresponde con la llave privada (.key) |
206 | La contraseña es incorrecta para realizar la firma | La contraseña proporcionada en la solicitud no es correcta |
301 | XML mal formado | El XML que se esta solicitando firmar, no esta bien formado. |
302 | XML vacío | No hay XML para firmar en la solicitud |
303 | Numero serie certificado requerido | Es requerido indicar el número de serie para firmar el XML |
304 | Referencia de firma no válida | Cuando un XML ha sido firmado previamente, antes de firmar se realiza la validación de la firma previa. Este error es cuando la firma previa es inválida. |
999 | Error interno de plataforma | Error interno de la plataforma. Notificar a soporte el TransactionId para el diagnóstico. |
Método [ValidateSignatureXML
]: Validación de firma electrónica de XML
En este método se realiza la validación criptográfica de las firmas electrónicas contenidas en el XML. Para ello es requerido tener configurado en su cuenta Sovos, el certificado raíz con el cual se firmó el XML, para poder realizar las validaciones de criptograficas correspondientes.
Solicitud ValidateSignatureXML
Los datos que se requieren enviar en la solicitud para la validación de la o las firmas de un XML al Web Service, son los siguientes:
Elemento | Uso | Descripción |
---|---|---|
ApiKey | Requerido | Identificador de autenticación, que se genera en el portal de Sovos. |
Xml | Requerido | XML firmado electrónicamente, al cual se realizará la validación, verificación de la firma electrónica. El XML se envía dentro de <![CDATA[...]]> |
Para los siguientes ejemplos, se tiene el siguiente esquema registrado, con el cual se realizará las validaciones correspondientes.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cus="http://www.reachcore.com/CFDI/customHeaders" xmlns:urn="urn:schemas.reachcore.com:signature">
<soapenv:Header>
<cus:ApiKey>51e9d1097f634f20...33f769303391008</cus:ApiKey>
</soapenv:Header>
<soapenv:Body>
<urn:ValidateSignatureXmlRequest>
<urn:Xml>
<![CDATA[<MultiSign Id="id-872352006">Documento XML<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-1696984640"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:CanonicalizationMethod><ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></ds:SignatureMethod><ds:Reference Id="Reference-ID-2648686705" URI="#id-872352006"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></ds:Transform></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod><ds:DigestValue>ut+GLimt964oF+gFtMld05e9vTE=</ds:DigestValue></ds:Reference><ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#SignedProperties-256468293"><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod><ds:DigestValue>1WxYwQBQ7L0cy8vH1t5hapQ/JYw=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>
r0CXAJSnHvlLjZbOp9XWeHFwM/64lcIb1e06dk273UoS0wuSsbJzRatqB87o/y1q XTkJfAaoRYoTfm4R9dyiirfL9jcgaqVuVxBWBIz/chbQgvMl6CK8Tfqf5TW+Rns4 sGo4ibY6rjInbPv8XsIgf4Jwh21vBEM+9AJ2Bow4tLXZjwAi/yMyryi51xxISrFI dK9q7DVVOVMid5SspFrBhlHJE3JuKUr204BTGska3a0O5a+5xpZwwU+XtxO5afyK gP0sOg1jSyk+1HQh1dI3rZFTWQ3rCrExEQq7HqJW35wPg/MU2YZ0fWRw0xr3B6r7 zO/gZPNwrVo3DNv7opBU8g==
</ds:SignatureValue><ds:KeyInfo><ds:KeyValue><ds:RSAKeyValue><ds:Modulus>
3KSNCmaJH/Q0+HsxMKEn3KYQBd7V8dHsn0ZkX20TGdE3kwoyKFmr1rpjYSj6zx0d LeuH0D3fd4cBapSWp2YYbsLDbQ8XN81QJapVyLg7UVoFFDQLWZcW1IHQ3V6bWndN 0MCSqxEh4prkFcDtGGw3x4EBQtcklJJZX/DA/nTDWujYQRWkgLZOOHNXxEFCt+Xe SI3Fpej5idSYv6sLACt9Vlg8RX4hU125UmUH2X2p0w5q6ivSONJ20p1cktCQ4H1u w9ZddLbM9bg1ftowP5WmzLXu/yon27gNbV7abRXjku8c5hZBlxZICLbx3dQi6NAD yP+K8DGRthVlr8BLb4/XGQ==
</ds:Modulus><ds:Exponent>AQAB</ds:Exponent></ds:RSAKeyValue></ds:KeyValue><ds:X509Data><ds:X509IssuerSerial><ds:X509IssuerName>CN=Reachcore R&D CA4 Root, O=Reachcore, L=Mexico, ST=DF, C=MX</ds:X509IssuerName><ds:X509SerialNumber>2</ds:X509SerialNumber></ds:X509IssuerSerial><ds:X509SubjectName>CN=AC4Firma01, O=Reachcore, L=Mexico, ST=DF, C=MX</ds:X509SubjectName><ds:X509Certificate>
MIID5jCCAs6gAwIBAgIBAjANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJNWDEL
MAkGA1UECAwCREYxDzANBgNVBAcMBk1leGljbzESMBAGA1UECgwJUmVhY2hjb3Jl
MR8wHQYDVQQDDBZSZWFjaGNvcmUgUiZEIENBNCBSb290MB4XDTE2MDQwNzAwMzk0
NloXDTI2MDQwNTAwMzk0NlowVDELMAkGA1UEBhMCTVgxCzAJBgNVBAgMAkRGMQ8w
DQYDVQQHDAZNZXhpY28xEjAQBgNVBAoMCVJlYWNoY29yZTETMBEGA1UEAwwKQUM0
RmlybWEwMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANykjQpmiR/0
NPh7MTChJ9ymEAXe1fHR7J9GZF9tExnRN5MKMihZq9a6Y2Eo+s8dHS3rh9A933eH
AWqUlqdmGG7Cw20PFzfNUCWqVci4O1FaBRQ0C1mXFtSB0N1em1p3TdDAkqsRIeKa
5BXA7RhsN8eBAULXJJSSWV/wwP50w1ro2EEVpIC2TjhzV8RBQrfl3kiNxaXo+YnU
mL+rCwArfVZYPEV+IVNduVJlB9l9qdMOauor0jjSdtKdXJLQkOB9bsPWXXS2zPW4
NX7aMD+Vpsy17v8qJ9u4DW1e2m0V45LvHOYWQZcWSAi28d3UIujQA8j/ivAxkbYV
Za/AS2+P1xkCAwEAAaOBtjCBszAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1P
cGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUIKnBCa9xXL9U
jZh6+MuIv7OZ7hUwHwYDVR0jBBgwFoAURzF83CiDmtfR5kOB3poGlHNMtR0wOAYI
KwYBBQUHAQEELDAqMCgGCCsGAQUFBzABhhxodHRwOi8vY2EucmVhY2hjb3JlLm5l
dDoxMzIzMA0GCSqGSIb3DQEBCwUAA4IBAQA413A6qEj/afubOIpcm9Vfd0Gmp128
DFFf4HpLUqfbZSdvoHybJAt3ThniFvRxsTMtZ8lLozIys0/ClPh6S/LWg4cFrDWw
kUNIICT/hh4nSj+KE8QAgQCS9MckJ4yxttY3AlgiwV7742JzMfwTHXlsL5ZgVJmk
84hSHzLJmGd2H5EOEZjjxEy4Oh+fu1jr1f5n9B8Yq97BwNHHIORpCtcbVNoHMbIx
iwhzaasVLnB9N/43HRmfDH50cVbigPQWRe2X02yqlaRiUD1HKrWurZLUA/c/SE+8
yPfCRNeHgVvzZIRB8N6z8aFs6/TMyXIuwdL4nILsMfafeEK3AuB9cF3Q
</ds:X509Certificate></ds:X509Data></ds:KeyInfo><ds:Object><etsi:QualifyingProperties xmlns:etsi="http://uri.etsi.org/01903/v1.3.2#" Target="#Signature-1696984640"><etsi:SignedProperties Id="SignedProperties-256468293"><etsi:SignedSignatureProperties><etsi:SigningTime>2016-08-03T20:38:25.252Z</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod><ds:DigestValue>IYOe+fEMiecrlOkjpB2DBzXm/to=</ds:DigestValue></etsi:CertDigest><etsi:IssuerSerial><ds:X509IssuerName>CN=Reachcore R&D CA4 Root, O=Reachcore, L=Mexico, ST=DF, C=MX</ds:X509IssuerName><ds:X509SerialNumber>2</ds:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#Reference-ID-2648686705"><etsi:Description>contenido documento</etsi:Description><etsi:MimeType>text/xml</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></ds:Object></ds:Signature><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-606595304"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:CanonicalizationMethod><ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></ds:SignatureMethod><ds:Reference Id="Reference-ID-1928026958" URI="#id-872352006"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></ds:Transform></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod><ds:DigestValue>ut+GLimt964oF+gFtMld05e9vTE=</ds:DigestValue></ds:Reference><ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#SignedProperties-1146043365"><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod><ds:DigestValue>7zwyJ3MfjfxGqMsvdtDAScvJVh8=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>
esh4+ZUMoob+pbyEN/tekRT/UVhR1aLJQZqWEAPZtWQ6B0yBYW0ynQsiEqYTIbXw bWrfkegugAyhqVfHHQoMHKAxzKQKhpEBH1ten9A0+325GshpNEaFz+wcXDR5Lp6w 4h2z+zunuxCZt/C5V8QsA3eLdC4dkpDWbH2B8gdd1xoWnqh2Pp/6RXAakOPJKBY3 4D4PdP8GhCQKMw35hXF4K4SZ/eJyvrHmEPZwe8D2hOsQkIuLQvzRnyuvVDOBKTKp NNz4EIOmLjoLSxo27YbUAUhBD7Qy6ATv0y0ol08sgkoe/ZfxWly+vCYNJUHJxOeN k+z/flgXJ6OCbFP6PHSv5A==
</ds:SignatureValue><ds:KeyInfo><ds:KeyValue><ds:RSAKeyValue><ds:Modulus>
3KSNCmaJH/Q0+HsxMKEn3KYQBd7V8dHsn0ZkX20TGdE3kwoyKFmr1rpjYSj6zx0d LeuH0D3fd4cBapSWp2YYbsLDbQ8XN81QJapVyLg7UVoFFDQLWZcW1IHQ3V6bWndN 0MCSqxEh4prkFcDtGGw3x4EBQtcklJJZX/DA/nTDWujYQRWkgLZOOHNXxEFCt+Xe SI3Fpej5idSYv6sLACt9Vlg8RX4hU125UmUH2X2p0w5q6ivSONJ20p1cktCQ4H1u w9ZddLbM9bg1ftowP5WmzLXu/yon27gNbV7abRXjku8c5hZBlxZICLbx3dQi6NAD yP+K8DGRthVlr8BLb4/XGQ==
</ds:Modulus><ds:Exponent>AQAB</ds:Exponent></ds:RSAKeyValue></ds:KeyValue><ds:X509Data><ds:X509IssuerSerial><ds:X509IssuerName>CN=Reachcore R&D CA4 Root, O=Reachcore, L=Mexico, ST=DF, C=MX</ds:X509IssuerName><ds:X509SerialNumber>2</ds:X509SerialNumber></ds:X509IssuerSerial><ds:X509SubjectName>CN=AC4Firma01, O=Reachcore, L=Mexico, ST=DF, C=MX</ds:X509SubjectName><ds:X509Certificate>
MIID5jCCAs6gAwIBAgIBAjANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJNWDEL
MAkGA1UECAwCREYxDzANBgNVBAcMBk1leGljbzESMBAGA1UECgwJUmVhY2hjb3Jl
MR8wHQYDVQQDDBZSZWFjaGNvcmUgUiZEIENBNCBSb290MB4XDTE2MDQwNzAwMzk0
NloXDTI2MDQwNTAwMzk0NlowVDELMAkGA1UEBhMCTVgxCzAJBgNVBAgMAkRGMQ8w
DQYDVQQHDAZNZXhpY28xEjAQBgNVBAoMCVJlYWNoY29yZTETMBEGA1UEAwwKQUM0
RmlybWEwMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANykjQpmiR/0
NPh7MTChJ9ymEAXe1fHR7J9GZF9tExnRN5MKMihZq9a6Y2Eo+s8dHS3rh9A933eH
AWqUlqdmGG7Cw20PFzfNUCWqVci4O1FaBRQ0C1mXFtSB0N1em1p3TdDAkqsRIeKa
5BXA7RhsN8eBAULXJJSSWV/wwP50w1ro2EEVpIC2TjhzV8RBQrfl3kiNxaXo+YnU
mL+rCwArfVZYPEV+IVNduVJlB9l9qdMOauor0jjSdtKdXJLQkOB9bsPWXXS2zPW4
NX7aMD+Vpsy17v8qJ9u4DW1e2m0V45LvHOYWQZcWSAi28d3UIujQA8j/ivAxkbYV
Za/AS2+P1xkCAwEAAaOBtjCBszAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1P
cGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUIKnBCa9xXL9U
jZh6+MuIv7OZ7hUwHwYDVR0jBBgwFoAURzF83CiDmtfR5kOB3poGlHNMtR0wOAYI
KwYBBQUHAQEELDAqMCgGCCsGAQUFBzABhhxodHRwOi8vY2EucmVhY2hjb3JlLm5l
dDoxMzIzMA0GCSqGSIb3DQEBCwUAA4IBAQA413A6qEj/afubOIpcm9Vfd0Gmp128
DFFf4HpLUqfbZSdvoHybJAt3ThniFvRxsTMtZ8lLozIys0/ClPh6S/LWg4cFrDWw
kUNIICT/hh4nSj+KE8QAgQCS9MckJ4yxttY3AlgiwV7742JzMfwTHXlsL5ZgVJmk
84hSHzLJmGd2H5EOEZjjxEy4Oh+fu1jr1f5n9B8Yq97BwNHHIORpCtcbVNoHMbIx
iwhzaasVLnB9N/43HRmfDH50cVbigPQWRe2X02yqlaRiUD1HKrWurZLUA/c/SE+8
yPfCRNeHgVvzZIRB8N6z8aFs6/TMyXIuwdL4nILsMfafeEK3AuB9cF3Q
</ds:X509Certificate></ds:X509Data></ds:KeyInfo><ds:Object><etsi:QualifyingProperties xmlns:etsi="http://uri.etsi.org/01903/v1.3.2#" Target="#Signature-606595304"><etsi:SignedProperties Id="SignedProperties-1146043365"><etsi:SignedSignatureProperties><etsi:SigningTime>2016-08-03T20:38:26.673Z</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod><ds:DigestValue>IYOe+fEMiecrlOkjpB2DBzXm/to=</ds:DigestValue></etsi:CertDigest><etsi:IssuerSerial><ds:X509IssuerName>CN=Reachcore R&D CA4 Root, O=Reachcore, L=Mexico, ST=DF, C=MX</ds:X509IssuerName><ds:X509SerialNumber>2</ds:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#Reference-ID-1928026958"><etsi:Description>contenido documento</etsi:Description><etsi:MimeType>text/xml</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></ds:Object></ds:Signature></MultiSign>]]>
</urn:Xml>
</urn:ValidateSignatureXmlRequest>
</soapenv:Body>
</soapenv:Envelope>
Respuesta ValidateSignatureXML
Elemento | Descripción |
---|---|
Error | false : Transacción exitosa. true : Error al procesarse la transacción. |
Errors | En caso que el elemento Error tenga el valor true, se mostrara la descripción del error. |
ValidationResult/Valid | true : Firma válida. false : Firma inválida. |
Signatures | Es un arreglo de elementos Signature indicando el detalle de las firmas en el XML, cuando ésta es válida. true si es válida la firma. false firma inválida.
|
TransactionId | Número único de transacción asignado por Sovos. |
TransactionProperties | Para futura funcionalidad. |
Ejemplo de respuesta en donde es válida la firma electrónica del XML.
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ValidateSignatureXmlResponse xmlns="urn:schemas.reachcore.com:signature">
<Error>false</Error>
<Errors/>
<ValidationResult>
<Valid>true</Valid>
</ValidationResult>
<Signatures>
<Signature>
<Id>Signature-1696984640</Id>
<Valid>true</Valid>
<Messages/>
<SignerInfo>
<Timestamp>2016-08-03T20:38:25</Timestamp>
<SerialNumber>02</SerialNumber>
<Subject>CN=AC4Firma01, O=Reachcore, L=Mexico, ST=DF, C=MX</Subject>
<Issuer>CN=Reachcore R&D CA4 Root, O=Reachcore, L=Mexico, ST=DF, C=MX</Issuer>
</SignerInfo>
</Signature>
<Signature>
<Id>Signature-606595304</Id>
<Valid>true</Valid>
<Messages/>
<SignerInfo>
<Timestamp>2016-08-03T20:38:26</Timestamp>
<SerialNumber>02</SerialNumber>
<Subject>CN=AC4Firma01, O=Reachcore, L=Mexico, ST=DF, C=MX</Subject>
<Issuer>CN=Reachcore R&D CA4 Root, O=Reachcore, L=Mexico, ST=DF, C=MX</Issuer>
</SignerInfo>
</Signature>
</Signatures>
<TransactionId>b7c2f395-d82e-4d3f-8d53-117128ba7423</TransactionId>
<TransactionProperties/>
</ValidateSignatureXmlResponse>
</s:Body>
</s:Envelope>
Ejemplo de respuesta en donde no es válida la firma electrónica del XML.
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ValidateSignatureXmlResponse xmlns="urn:schemas.reachcore.com:signature">
<Error>false</Error>
<Errors/>
<ValidationResult>
<Valid>false</Valid>
</ValidationResult>
<Signatures>
<Signature>
<Id>Signature-1999858748</Id>
<Valid>false</Valid>
<Messages>
<Message>
<Message>La firma xml no tiene referencia(s) válida(s).</Message>
</Message>
</Messages>
<SignerInfo/>
</Signature>
</Signatures>
<TransactionId>f2b9916a-4cac-454b-a12a-e8c4913052f9</TransactionId>
<TransactionProperties/>
</ValidateSignatureXmlResponse>
</s:Body>
</s:Envelope>
Códigos de error validación
Los siguientes códigos se mostrarán cuando no se ha podido realizar la validación de firma satisfactoriamente.
Código | Significado | Descripción |
---|---|---|
100 | API Key Requerida | El API Key es requerido |
101 | API Key no válida | No es válido el API Key proporcionado |
102 | API Key inactivo | El API Key esta inactivo |
111 | No cuenta con funcionalidad de firma activa | Su cuenta no tiene activada la funcionalidad de firma. Por favor contacte a Sovos |
204 | Errores de Autoridad Certificadora (CA) | Ocurrió un error al realizar la validación del certificado en la autoridad certificadora. |
301 | XML mal formado | El XML que se esta solicitando validar, no esta bien formado. |
302 | XML vacío | No hay XML para validar en la solicitud |
999 | Error interno de plataforma | Error interno de la plataforma. Notificar a soporte el TransactionId para el diagnóstico. |
Para mayor información o aclaración de dudas relacionadas con esta guía, por favor envía un correo a MEX-soporte@sovos.com
Regresar