Certificado auto -assinado no Windows sem Makecert?
-
06-07-2019 - |
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.
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/