Saltar al contenido

CryptographicException ‘El conjunto de claves no existe’, pero solo a través de WCF

Te doy la bienvenida a proyecto online, en este lugar vas a encontrar la respuesta a lo que andabas buscando.

Solución:

Lo más probable es que esto se deba a que el usuario de IIS no tiene acceso a la privacidad key para su certificado. Puede configurar esto siguiendo estos pasos…

  1. Inicio → Ejecutar → MMC
  2. Archivo → Agregar/Eliminar complemento
  3. Agregue el complemento Certificados
  4. Seleccione Cuenta de computadora, luego presione siguiente
  5. Seleccione Equipo local (predeterminado), luego haga clic en Finalizar
  6. En el panel izquierdo de Console Root, vaya a Certificados (computadora local) → Personal → Certificados
  7. Lo más probable es que su certificado esté aquí.
  8. Haga clic derecho en su certificado → Todas las tareas → Administrar claves privadas
  9. Establece tu privado key ajustes aquí.

Probablemente será un problema de permisos en el certificado.

Al ejecutar una prueba de unidad, la ejecutará en su propio contexto de usuario, que (dependiendo de qué almacene el cliente el certificado está en) tendrá acceso a la privacidad de ese certificado key.

Sin embargo, si su servicio WCF está alojado en IIS o como un servicio de Windows, es probable que se ejecute en una cuenta de servicio (servicio de red, servicio local o alguna otra cuenta restringida).

Deberá establecer los permisos apropiados en el privado key para permitir que esa cuenta de servicio acceda a él. MSDN tiene los detalles

Tuve un problema idéntico anoche. permisos en privado key se configuraron correctamente, aparentemente todo estaba bien, excepto que el error Keyset no existe. Al final, resultó que el certificado se importó primero al almacén del usuario actual y luego se trasladó al almacén del equipo local. Sin embargo – eso no movió el privado keyque todavía estaba en el

C:Documentos y configuraciónAdministrador…

en vez de

C:Documentos y configuraciónTodos los usuarios…

Aunque los permisos en el key se configuraron correctamente, ASPNET no pudo acceder a él. Cuando volvimos a importar el certificado para que privado key se coloca en la rama Todos los usuarios, el problema desapareció.

Eres capaz de animar nuestro trabajo escribiendo un comentario o valorándolo te damos las gracias.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *