Frage

Wie würde ich ein Visual C # ausführbare schreiben?

SignTool.exe kann kein Zertifikat finden.

Wie würde ich einen selbst signierter Schlüssel und das Zertifikat zu erstellen, und habe Signtool der Lage sein, um das Zertifikat zu sehen und es verwenden?

OpenSSL und Visual Studio 2010 Express installiert. Ausführen von Windows 7 Ultimate x64.

Mit SignTool.exe von Windows Driver Kit.

War es hilfreich?

Lösung

Unter Verwendung von selbstsignierten Zertifikaten für Ihre Binärdateien digital signieren geht so ziemlich gegen die Konzept der digitalen Zertifikate mit mit Programmen. Die Grundidee ist der Code, um zu beweisen, wurde von Ihnen erstellt (Authentizität) und wurde nicht geändert, da Sie es (Integrität) freigegeben. Dies muss durch die Verwendung eines signierten Zertifikats erfolgen, die von einer vertrauenswürdigen Zertifizierungsstelle (CA).

unterzeichnet

Mit .Net, wenn ein binären digital signiert ist, wird automatisch für Integrität und Authentizität bei der Inbetriebnahme überprüft. Während ich dies nicht persönlich getestet wird Sie wahrscheinlich ein selbst signiertes Zertifikat gehen verursachen viele Probleme.

Wenn Sie digital Ihre Programme zu unterzeichnen, müssen Sie in einem Codesignaturzertifikat von einer Zertifizierungsstelle investieren Es gibt eine Reihe von Unternehmen gibt, die diesen Service anbieten können ( Verisign , Thawte ), für eine Gebühr.

Während die Gebühr könnte ein bisschen extrem im Preis scheint, denken Sie daran, dass Sie nicht nur ein digitales Zertifikat zu erwerben, sondern auch 24/7 Validierung des Zertifikats. Jedes Mal, wenn jemand beginnt Ihr Programm wird das Programm sicherstellen, wurde von Ihnen geschrieben und das Programm wurde nicht verändert, seit Sie es freigegeben wird.

Wenn Sie ein Zertifikat haben, können Sie digital Ihr Programm anmelden, indem Sie die Schritte in Wie zu: Sign. Anwendung und Bereitstellung Manifests

Update: Wenn dieses Programm ist streng eine interne Anwendung (begrenzt auf Sie oder Ihr Unternehmen), Sie können Ihre eigenen CA erstellt. Da Sie der einzige sein würde man es läuft, nur müssten Sie es validieren. Das CA-Zertifikat müsste als Root-Zertifikat auf alle Trusted installiert werden die Maschinen, die das Programm laufen würde (oder wenn Sie den Zugriff auf Windows-Server haben, können Sie eine echte Arbeits CA einrichten).

scroll top