FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Alguien puede decirme si esto se puede hacer con OpenSsl???
<Signature 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="#F60T33"> <Transforms> <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <DigestValue>hlmQtu/AyjUjTDhM3852wvRCr8w=</DigestValue> </Reference> </SignedInfo> <SignatureValue>JG1Ig0pvSIH85kIKGRZUjkyX6CNaY08Y94j4UegTgDe8+wl61GzqjdR1rfOK9BGn93AMOo6aiAgolW0k/XklNVtM/ZzpNNS3d/fYVa1q509mAMSXbelxSM3bjoa7H6Wzd/mV1PpQ8zK5gw7mgMMP4IKxHyS92G81GEguSmzcQmA=</SignatureValue> <KeyInfo> <KeyValue> <RSAKeyValue> <Modulus> tNEknkb1kHiD1OOAWlLKkcH/UP5UGa6V6MYso++JB+vYMg2OXFROAF7G8BNFFPQx iuS/7y1azZljN2xq+bW3bAou1bW2ij7fxSXWTJYFZMAyndbLyGHM1e3nVmwpgEpx BHhZzPvwLb55st1wceuKjs2Ontb13J33sUb7bbJMWh0= </Modulus> <Exponent> AQAB </Exponent> </RSAKeyValue> </KeyValue> <X509Data> <X509Certificate>MIIEgjCCA+ugAwIBAgIEAQAApzANBgkqhkiG9w0BAQUFADCBtTELMAkGA1UEBhMC Q0wxHTAbBgNVBAgUFFJlZ2lvbiBNZXRyb3BvbGl0YW5hMREwDwYDVQQHFAhTYW50 aWFnbzEUMBIGA1UEChQLRS1DRVJUQ0hJTEUxIDAeBgNVBAsUF0F1dG9yaWRhZCBD ZXJ0aWZpY2Fkb3JhMRcwFQYDVQQDFA5FLUNFUlRDSElMRSBDQTEjMCEGCSqGSIb3 DQEJARYUZW1haWxAZS1jZXJ0Y2hpbGUuY2wwHhcNMDMxMDAxMTg1ODE1WhcNMDQw OTMwMDAwMDAwWjCBuDELMAkGA1UEBhMCQ0wxFjAUBgNVBAgUDU1ldHJvcG9saXRh bmExETAPBgNVBAcUCFNhbnRpYWdvMScwJQYDVQQKFB5TZXJ2aWNpbyBkZSBJbXB1 ZXN0b3MgSW50ZXJub3MxDzANBgNVBAsUBlBpc28gNDEjMCEGA1UEAxQaV2lsaWJh bGRvIEdvbnphbGV6IENhYnJlcmExHzAdBgkqhkiG9w0BCQEWEHdnb256YWxlekBz aWkuY2wwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALxZlVh1xr9sKQIBDF/6 Va+lsHQSG5AAmCWvtNTIOXN3E9EQCy7pOPHrDg6EusvoHyesZSKJbc0TnIFXZp78 q7mbdHijzKqvMmyvwbdP7KK8LQfwf84W4v9O8MJeUHlbJGlo5nFACrPAeTtONbHa ReyzeMDv2EganNEDJc9c+UNfAgMBAAGjggGYMIIBlDAjBgNVHREEHDAaoBgGCCsG AQQBwQEBoAwWCjA3ODgwNDQyLTQwCQYDVR0TBAIwADA8BgNVHR8ENTAzMDGgL6At hitodHRwOi8vY3JsLmUtY2VydGNoaWxlLmNsL2UtY2VydGNoaWxlY2EuY3JsMCMG A1UdEgQcMBqgGAYIKwYBBAHBAQKgDBYKOTY5MjgxODAtNTAfBgNVHSMEGDAWgBTg KP3S4GBPs0brGsz1CJEHcjodCDCB0AYDVR0gBIHIMIHFMIHCBggrBgEEAcNSBTCB tTAvBggrBgEFBQcCARYjaHR0cDovL3d3dy5lLWNlcnRjaGlsZS5jbC8yMDAwL0NQ Uy8wgYEGCCsGAQUFBwICMHUac0VsIHRpdHVsYXIgaGEgc2lkbyB2YWxpZG8gZW4g Zm9ybWEgcHJlc2VuY2lhbCwgcXVlZGFuZG8gZWwgQ2VydGlmaWNhZG8gcGFyYSB1 c28gdHJpYnV0YXJpbywgcGFnb3MsIGNvbWVyY2lvIHkgb3Ryb3MwCwYDVR0PBAQD AgTwMA0GCSqGSIb3DQEBBQUAA4GBABMfCyJF0mNXcov8iEWvjGFyyPTsXwvsYbbk OJ41wjaGOFMCInb4WY0ngM8BsDV22bGMs8oLyX7rVy16bGA8Z7WDUtYhoOM7mqXw /Hrpqjh3JgAf8zqdzBdH/q6mAbdvq/yb04JHKWPC7fMFuBoeyVWAnhmuMZfReWQi MUEHGGIW</X509Certificate> </X509Data> |
#2
|
|||
|
|||
VicVil Saludos ...
Está claro que lo que pides, no lo haces con OpenSSL sino mas bien con TXMLDocument o XML Binding de delphi. Hay un par de cosas que puedes hacer utilizando OpenSSL. Por ejemplo el Elemento <SignedInfo> es prácticamente lo mismo salvo por 2 cosas que debes incorporar el <Reference URI=....> que debe ser igual al atributo ID del documento que estas fimando y el <Digest Value> que es el resultado de aplicar un algoritmo a un grupo de datos en este caso el propio documento al que hace referencia el Reference URI anterior. Estos datos tienen la particularidad que deben estar en forma canónica y en este estado, es la entrada al algoritmo de cálculo que generará el Digest Value. Para hacer esto, existen unas librerías basadas en OpenSSL (No estoy autorizado para poner enlaces, pero busca en google con "Disi+Delphi" sin comillas en el primer enlace) con las que puedes realizarlo. Observa el segundo ejemplo en la lista del Enlace. Con lo anterior tienes tu <SignedInfo> compuesto. El <SignedInfo> anterior debe ser "canonicalizado", para que sirva de entrada ahora no para el cálculo del DigestValue sino del <SignatureValue> propiamente tal (Esto supongo que también se puede hacer pero no he logrado que me acepten un EnvioDTE en el SII). Luego viene el elemento <KeyInfo> que debe ser completado con los datos de tu certificado provisto por alguna CA. Hasta aquí he llegado con mi desarrollo pero no he podido lograr que el servicio me acepte un documento completo, me lo rechaza invariablemente por Error en Firma. Saludos, |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
xml+xsl a pdf(Factura Electronica) | jgutti | Varios | 4 | 21-02-2012 16:08:23 |
Factura electronica | richy08 | Varios | 4 | 17-12-2010 00:40:34 |
Factura Electrónica | aig | Varios | 13 | 10-12-2010 17:12:44 |
factura electronica | cmm07 | Varios | 4 | 02-04-2009 17:46:03 |
factura electronica | spia | Varios | 2 | 22-02-2009 21:30:06 |
|