Pergunta

Temos um aplicativo Windows Server Type Windows, do tipo encolhimento, onde precisamos criar um certificado auto -assinado no servidor para ser usado por alguns serviços da Web WCF. Em nossas pesquisas na Web, parece que o utilitário Makecert no PlatformSdk da Microsoft não pode ser distribuído com nosso aplicativo, por isso estamos procurando alternativas.

Alguém sabe como usar o OpenSSL para criar um certificado e colocá -lo na loja de certificados Windows LocalMachine? Ou, alternativamente, é direto para inserir o certificado na loja em um aplicativo .NET e devemos apenas criar o arquivo de certificado com o OpenSSL? Qualquer ajuda/sugestão seria apreciada.

Foi útil?

Solução

Infelizmente, ainda não posso comentar nada, então postarei isso como uma resposta.

Vejo que este post é um pouco antigo, mas estou em um barco semelhante e encontrei isso no arquivo Redist.txt Redist.txt do 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

Não tenho certeza se algo mudou (e se minha interpretação estiver correta), mas parece que o makecert.exe incluído como parte do SDK do Windows, que é incluído como parte da instalação do VS2008, pode realmente ser redistribuído.

Outras dicas

Agora você pode criar certificados auto-assinados com o PowerShell Os comandos necessários são novos e-si-siignedCertificate e Export-PfxCertificate. Ex: para criar um certificado

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

para exportá -lo

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

Este link é realmente útil

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

Woohoo! É hora de Pinvoke para você

Crypt32 fornece a CertCreateSelfSignCertificate função; Se isso for bem -sucedido, você pode armazená -lo na loja pessoal do usuário (ou na loja de máquinas, assumindo que você está trabalhando elevado)

Não usei o OpenSSL, mas estou no mesmo barco e achei este artigo útil:

Garantir serviços WCF com certificados

O autor orienta você através da instalação de serviços de certificados da Microsoft, criando uma CA que pode ser adicionada às autoridades de certificação confiável (no cliente e no servidor, uma vez que é auto-assinado) e, em seguida, gerar certificados de cliente e servidor a partir do certificado de candidatura auto-autenticada .

Você não precisará dos certificados do cliente, mas isso ajuda você a criar um CA e um servidor autoassinados.

Uma alternativa para gerar certificados de geração programaticamente é a versão C#do castelo saltitante.http://www.bouncycastle.org/csharp/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top