2008-10-09 8 views
8

Nous avons une application serveur Windows de type rétractable dans laquelle nous devons créer un certificat autosigné sur le serveur qui sera utilisé par certains services Web WCF. D'après nos recherches sur le Web, il semble que l'utilitaire makecert de PlatformSDK de Microsoft ne puisse pas être distribué avec notre application, nous cherchons donc des alternatives.Certificat auto-signé dans Windows sans makecert?

Est-ce que quelqu'un sait comment utiliser OpenSSL pour créer un certificat et l'obtenir dans le magasin de certificats Windows LocalMachine? Ou bien, est-il simple d'insérer le certificat dans le magasin dans une application .NET et devrions-nous simplement créer le fichier de certificat avec openssl? Toute aide/suggestion serait appréciée.

+0

qu'est-ce que vous finissez par faire? –

+0

En fait, nous avons fini par changer les liaisons et ne pas utiliser un certificat côté serveur. Configurer une procédure pour installer Microsoft Certificate Services, comme mentionné ci-dessous est probablement la méthode préférée, mais ce serait génial si une solution alternative a été inventée. –

Répondre

8

[Malheureusement, je ne peux pas commenter quoi que ce soit, donc je posterai cela comme une réponse.]

Je vois que ce poste est un peu vieux, mais je suis dans un bateau similaire et J'ai trouvé dans le Visual studio 2008 fichier 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 

Je ne sais pas si quelque chose a changé (et si mon interprétation est correcte), mais il semble que makecert.exe inclus dans le SDK de Windows, qui est inclus dans l'installation VS2008 peut être redistribué.

+0

C'est aussi ce que je comprends. – EricLaw

+0

Curieusement, 'makecert' a disparu dans le fichier redist.txt VS2010 – Cameron

2

Woohoo! Il est temps pour pinvoke pour vous

crypt32 fournit une fonction CertCreateSelfSignCertificate; Si cela réussit, vous pouvez le stocker dans le magasin personnel de l'utilisateur (ou le magasin de l'ordinateur en supposant que vous travaillez élevé)

2

Je n'ai pas utilisé OpenSSL, mais je suis dans le même bateau et j'ai trouvé cet article utile:

Securing WCF Services with Certificates

L'auteur vous guide à travers l'installation de services de certificats Microsoft, la création d'une autorité de certification qui peut être ajouté aux autorités de certification de confiance (sur le client et le serveur, car il est auto-signé), puis générer des certificats client et serveur cette chaîne du certificat CA auto-signé.

Vous n'aurez pas besoin des certificats client, mais cela vous aidera à créer un certificat CA et serveur auto-signé.

7

Vous pouvez maintenant créer des certificats auto-signé avec PowerShell Les commandes dont vous avez besoin sont New-SelfSignedCertificate et Export-PfxCertificate. Ex: pour créer un certificat

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

pour l'exporter

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

Ce lien est très utile

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

Questions connexes