Duda de Como Autentificarse en los WebService de Descarga de los XML

Todo lo que no cabe en los demas foros........
estebanchambas
Mensajes: 51
Registrado: Mié Ago 08, 2018 2:30 pm

Re: Duda de Como Autentificarse en los WebService de Descarga de los XML

Mensajepor estebanchambas » Lun Oct 01, 2018 1:36 pm

crono81 escribió:Hay algo que va mal....
si a este nodo (que sería el del request que compartiste), le hacemos sha1:
<u:Timestamp u:Id="_0"><u:Created>2018-09-26T15:40:02.763Z</u:Created><u:Expires>2018-09-26T15:45:02.763Z</u:Expires></u:Timestamp>
obtenemos:
ec6f25fe2928042e7fba1f6b677c52b9f6caf1dd
hasta aqui todo bien, luego a este hash le hacemos base64, nos dá:
ZWM2ZjI1ZmUyOTI4MDQyZTdmYmExZjZiNjc3YzUyYjlmNmNhZjFkZA==
que no concuerda con el valor que tiene el request:
5dsghtYrY4kzB/4NrESIrCjan3M=
:?:
Creo que aqui puede estar el problema

jejejejej, a mi también me sale distinto.

Para hacer una prueba usé ese TimeStamp que ponen, para cerciorarme de que salga igual:

Código: Seleccionar todo

<u:Timestamp u:Id="_0"><u:Created>2018-09-26T15:40:02.763Z</u:Created><u:Expires>2018-09-26T15:45:02.763Z</u:Expires></u:Timestamp>


Luego le pasé a este nodo un SHA1 y al resultado de esto le pasé un BASE64 y me da:
7G8l/ikoBC5/uh9rZ3xSufbK8d0=


En lugar de:
5dsghtYrY4kzB/4NrESIrCjan3M=

Que tiene tu request

estebanchambas
Mensajes: 51
Registrado: Mié Ago 08, 2018 2:30 pm

Re: Duda de Como Autentificarse en los WebService de Descarga de los XML

Mensajepor estebanchambas » Lun Oct 01, 2018 1:41 pm

crono81 escribió:De acuerdo Dado, ya logré un avance, el problema no es la canonización, es problema en el propio sha1, te comento, nosotros tratabamos de obtener la base64 del hash representado en ascii, lo cual está mal, debe ser la base64 del hash en binario, ya obtengo un DigestValue de la longitud que muestra el request, yo uso openssl y lo resolví así:

Código: Seleccionar todo

openssl dgst -sha1 -binary "D:\Proyectos\Varios\post web\DescargaSatWS\sign.txt" | openssl enc -base64 -A

Lo cual ya me dá el resultado deseado, ahora sigue el SignatureValue, el cual veo en otro foro, que se obtiene de otros datos y no del timestamp como comentabamos antes, dejo la liga:
https://social.msdn.microsoft.com/Forum ... evelopment
La información que interesa de ahi es esta:
For future information seekers, here's what worked for me.

1. Digest value - canonicalize the timestamp xml, do a simple SHA1 hash on it.

2. Place the digestvalue in the 'signedInfo' and canonicalize the SignedInfo XML.

3. Calculate a derived PSHA1 key based on the trust:BinarySecret of the original token request ('main' key) and the trust:BinarySecret (seed/nonce/secondary key) of the token response.

4. Hash the binary version of the base64 of your canonicalized signedxml as HMACSHA1, with the derived key as the secret, and turn the result hash back into Base64, that's your SignatureValue


Ya veo, SHA1, binary, voy a probar con eso. y mejor hacerle como ustedes, con el openSSL en vez de con mis librerías de criptografia, para mas seguro


Aun así, ya probé haciendo su mismo método y el Hash es Distinto:

Código: Seleccionar todo

N6ILG+m67TWgw1BHrZg8RlB6at4=

crono81
Mensajes: 118
Registrado: Lun Dic 16, 2013 6:55 pm

Re: Duda de Como Autentificarse en los WebService de Descarga de los XML

Mensajepor crono81 » Lun Oct 01, 2018 4:37 pm

Te sale distinto porque hay que agregarle un namespace al nodo timestamp:

Código: Seleccionar todo

<u:Timestamp xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" u:Id="_0"><u:Created>2018-09-26T20:36:40.520Z</u:Created><u:Expires>2018-09-26T20:41:40.520Z</u:Expires></u:Timestamp>

Código: Seleccionar todo

<u:Timestamp u:Id="_0"><u:Created>2018-09-26T15:40:02.763Z</u:Created><u:Expires>2018-09-26T15:45:02.763Z</u:Expires></u:Timestamp>

