Wie signiere ich meine Anwendung?

Veröffentlicht: 14. Sep 2007

Das Problem

Der User Account Control Dialog zeigt nach wie vor die Meldung an das die Anwendung nicht Identifiziert werden kann. Der Benutzer wird in den meisten Fällen die Anwendung schliessen.

Die Lösung

Um den User Account Dialog die entsprechenden Herkunftsinformationen mitzugeben muss man seine Anwendung bzw. die entsprechenden Komponenten signieren. In dem CodeClip Beispiel die COM DLL. Um die Komponenten signieren zu können benötigt man ein Zertifikat. Zertifikate können nur bei Anerkannten Zertifikatsautoritätsinstanzen erworben werden. Hierzu zählen öffentliche, wie zum Beispiel VeriSign oder Thawte. Auch Ihr Unternehmen kann über einen eigenen Zertifikatsserver verfügen der für interne Anwendung genutzt werden kann. Hierzu fragen Sie am besten Ihren zuständigen Administrator. In dem CodeClip Beispiel erstellen wir ein Testzertifikat um den Dialog zu beeinflussen. Dieses Zertifikat ist wirklich nur für Testzwecke zu benutzen.

Der Code

Das Erstellen eines Zertifikats

Makecert –sk MyDemoCertificate –r –n „CN=issuer,OU=orgname,O=company,E=email” –ss My demo.cer        
      

Das einbetten in ein Software Publishing Certificate

Cert2spc demo.cer demo.spc        
      

Das signieren mittels des Signtool Wizards

Signtool signwizard

Damit das Zertifikat noch als Vertrauenswürdig gilt registriert man dieses mittels dem MMC Certificates Snap-In in die Vertrauenswürdigen Stammzertifizierungsstellen.

Nächste Schritte

Sprechen Sie mit Ihrem Administrator ob in Ihrem Unternehmen für Unternehmensanwendungen Code Signierungszertifikate ausgestellt werden können. Wird Ihre Anwendung weltweit verteilt und benötigt entsprechende „Elevation“-Rechte so erwerben Sie am besten ein öffentliches Zertifikat.