Cómo usar el certificado ssl de IIS (CNG) para el cifrado de datos

2

Quiero usar RSA para cifrar / descifrar algunos datos utilizando el ceritifcate ssl de IIS, desde un servicio web (WCF). Hasta ahora he logrado hacer esto usando clases de seguridad .NET (RSACryptoServiceProvider / X509Certificate2): el cliente usa el certificado del servidor para cifrar los datos, el servicio web puede usar la clave privada (otorgando permisos a la identidad del grupo de aplicaciones, según corresponda ) Para descifrarlo. Esto funciona bien para las situaciones en las que el proveedor de almacenamiento de certificados es CSP. Desafortunadamente, el certificado instalado en el servidor de producción utiliza KSP, y solo se puede acceder a la clave privada utilizando la API de CNG. Encontré una biblioteca en codeplex (Security.Criptography) que expone los métodos para acceder a la clave privada, pero no pudo hacer que el cifrado / descifrado funcione. Espero que el proceso de cifrado no cambie, el cifrado se realiza mediante el certificado del servidor, independientemente de dónde y cómo se almacene la clave privada correspondiente. Puedo usar la clase RsaCNG para obtener la clave privada, pero cuando paso la matriz de bytes obtenida del cliente, como parámetro al método DecryptValue, obtengo una excepción de parámetro no válida. ¿Alguna idea sobre cómo debería abordarse este problema?

    
pregunta Adrian Ganea 16.04.2015 - 13:44
fuente

0 respuestas

Lea otras preguntas en las etiquetas