consumir un servicio web solo pormi aplicación

03/10/2006 - 22:13 por Carmelo J. Morales Muñoz | Informe spam
hola!

quiero hacer un servicio web y no se como hacer que solo pueda consumir ese
servicio desde mi aplicación web. ¿se os ocurre algo?

Preguntas similare

Leer las respuestas

#6 keybearing
05/10/2006 - 09:18 | Informe spam
Hola,

Un SOAP al final no es mas que un documento xml, como tal, dicho documento
se puede "firmar".

"firmar" un documento xml que ademas cumple la norma SOAP es básicamente:
-aplicar una función hash (algoritmos típicos para ello son SHA-1 y mas
recientemente SHA-2) al elemento identificado como "body", es decir, a lo que
es la propia petición en si, obteniendo, según el algoritmo aplicado, una
serie de pongamos unos 21 carácteres, dichos carácteres identifican
univocamente a la petición firmada.
Para aplicar esta función hash no hace falta que te piques nada a pelo, hay
multitud de librerías que te proporcionan esta funcionalidad.
-encriptar el hash anterior con una clave asimétrica privada, es decir,
cifrar tu hash, se obtiene otra serie de carácteres algo mas larga que la
anterior.
Para encriptar algo con una clave asimétrica privada tampoco hace falta que
te piques tu nada a pelo, lo normal suele ser obtener la clave privada de un
certificado p12 y llamar a la función de la librería correspondiente que
cifre, el algoritmo carácterístico para este cifrado suele ser RSA. El
certificado p12 lo puedes obtener gratuitamente en la página de la fábrica
nacional de moneda y timbre (http://www.fnmt.es/es/html/ho-ho.asp), por
supuesto, para poder hacer lo anterior dicho certificado debe residir
físicamente en la máquina cliente.
-coger el resultado del cifrado anterior y meterlo dentro de la etiqueta
"header" de tu SOAP bajo una etiqueta "signature" e incluir el certificado
público correspondiente al certificado privado con el que has firmado.
Todo lo anterior se resume en encontrar una librería que realice firmas en
formato "XMLDSig" que es como se llama a este tipo de firmas.
En la parte servidora una vez tengas el xml se llamaría a la correspondiente
función de verificación (si la librería en cuestión te permite firmar también
te permitira verificar).

No se si me he explicado bien...

Un saludo

"Carmelo J. Morales Muñoz" wrote:

hola y gracias!


¿Podrias explicarme que es eso de "firmar" el trafico SOAP?.



Respuesta Responder a este mensaje
#7 Carmelo J. Morales Muñoz
05/10/2006 - 15:50 | Informe spam
te has explicado muy bien, gracias!.


mi problema es que el software se lo baja cada usuario a su ordenador, y no
puedo instalar certificados a cada usuario que quiera probar la aplicación.
Perome has dado algunas ideas de como afrontar el problema.

gracias!
Respuesta Responder a este mensaje
#8 keybearing
05/10/2006 - 16:54 | Informe spam
De nada, un placer ayudar.

De todas formas, no es por insistir en la idea, pero si el usurio lo primero
se baja es el software puedes incluir un certificado a nombre de nadie que tu
te hayas creado en el propio software que se baja el usuario, el certificado
no es necesario instalarlo, no hace falta que este en el keystore de windows
para poder usarlo, con que tengas el array de bytes se puede decodificar para
obtener una instancia de la clase X509Certificate (o la que sea dependiendo
del lenguaje y la librería) y con esa instancia ya puedes firmar.

Si al final te decides por lo de la clave esta si que podrías encriptarla
para que no fuera en plano.

Un saludo

"Carmelo J. Morales Muñoz" wrote:

te has explicado muy bien, gracias!.


mi problema es que el software se lo baja cada usuario a su ordenador, y no
puedo instalar certificados a cada usuario que quiera probar la aplicación.
Perome has dado algunas ideas de como afrontar el problema.

gracias!



Respuesta Responder a este mensaje
#9 Carmelo J. Morales Muñoz
06/10/2006 - 15:04 | Informe spam
Gracias nuevamente,,,,,

si utilizo la clave, por sencilléz. y la envio encriptada. ¿no
podría verla alguien (aunque sea encripdata) y diseñar su propia aplicación
que mande dicha secuencia encriptada?.

una cosa mas, mi proveedor de hosting, me permite crear páginas https, ¿se
pueden usar para un WS?


gracias!

PD: no puedo probarlo sin pagar un pequeño plus, por eso lo pregunto en
lugar de probarlo. ;)
Respuesta Responder a este mensaje
#10 Alberto Poblacion
06/10/2006 - 15:19 | Informe spam
"Carmelo J. Morales Muñoz" wrote in message
news:%
si utilizo la clave, por sencilléz. y la envio encriptada. ¿no
podría verla alguien (aunque sea encripdata) y diseñar su propia
aplicación que mande dicha secuencia encriptada?.



Eso se evita usando un método de desafío-respuesta: En una primera
llamada al servidor, se recoge de éste un número aleatorio. En una segunda
llamada se devuelve dicho número cifrado con la password. Si alguien captura
la transmisión e intenta usar el mismo valor cifrado, el servidor se lo
rechaza porque no coincide con el valor que inicialmente le remitió a ese
cliente.


una cosa mas, mi proveedor de hosting, me permite crear páginas https, ¿se
pueden usar para un WS?



Sí, perfectamente. Simplemente pones https: en lugar de http: al
configurar en el cliente la url del servicio. Esto evita el problema de que
te intercepten la transmisión.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida