2011-07-14 47 views
5

Estoy intentando crear un punto final https para mi servicio azul. Me dieron un archivo p7b que convertí en un archivo cer cer. Desde el cer pude convertir con unas pocas líneas de C# a un pfx.https en Azure con archivo pfx

var cert = new X509Certificate2(@"certpath", " 
var bytes = cert.Export(X509ContentType.Pfx, "password"); 
File.WriteAllBytes(@"certpath\cert.pfx", bytes); 

Ahora, cuando subo el CERT en Azure todo parece bien, copio la huella digital y trato de actualizar con la nueva huella digital como parte del punto final y me sale un error en azul.

Certificado con 3FA490D1D4957942CD2ED545F6E823D0008796EA2 huella digital asociado con la entrada HTTPS punto final "endpointName" no contiene la clave privada.

Respuesta

6

¿Cómo convirtiste el .p7b a .cer? Su problema es que los archivos cier no contienen la información de la clave privada, por lo que cuando la exporta como un pfx, no tiene la información que necesita para trabajar con SSL.

La forma más fácil de convertir a un pfx es probablemente importar el certificado en su máquina local (usando certmgr.msc), luego exportarlo asegurándose de seleccionar la opción "Sí, exportar la clave privada".


EDIT: Después de hacer algunas investigaciones más después del comentario gregs', el problema sigue siendo el mismo, estás pfj no tiene la clave privada que necesita para trabajar con SSL, pero la causa es que en realidad el archivo .p7b no tiene una clave privada para comenzar. Necesita usar un certificado diferente. Ya hay un question related to this on server fault.

+1

Los archivos .p7b tampoco contienen claves privadas. –

+0

Después de más investigaciones, tiene razón. No he trabajado con esos archivos en particular antes, así que supuse que se estaba perdiendo en la traducción de .cef a .pfx. Editaré para aclarar – knightpfhor

2

Tuve el mismo problema al intentar generar .pfx para Azure. El certificado p7b fue generado por Thawte. Después de algunas investigaciones pude hacerlo funcionar.

  1. Generar CSR (solicitud de certificado) de IIS. Podría ser su IIS local. https://search.thawte.com/support/ssl-digital-certificates/index?page=content&id=SO9171

  2. generar el certificado basado en la RSE. El CA se ocupa de esto. Si está generando un certificado autofirmado, también puede hacerlo desde ISS. Esto es importante porque cuando lo importa (paso 3), IIS verificará que el certificado se haya generado allí.

  3. Importe el certificado a su IIS local. Debe ser un archivo .cer. Simplemente abra su archivo p7b y verá la cadena de certificados allí. Exporte su certificado de dominio a un archivo .cer. Luego puede usarlo para importarlo a IIS. https://search.thawte.com/support/ssl-digital-certificates/index?page=content&id=SO10664

  4. Exportar el certificado a .pfx desde IIS. En este punto, el certificado contiene una clave privada apropiada agregada por IIS. Cuando lo exporte, IIS le pedirá una contraseña. https://search.thawte.com/support/ssl-digital-certificates/index?page=content&id=SO10034

1

Conseguir archivo PFX del certificado SSL de GoDaddy. Detalles here en caso de que ayude.

Cuestiones relacionadas