Die vorgehensweiße eine native DLL zu signieren ist eine andere wie bei .NET Projekten, bei der man Unterstützung durch das Visual Studio erhält. Welche DLLs müssen überhaupt signiert werden? Ab Windows Vista müssen Treiber und auch selbst geschriebene WIC Codecs signiert werden, so dass sie vom Windows BS angenommen werden. Die Anleitung gilt aber auch für EXEs, OCXs und CABs.

Vorgehensweiße:

  • Windows SDK herunterladen und installieren (makecert, signtool,…)
  • Testzertifikate erstellen (und installieren)
  • Software Publishing Certificate (SPC) erstellen
  • Bibliothek (oder andere Datei) signieren
makecert.exe -sv CodeSignPrivateKey.cer -r -n "CN=[Ihr Name],  OU=[Ihre Appteilung], O=[Ihre Firma], E=[IhreMail@IhreDomain.xy]" -ss NS_CertStore CodeSignCert.cer

Das SPC erstellen:

pvk2pfx.exe -pvk CodeSign.pvk -pi [Ihr Passwort] -spc CodeSign.spc -pfx CodeSign.pfx -f

Zertifikat installieren:

certutil -user -p <Ihr Passwort> -i mportPFX d:signingCodeSign.pfx

Signieren:

signtool sign /v /ac CodeSign.cer /s my /n [Ihr Name/CN] /t http://timestamp.verisign.com/scripts/timestamp.dll AitCodec.dll

Wenn alles ok erfolgt die Ausgabe:

The following certificate was selected:
Issued to: [Ihr Name]
Issued by: [Ihr Name]
Expires:   Sun Jan 01 00:59:59 2040
SHA1 hash: 697330637D668644A9277B395026A6F720BA40B5

Cross certificate chain (using machine store):
Issued to: [Ihr Name]
Issued by: [Ihr Name]
Expires:   Sun Jan 01 00:59:59 2040
SHA1 hash: 697330637D668644A9277B395026A6F720BA40B5

Done Adding Additional Store
Successfully signed and timestamped: AitCodec.dll

Number of files successfully Signed: 1
Number of warnings: 0
Number of errors: 0

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>