2008-10-09 26 views
8

Tenemos una aplicación de servidor de Windows de tipo retráctil donde necesitamos crear un certificado autofirmado en el servidor para ser utilizado por algunos servicios web de WCF. De nuestras búsquedas en la web, parece que la utilidad makecert en PlatformSDK de Microsoft no se puede distribuir con nuestra aplicación, por lo que estamos buscando alternativas.Certificado autofirmado en Windows sin makecert?

¿Alguien sabe cómo usar OpenSSL para crear un certificado y obtenerlo en el almacén de certificados de Windows LocalMachine? ¿O, alternativamente, es sencillo insertar el certificado en la tienda en una aplicación .NET y deberíamos simplemente crear el archivo de certificado con openssl? Cualquier ayuda/sugerencia sería apreciada.

+0

lo acabaste haciendo? –

+0

De hecho, terminamos cambiando los enlaces y no utilizando un certificado del lado del servidor. La configuración de un procedimiento para instalar Microsoft Certificate Services, como se menciona a continuación, es probablemente el método preferido, pero sería genial si se presentara una solución alternativa. –

Respuesta

8

[Por desgracia, no puedo comentar nada todavía, así que voy a publicar esto como una respuesta.]

veo que este post es un poco viejo, pero estoy en un barco similar y he encontrado esto en el archivo de Visual Studio 2008 redist.txt:

Windows SDK Files 

Subject to the license terms for the software, the following files may be distributed unmodified: 

MageUI.exe 
Mage.exe 
Makecert.exe 

No estoy seguro si algo ha cambiado (y si mi interpretación es correcta), pero parece que makecert.exe incluido como parte del SDK de Windows, que a su vez se incluye como parte de la instalación de VS2008, se puede redistribuir.

+0

Eso también lo entiendo. – EricLaw

+0

Curiosamente, 'makecert' ha desaparecido en el archivo VS2010 redist.txt – Cameron

2

Woohoo! Es hora de pinvoke para usted

crypt32 proporciona una función CertCreateSelfSignCertificate; si eso tiene éxito, puede almacenarlo en la tienda personal del usuario (o en la tienda de máquinas suponiendo que está trabajando elevado)

2

No he usado OpenSSL, pero estoy en el mismo barco y encontré útil este artículo:

Securing WCF Services with Certificates

El autor le guía a través de la instalación de Servicios de Certificate Server de Microsoft, la creación de una entidad de certificación que se puede añadir a las autoridades de certificación de confianza (tanto en el cliente y el servidor, ya que es auto firmado), entonces la generación de certificados de cliente y servidor esa cadena del certificado CA autofirmado.

No necesitará los certificados de cliente, pero sí lo ayudará a crear un certificado de CA y servidor autofirmado.

7

Ahora puede crear autofirmado certificados con PowerShell Los comandos que necesita son nuevas-SelfSignedCertificate y Exportación-PfxCertificate. Ex: para crear un certificado

New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname orin.windowsitpro.internal 

exportarlo

Export-PfxCertificate -cert cert:\localMachine\my\CE0976529B02DE058C9CB2C0E64AD79DAFB18CF4 -FilePath e:\temp\cert.pfx -Password $pwd 

Este enlace es muy útil

http://windowsitpro.com/blog/creating-self-signed-certificates-powershell

Cuestiones relacionadas