GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Signieren von Windows-Anwendungen auf Linux-basierten Distributionen

Sie können osslsigncode

ausprobieren

Um eine EXE- oder MSI-Datei zu signieren, können Sie jetzt Folgendes tun:

osslsigncode sign -certs <cert-file> -key <der-key-file> \
        -n "Your Application" -i http://www.yourwebsite.com/ \
        -in yourapp.exe -out yourapp-signed.exe

oder wenn Sie eine PEM- oder PVK-Schlüsseldatei mit einem Passwort zusammen mit einem PEM-Zertifikat verwenden:

osslsigncode sign -certs <cert-file> \
        -key <key-file> -pass <key-password> \
        -n "Your Application" -i http://www.yourwebsite.com/ \
        -in yourapp.exe -out yourapp-signed.exe

oder wenn Sie auch einen Zeitstempel hinzufügen möchten:

osslsigncode sign -certs <cert-file> -key <key-file> \
        -n "Your Application" -i http://www.yourwebsite.com/ \
        -t http://timestamp.verisign.com/scripts/timstamp.dll \
        -in yourapp.exe -out yourapp-signed.exe

Sie können ein Zertifikat und einen Schlüssel verwenden, die in einem PKCS#12-Container gespeichert sind:

osslsigncode sign -pkcs12 <pkcs12-file> -pass <pkcs12-password> \
        -n "Your Application" -i http://www.yourwebsite.com/ \
        -in yourapp.exe -out yourapp-signed.exe

So signieren Sie eine CAB-Datei, die Java-Klassendateien enthält:

osslsigncode sign -certs <cert-file> -key <key-file> \
        -n "Your Application" -i http://www.yourwebsite.com/ \
        -jp low \
        -in yourapp.cab -out yourapp-signed.cab

Es ist eigentlich ganz einfach, Mono zu verwenden 's Signtool; Der knifflige Teil (ausführlicher beschrieben im verlinkten Mozilla-Artikel) besteht darin, das Zertifikat im richtigen Format von Windows nach Linux zu kopieren.

Das Konvertieren der Windows-PFX-Zertifikatsdatei in PVK- und SPC-Dateien muss nur einmal durchgeführt werden, wenn das Zertifikat von Windows nach Linux kopiert wird;

openssl pkcs12 -in authenticode.pfx -nocerts -nodes -out key.pem
openssl rsa -in key.pem -outform PVK -pvk-strong -out authenticode.pvk
openssl pkcs12 -in authenticode.pfx -nokeys -nodes -out cert.pem
openssl crl2pkcs7 -nocrl -certfile cert.pem -outform DER -out authenticode.spc

Das eigentliche Signieren der exe ist einfach;

signcode \
 -spc authenticode.spc \
 -v authenticode.pvk \
 -a sha1 -$ commercial \
 -n My\ Application \
 -i http://www.example.com/ \
 -t http://timestamp.digicert.com/scripts/timstamp.dll \
 -tr 10 \
 MyApp.exe

Linux
  1. Windows-Äquivalent von inet_aton

  2. Wie konvertiert man eine ausführbare Linux-Datei (binär) in eine Windows-Exe-Datei?

  3. Wechseln Sie mit wmcrtl durch die Fenster derselben Anwendung

  4. Wie diagnostiziere ich Heap-Korruptionsfehler unter Windows?

  5. Warum funktionieren Windows EXE-Dateien nicht unter Linux?

So installieren Sie Windows-Software unter Linux mit Bottles

So installieren Sie Anwendungsserver auf Windows Server 2012

Linux vs. Windows-Sicherheit

Titel der Qt-Anwendung

Querkompilieren Sie eine Rust-Anwendung von Linux nach Windows

Wie kann ich eine ausführbare Windows-Datei von WSL (Ubuntu) Bash ausführen