|
|
# Digitální podpis *.exe a *.msi pro Widows
|
|
|
## Podepisování instalačních balíků a binárek aplikace Datovka
|
|
|
|
|
|
* https://www.podpis-aplikaci.cz/jak-podepisovat-aplikace-na-windows-sdk/
|
|
|
### MACOS: Podepisování aplikace a instalátoru DMG
|
|
|
|
|
|
Malé povídaní o tom http://www.pepak.net/programovani/authenticode-jak-podepisovat-programy/.
|
|
|
#### Požadavky
|
|
|
* USB Token s certifikátem.
|
|
|
* Funkční Mac s MacOS nebo OS X. Minimálně Yosemite nebo novější (El Capitan, Sierra, High Sierra).
|
|
|
* Instalovaný [Xcode 8](https://developer.apple.com/xcode/) nebo novější včetně instalace [Command Line Tools](https://developer.apple.com/download/more/).
|
|
|
* Instalovaný [SafeNet Authentication Client](https://support.comodo.com/index.php?/Knowledgebase/Article/View/1211/106/safenet-download-for-ev-codesigning-certificates) software pro MacOS. Slouží pro aktivaci USB Tokenu s certifikátem. Po instalaci je třeba provést restart systému.
|
|
|
|
|
|
## Budeme potřebovat:
|
|
|
#### Postup podepisování
|
|
|
* Do libovolného adresáře stáhnout podepisující skript [sign_macos_packages.sh](uploads/8abd7376cb46233605c1be546f7045f7/sign_macos_packages.sh).
|
|
|
* Nastavit pro skript práva pro spuštění.
|
|
|
* Vytvořit u skriptu adresář `packages` a do něj nahrát všechny `*.dmg` pro podpis.
|
|
|
* Vložit USB Token do USB a spustit aplikaci `SafeNet Authentication Client`.
|
|
|
* Spustit script v terminálu (bude pak chtít zadat heslo k tokenu):
|
|
|
|
|
|
* MS Visual Studio 12 a novější.
|
|
|
* SignTool - měl by být součástí VS (https://msdn.microsoft.com/en-us/library/aa387764.aspx).
|
|
|
* Certifikát - musí se nechat podepsat Microsoftem a bude to něco stát (ceny 1 990 Kč až 2 190 Kč bez 21% DPH, zdroj: https://www.ssls.cz/code-signing.html)
|
|
|
- https://www.sslmarket.cz/ssl/code-signing-certifikaty/
|
|
|
- https://www.podpis-aplikaci.cz/jak-podepisovat-aplikace-na-windows-sdk/
|
|
|
- https://blog.sslmarket.cz/ssl/stahnete-si-zdarma-testovaci-code-signing-certifikat/
|
|
|
- https://blog.didierstevens.com/2008/12/30/howto-make-your-own-cert-with-openssl/.
|
|
|
|
|
|
## Jak podepsat *.exe a *.msi?
|
|
|
|
|
|
1. Instalovat podepisující certifikát do úožiště certifikátů Microsoft (návod na https://www.postsignum.cz/files/navody/inst_crt/index.html).
|
|
|
2. Otevřít Visual Studio command prompt v nabídce Start.
|
|
|
3. Nastavit cestu k souboru, který má být podepsán.
|
|
|
4. Podepsat cílové msi/exe pomocí příkazu:
|
|
|
```
|
|
|
signtool sign /sha1 CertificateHash *.msi
|
|
|
```
|
|
|
nebo přímo se zadaním cesty k certifikátu a přidáním časového razítka:
|
|
|
``` shell
|
|
|
./sign_macos_packages.sh packages/datovka-version-macos-x86.dmg packages/datovka-version-macos-x64.dmg
|
|
|
```
|
|
|
signtool sign /f MyCert.pfx /t http://timestamp.verisign.com/scripts/timstamp.dll C:\prace\test.exe
|
|
|
Podepsané dmg soubory budou ve stejném adresáři jako původní nepodepsané balíky a v názvu budou mít prefix `signed_`.
|
|
|
|
|
|
### WINDOWS: Podepisování aplikace a instalátorů EXE a MSI
|
|
|
|
|
|
#### Požadavky
|
|
|
* USB Token s certifikátem.
|
|
|
* Funkční PC s Windows 7 nebo Windows 10.
|
|
|
* Instalovaný [MS Visual Studio 2015](https://visualstudio.microsoft.com/cs/vs/older-downloads/) nebo novější.
|
|
|
* Instalovaný [7-Zip archiver](https://www.7-zip.org/).
|
|
|
* Instalovaný [SafeNet Authentication Client](https://support.comodo.com/index.php?/Knowledgebase/Article/View/1211/106/safenet-download-for-ev-codesigning-certificates) software pro Windows. Slouží pro aktivaci USB Tokenu s certifikátem. Po instalaci je třeba provést restart systému.
|
|
|
|
|
|
#### Postup podepisování
|
|
|
* Je třeba mít aktivní připojení k internetu (pro podpis je třeba generovat časové razítaka).
|
|
|
* Do libovolného adresáře stáhnout podepisující dávkový soubor [sign_windows_packages.bat](uploads/4017d8f8b69e579cd71e004a1ad57bab/sign_windows_packages.bat).
|
|
|
* Pokud je třeba, tak v dávkovém souboru změnit|nastavit cestu, kam je nainstalovaný 7-Zip archiver.
|
|
|
* Vytvořit u dávkového souboru adresář `packages` a do něj nahrát všechny `*.zip|*.msi|*.exe` pro podpis.
|
|
|
* V nabídce Start ve Windows spustit `VS2015 x86 Native Tools Command Prompt`.
|
|
|
* V Prompt přejít do složky s davkovým souborem.
|
|
|
* Vložit USB Token do USB a spustit aplikaci `SafeNet Authentication Client`.
|
|
|
* Pro podepsání balíčků ZIP (podepsaní dll a exe souborů uvnitř) spustit (bude chtít zadat heslo k tokenu):
|
|
|
|
|
|
``` shell
|
|
|
sign_windows_packages.bat datovka-version-windows.zip datovka-portable-version-windows.zip
|
|
|
```
|
|
|
|
|
|
Podrobnosti a zdroje dalších informací:
|
|
|
* https://msdn.microsoft.com/en-us/library/ee290833(v=vs.100).aspx
|
|
|
* https://blog.didierstevens.com/2008/12/31/howto-add-a-digital-signature-to-executables/
|
|
|
|
|
|
# Digitální podpis aplikace a balíčku pro OSX
|
|
|
|
|
|
* https://www.ssls.cz/howto-codesign-mac.html
|
|
|
|
|
|
## Budeme potřebovat:
|
|
|
|
|
|
* Xcode 7 a novější.
|
|
|
* Certifikát - musí se nechat podepsat Applem a bude to něco stát (uvádí se 99$/rok zdroj: http://www.dafscollaborative.org/macuidev.html)
|
|
|
* Pro podepsání msi a exe instalátoru spustit (bude chtít zadat heslo k tokenu):
|
|
|
|
|
|
## Jak podepsat aplikaci?
|
|
|
|
|
|
* http://www.dafscollaborative.org/macuidev.html
|
|
|
* https://successfulsoftware.net/2012/08/30/how-to-sign-your-mac-os-x-app-for-gatekeeper/
|
|
|
* https://www.digicert.com/code-signing/mac-os-codesign-tool.htm
|
|
|
* https://www.digicert.com/code-signing/apple-certificates.htm
|
|
|
* https://forum.unity3d.com/threads/signing-mac-app-on-os-x-mavericks.206762/
|
|
|
* http://certhelp.ksoftware.net/support/solutions/articles/18835-how-do-i-sign-files-on-mac-osx-
|
|
|
|
|
|
## Jak podepsat dmg baliček?
|
|
|
|
|
|
* http://stackoverflow.com/questions/23824815/how-to-add-codesigning-to-dmg-file-in-mac
|
|
|
* http://stackoverflow.com/questions/9743116/gatekeeper-signing-for-osx-dmgs-outside-of-osx-xcode-mac-app-store
|
|
|
|
|
|
|
|
|
# Cena za podepsaný certifikát
|
|
|
|
|
|
* https://www.sslmarket.cz/ssl/code-signing-certifikaty/
|
|
|
* https://www.thawte.com/code-signing/
|
|
|
* https://www.digicert.com/order/order-1.php
|
|
|
* https://uk.godaddy.com/web-security/code-signing-certificate
|
|
|
* https://www.globalsign.com/en/code-signing-certificate/ |
|
|
\ No newline at end of file |
|
|
``` shell
|
|
|
sign_windows_packages.bat datovka-version-windows.exe datovka-version-windows.msi
|
|
|
```
|
|
|
Podepsané zip|msi|exe soubory budou ve stejném adresáři a v názvu budou mít prefix `signed_`. |
|
|
\ No newline at end of file |