Pregunta

Tenemos una aplicación de servidor de Windows de tipo retráctil donde necesitamos crear un certificado autofirmado en el servidor para que lo utilicen 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.

¿Alguien sabe cómo usar OpenSSL para crear un certificado y llevarlo al 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 crear el archivo de certificado con openssl? Cualquier ayuda / sugerencia sería apreciada.

¿Fue útil?

Solución

[Desafortunadamente, todavía no puedo comentar nada, así que publicaré esto como respuesta.]

Veo que esta publicación es un poco antigua, pero estoy en un barco similar y encontré esto en el archivo redist.txt de Visual Studio 2008:

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 de 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, en realidad puede redistribuirse.

Otros consejos

Ahora puede crear certificados autofirmados con PowerShell Los comandos que necesita son New-SelfSignedCertificate y Export-PfxCertificate. Ex: para crear un certificado

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

para exportarlo

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

Este enlace es realmente útil

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

Woohoo! Es hora de pinvoke para ti

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 trabaje de forma elevada)

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

Asegurando los servicios WCF con certificados

El autor lo guía a través de la instalación de Microsoft Certificate Services, creando una CA que se puede agregar a las autoridades de certificación confiables (tanto en el cliente como en el servidor, ya que está autofirmado), y luego genera certificados de cliente y servidor que se encadenan certificado CA certificado.

No necesitará los certificados del cliente, pero le ayuda a crear un certificado de CA y servidor autofirmado.

Una alternativa para generar certificados mediante programación es la versión C # de Bouncy Castle. http://www.bouncycastle.org/csharp/

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top