2008-10-09 5 views
8

Wir haben eine Windows-Serveranwendung vom Typ Schrumpffolie, bei der wir ein selbstsigniertes Zertifikat auf dem Server erstellen müssen, das von einigen WCF-Webdiensten verwendet werden soll. Bei unseren Suchen im Internet scheint es, dass das Makecert-Dienstprogramm im PlatformSDK von Microsoft nicht mit unserer Anwendung verteilt werden kann. Daher suchen wir nach Alternativen.Selbstsigniertes Zertifikat in Windows ohne makecert?

Kann jemand OpenSSL verwenden, um ein Zertifikat zu erstellen und es in den Windows LocalMachine-Zertifikatspeicher zu bekommen? Oder ist es alternativ einfach, das Zertifikat in den Speicher in einer .NET-Anwendung einzufügen und sollten wir nur die Zertifikatsdatei mit openssl erstellen? Jede Hilfe/Vorschläge würde geschätzt werden.

+0

was hast du am Ende tun? –

+0

Wir haben tatsächlich die Bindungen geändert und kein serverseitiges Zertifikat verwendet. Das Einrichten einer Prozedur zum Installieren von Microsoft-Zertifikatsdiensten, wie unten erwähnt, ist wahrscheinlich die bevorzugte Methode, aber es wäre großartig, wenn eine alternative Lösung gefunden würde. –

Antwort

8

[Leider kann ich noch nicht auf etwas kommentieren, so werde ich dies als eine Antwort schreiben.]

Ich sehe, dass dieser Beitrag ist ein bisschen alt, aber ich bin in einem ähnlichen Boot und ich fand diese in der Visual Studio 2008 redist.txt Datei:

Windows SDK Files 

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

MageUI.exe 
Mage.exe 
Makecert.exe 

nicht sicher, ob sich etwas geändert hat (und wenn meine Interpretation richtig ist), aber es sieht aus wie makecert.exe als Teil des Windows SDK enthalten, Das wiederum als Teil der VS2008-Installation enthalten ist, kann tatsächlich neu verteilt werden.

+0

Das ist auch mein Verständnis. – EricLaw

+0

Seltsamerweise ist 'makecert' in der Datei redist.txt VS2010 verschwunden – Cameron

2

Woohoo! Es ist Zeit für pinvoke für Sie

crypt32 bietet eine CertCreateSelfSignCertificate Funktion; Wenn das gelingt, können Sie es im persönlichen Speicher des Benutzers speichern (oder im Maschinenladen, vorausgesetzt, Sie arbeiten erhöht)

2

Ich habe OpenSSL nicht verwendet, aber ich bin im selben Boot und habe diesen Artikel hilfreich gefunden:

Securing WCF Services with Certificates

Der Autor Sie durch die Installation von Microsoft Certificate Services geht, eine CA erstellen, die zu den vertrauenswürdigen Zertifizierungsstellen hinzugefügt werden kann (sowohl auf Client und Server, da es sich von selbst unterzeichnet ist), dann von Zertifikaten Client und Server diese Kette aus dem selbstsignierten CA-Cert.

Sie werden die Client-Zertifikate nicht benötigen, aber es hilft Ihnen, ein selbstsigniertes CA- und Server-Zertifikat zu erstellen.

7

können Sie jetzt erstellen Selbstsignierte Zertifikate mit Powershell Die Befehle, die Sie brauchen, sind New-SelfSignedCertificate und Export-PfxCertificate. Ex: erstellen ein Zertifikat

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

es zu exportieren

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

Dieser Link ist wirklich hilfreich

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

Verwandte Themen