Notas la diferencia??

Agustin
Mensajes: 46
Registrado: Mar Abr 04, 2017 1:15 pm

Re: Duda de Como Autentificarse en los WebService de Descarga de los XML

Mensajepor Agustin » Mar Oct 02, 2018 12:31 pm

Buenas tardes he agregado la url: https://cfdidescargamasivasolicitud.clo ... cacion.svc en un proyecto del vs para la Autenticación pero al final dice Error al intentar buscar servicios ..
entonces como se manda a obtener la autenticacion o no estara funcionando las url del sat, ademas en el archivo ServSolDescCFDIRet.pdf que presnetan esta confuso, o como agregar el web server

gracias

estebanchambas
Mensajes: 51
Registrado: Mié Ago 08, 2018 2:30 pm

Re: Duda de Como Autentificarse en los WebService de Descarga de los XML

Mensajepor estebanchambas » Mar Oct 02, 2018 12:36 pm

Agustin escribió:Buenas tardes he agregado la url: https://cfdidescargamasivasolicitud.clo ... cacion.svc en un proyecto del vs para la Autenticación pero al final dice Error al intentar buscar servicios ..
entonces como se manda a obtener la autenticacion o no estara funcionando las url del sat, ademas en el archivo ServSolDescCFDIRet.pdf que presnetan esta confuso, o como agregar el web server

gracias


Es que tu lo estas intentando consumir como si fuera un Webservice ordinario con Definición (WSDL)
obvio jamás obtendrás la definición para que el VS lea los métodos.

Es mas como una especie de REST, es un Webservice del tipo WCF al cual le debes de hacer POST a esa URL
Pasándole los Headers aquí mencionados y el Request en el formato aqui mencionado.

Si todo sale bien deberías obtener una respuesta del servidor

estebanchambas
Mensajes: 51
Registrado: Mié Ago 08, 2018 2:30 pm

Re: Duda de Como Autentificarse en los WebService de Descarga de los XML

Mensajepor estebanchambas » Mar Oct 02, 2018 2:21 pm

ooooooo que loooco!!, hasta ahorita me va entrando el veinte que es la cochina esa Canonización o Canonicalization.
Según he estado leyendo y viendo, como que desglosan o expanden los nodos y ademas los namespaces deben ir ordenados en orden analfabético.

Sigo experimentando

estebanchambas
Mensajes: 51
Registrado: Mié Ago 08, 2018 2:30 pm

Re: Duda de Como Autentificarse en los WebService de Descarga de los XML

Mensajepor estebanchambas » Mié Oct 03, 2018 12:46 am

Oigan, estaba viendo que aqui le ponen un NameSpace al Body y un ID. y en el Request.XML no los trae.
el ID que lleva el Body debe ser el mismo del TimeStamp?

estebanchambas
Mensajes: 51
Registrado: Mié Ago 08, 2018 2:30 pm

Re: Duda de Como Autentificarse en los WebService de Descarga de los XML

Mensajepor estebanchambas » Mié Oct 03, 2018 12:52 am

Aca pongo una muestra de mi SOAPEnvelope.xml o Request.xml

espero no estarla regando en algo.
Saludos
Adjuntos
SOAPEnvelopeSAT.xml
(4.89 KiB) Descargado 355 veces

crono81
Mensajes: 118
Registrado: Lun Dic 16, 2013 6:55 pm

Re: Duda de Como Autentificarse en los WebService de Descarga de los XML

Mensajepor crono81 » Mié Oct 03, 2018 10:45 am

Que tal esteban, parece que se te ha pasado alguna que otra respuesta de leer, ya mencionamos como se obtiene el DigestValue y como se obtiene tambien el SignatureValue y las diferencias que hay en cada uno de cuando los obtienes a cuando son integrados al request final, dale una releida al hilo entero

renecalderon
Mensajes: 2
Registrado: Sab Sep 12, 2015 1:06 pm

Re: Duda de Como Autentificarse en los WebService de Descarga de los XML

Mensajepor renecalderon » Sab Nov 03, 2018 6:54 pm

Mi estimado en tu pregunta de que no te funcionaba el webservice para consultar la factura, me podrias apoyar y comentar que opciones de SSL tocaste para que te haya permitido la conexion??? Yo sigo sin poder consultar, y mi funcion me funcionaba desde hace un par de años.

Saludos.

maildejuan escribió:creí que fortiz a lo mejor ya tendría algo y partir de ahí para desarrollar los procesos de mi empresa, pero no encontré su cuenta en Github ... saben si la cerro? ...

saludos


Volver a “Otros”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 7 invitados