2009-08-07 35 views
11

Mi certificado se almacena en una tienda personalizada en "Certificados (computadora local)" en lugar de en "Personal".Cómo registrar un certificado en un puerto cuando el certificado está en una ubicación personalizada usando netsh

Normalmente, si el certificado se encuentra debajo de personal, sólo tiene que utilizar C:> netsh http añadir sslcert ipport: 0.0.0.0: certhash = = appid certstorename = MI

donde, certstorename = MI ya está asumido por defecto si no se especifica.

Esto funciona bien hasta que eran necesarios para almacenar el certificado en un almacén personalizado que no sea el pueblo personales, de confianza existentes, editores de confianza, etc., etc.

  • Si llamamos a nuestra nueva tienda "mi cert store ", ¿cómo sería el nuevo comando netsh?
  • ¿cómo se corre la palabra "MY" en la tienda "Personal"? ¿Hay algún diccionario en algún lugar que los mapee?

he comprobado el espacio de nombres System.Security.Cryptography.X509Certificates y hay exises una enumeración llamada StoreName con los siguientes valores:

  • libreta de direcciones - El almacén de certificados X.509 para otros usuarios.
  • AuthRoot: el almacén de certificados X.509 para autoridades de certificación de terceros (CA).
  • CertificateAuthority - El almacén de certificados X.509 para autoridades de certificados intermedios (CA).
  • No permitido - El almacén de certificados X.509 para certificados revocados.
  • Mi - El almacén de certificados X.509 para certificados personales.
  • Root: almacén de certificados X.509 para las autoridades de certificación de raíz (CA) de confianza.
  • TrustedPeople: la tienda de certificados X.509 para personas y recursos de confianza directa.
  • TrustedPublisher - La tienda de certificados X.509 para editores de confianza directa.

He intentado todos ellos en el comando netsh como certstorename y siempre me sale este error: Certificado SSL

añadir fallado, error: 1312 Una especificado no existe sesión de inicio de sesión. Puede que ya haya terminado.

+0

Estoy viendo exactamente el mismo problema – rotard

Respuesta

0

Abra su certificado y verifique si realmente contiene una clave privada. Dependiendo de cómo lo haya exportado/importado, es posible que se haya truncado a datos de solo público.

En el explorador, haga doble clic y compruebe si "este certificado contiene la clave privada" etiqueta de advertencia es visible en la primera pestaña, justo por debajo de las fechas de caducidad

0

Un gran defecto es que incluso si el PrivateKey no es persistió correctamente, el icono de la clave privada seguirá apareciendo en mmc y dirá "Hay una clave privada asociada con este certificado". Para estar seguro de que la clave privada está siendo adecuadamente importada,

  • haga clic en el botón derecho en C: \ Datos de programa \ Microsoft \ Crypto \ RSA \ MachineKeys y tomar nota de cuántos archivos se encuentran en la carpeta (aquí es donde las claves privadas se mantienen).
  • Importe el archivo PFX/sin embargo va a agregar el certificado/clave a la tienda
  • Compruebe el archivo de contar de nuevo de esa carpeta, no debe haber 1 más archivos que antes

Usted puede tratar probando esto con un certificado recién creado y autofirmado con una herramienta como open-ssl. Estuve atascado en esto durante semanas hasta que encontré esta publicación stackoverflow, Inserting Certificate (with privatekey) in Root, LocalMachine certificate store fails in .NET 4

Otro problema es asegurarse de que el certificado esté en la computadora local (no en el usuario), pero parece que ya obtuviste esa parte.

0

Tuve este problema cuando el certificado se instaló en mi tienda de usuario local, en lugar de la tienda local . La instalación en localMachine/my lo aclaró.

Cuestiones relacionadas