Pregunta:
Fecha: 27-01-2018 06:28:16
(En Español)
alguien podria orientarme sobre que debo firmar exactamente.
Debo firmar todo el <Signature>, o solo el <SignedInfo> o tal vez solo el <digestvalue> ?.
Agradezco sus comentarios.
<Signature Id="signatureKG" xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<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>GicstM2TQwO141EJQtV4mRWixMg=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue><!-- firma --></SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate></X509Certificate>
</X509Data>
</KeyInfo>
</Signature> Votos: 0 - Respuestas: 2 - Vistas: 23 Compartir en: Google Facebook Twitter LinkedIn Link
Como firmar xml : calcular signaturevalue con php ??[No resuelta]
Estimados buenos días, tengo un archivo xml con el valor del digestvalue correcto, el problema es que no logro hace el firmado, es decir el valor de "<SignatureValue><!-- firma --></SignatureValue>".alguien podria orientarme sobre que debo firmar exactamente.
Debo firmar todo el <Signature>, o solo el <SignedInfo> o tal vez solo el <digestvalue> ?.
Agradezco sus comentarios.
<Signature Id="signatureKG" xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<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>GicstM2TQwO141EJQtV4mRWixMg=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue><!-- firma --></SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate></X509Certificate>
</X509Data>
</KeyInfo>
</Signature> Votos: 0 - Respuestas: 2 - Vistas: 23 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
-
Fecha: 27-03-2018 10:43:07 hola,
$txtcertificado = file_get_contents($url_ubicacion_certificado); //leer archivo pfx
// nota este valor es ilegible
openssl_pkcs12_read($txtcertificado, $certificado, $clave_certificado) //sacar información del pfx
$datos_certificado = openssl_x509_parse($certificado);//obtengo datos del certificado
$txt_a_firmar = '<SignedInfo xmlns="http://www.w3.org/2000/09/xmldsig#"><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></CanonicalizationMethod><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></SignatureMethod><Reference URI="#'.$dte_iden.'"><Transforms><Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></Transform>'.'</Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></DigestMethod><DigestValue>'.$dte_dg.'</DigestValue></Reference></SignedInfo>';
openssl_sign(txt_a_firmar, $firma, $datos_certificado ["pkey"], OPENSSL_ALGO_SHA1); Votos: 0 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
