Problemas uso certificado X.509

04/04/2007 - 12:20 por Hoze \(SMM\) | Informe spam
Hola a todos.

Tengo que utilizar un WebService que requiere que le encripte la información
utilizando un certificado X.509.

Me he conectado a la web que ofrece el servicio y me ha generado
(correctamente, creo) las clases a utlizar para invocar el servicio web.

El problema que tengo es que cargo el certificado de la siguiente manera:


ACert = new
System.Security.Cryptography.X509Certificates.X509Certificate(CertPath);
Ws.ClientCertificates.Add(ACert);
Ws.RequestEncoding = Encoding.UTF8;
Ws.SoapVersion =
System.Web.Services.Protocols.SoapProtocolVersion.Soap11;
Ws.ClientCertificates.Add(ACert);
Ws.ServicioAsync(AWsOutput);



Tras hacer la invocación, el servico me dice que espera un mensaje cifrado
con el certificado, y no sé como hacer que mi llamada vaya de esta manera,
ya que, según entiendo, ya estoy adjuntando el certificado en la emisión de
mi mensaje.


Gracias

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
07/04/2007 - 13:23 | Informe spam
"Hoze (SMM)" wrote in message
news:
[...]
Ws.ClientCertificates.Add(ACert);
[...]
Tras hacer la invocación, el servico me dice que espera un mensaje cifrado
con el certificado, y no sé como hacer que mi llamada vaya de esta manera,
ya que, según entiendo, ya estoy adjuntando el certificado en la emisión
de mi mensaje.



Cuando adjuntas un certificado de esta forma, lo que haces es añadirlo a
las credenciales para autenticar el cliente contra IIS, cuando IIS está
configurado para autenticar a los clientes mediante certificados. Pero si lo
quieres usar para cifrar el mensaje SOAP, es más complicado. Microsoft tiene
unas herramientas gratuitas, denominadas WSE (Web Services Enhancements) que
puedes instalar en el Visual Studio y que te permiten cifrar y firmar con
certificados las llamadas a los servicios web.
Respuesta Responder a este mensaje
#2 Hoze \(SMM\)
08/04/2007 - 08:51 | Informe spam
Gracias, investigaré, ya que es exactamente lo que quiero: cifrar el
mensaje.



"Alberto Poblacion"
escribió en el mensaje de noticias
news:%
"Hoze (SMM)" wrote in message
news:
[...]
Ws.ClientCertificates.Add(ACert);
[...]
Tras hacer la invocación, el servico me dice que espera un mensaje
cifrado con el certificado, y no sé como hacer que mi llamada vaya de
esta manera, ya que, según entiendo, ya estoy adjuntando el certificado
en la emisión de mi mensaje.



Cuando adjuntas un certificado de esta forma, lo que haces es añadirlo
a las credenciales para autenticar el cliente contra IIS, cuando IIS está
configurado para autenticar a los clientes mediante certificados. Pero si
lo quieres usar para cifrar el mensaje SOAP, es más complicado. Microsoft
tiene unas herramientas gratuitas, denominadas WSE (Web Services
Enhancements) que puedes instalar en el Visual Studio y que te permiten
cifrar y firmar con certificados las llamadas a los servicios web.

Respuesta Responder a este mensaje
#3 Hoze \(SMM\)
09/04/2007 - 11:08 | Informe spam
Las tengo instaladas, pero no las he usado nunca, así que me costará algo
hacerlo.
¿Conoces alguna web con ejemplos de código? Estoy viendo los namespaces
- Microsoft.Web.Services3.Security;
- Microsoft.Web.Services3.Utilities;

¿Voy por buen camino?


Saludos
Respuesta Responder a este mensaje
#4 Alberto Poblacion
09/04/2007 - 11:34 | Informe spam
"Hoze (SMM)" wrote in message
news:
Las tengo instaladas, pero no las he usado nunca, así que me costará algo
hacerlo.
¿Conoces alguna web con ejemplos de código? Estoy viendo los namespaces
- Microsoft.Web.Services3.Security;
- Microsoft.Web.Services3.Utilities;



No las he usado mucho, pero si no recuerdo mal, pinchas con el botón
derecho sobre el proyecto en el explorador de soluciones y te sale una
opción que es "activar WSE para este proyecto", y luego hay un "wizard" que
te deja configurar las opciones que quieres usar.
Respuesta Responder a este mensaje
#5 Hoze \(SMM\)
09/04/2007 - 12:15 | Informe spam
Sí, pero no es tan trivial en mi caso, ya que tengo que dar a elegir al
usuario el certificado a utilizar, que puede estar en un contenedor, pero
que en casi todas las ocasiones estará en un archivo .CER.


Ya he visto lo que comentas del asistente... ojalá con eso me valiera :)

"Alberto Poblacion"
escribió en el mensaje de noticias
news:%
"Hoze (SMM)" wrote in message
news:
Las tengo instaladas, pero no las he usado nunca, así que me costará algo
hacerlo.
¿Conoces alguna web con ejemplos de código? Estoy viendo los namespaces
- Microsoft.Web.Services3.Security;
- Microsoft.Web.Services3.Utilities;



No las he usado mucho, pero si no recuerdo mal, pinchas con el botón
derecho sobre el proyecto en el explorador de soluciones y te sale una
opción que es "activar WSE para este proyecto", y luego hay un "wizard"
que te deja configurar las opciones que quieres usar.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida