none
Consumir Servicio Web con WCF utilizando Ws-Sec RRS feed

  • Pregunta

  • Cordial Saludo,

    Necsitamos construir un cliente de un servicio que cumpla los siguientes requerimientos:

    El consumidor deberá generar la firma digital para cumplir con:

    • Método de generación de firma digital: WSSec
    • Ubicación de la firma: incluida en el WSSec security header
    • Campos a firmar: todo el envelope del mensaje SOAP (Header y body).
    • Algoritmo para generar la firma digital: RSA
    • Método de digest: SHA1
    • Se validará el timestamp del mensaje
    • Se deberá firmar el mensaje original en texto plano
    • Mecanismo para referenciar el token: X509IssuerSerial

    Para el cifrado del mensaje request generado por el consumidor en la capa de aplicación se deberá:

    • Cifrar el mensaje después de generar el timestamp y la firma digital.
    • Utilizar el método WSSec Encryption.
    • Elementos del mensaje a cifrar: Header (Firma digital y username token) y body.
    • Tipo de llave de cifrado: llave efímera transportada por algoritmo asimétrico.
    • Algoritmo simétrico: 3DES – CBC
    • Algoritmo para transportar la llave: RSA-PKCS1.
    • Mecanismo para referenciar el token: X509IssuerSerial

    Tratamos de crear un custombinding, pero en cada paso recibimos un error diferente. Hemos llegado a enviar un mensaje bien formado, pero al procesar la respuesta recibimos la excepción:

    *************

    Cannot find a token authenticator for the 'System.IdentityModel.Tokens.X509SecurityToken' token type. Tokens of that type cannot be accepted according to current security settings.
    *************

    Agradecemos cualquier guía en este escenario.


    Miguel Mendoza

    jueves, 28 de noviembre de 2013 22:56