{"copy":"Zkop\u00edrovat","expand":"Rozbalit","collapse":"Sbalit","copy_success":"Zkop\u00edrov\u00e1no!","copy_error":"Kop\u00edrov\u00e1n\u00ed selhalo!"}

Code Signing centrum - podpora podepisování aplikací

Centrum zákaznické podpory Code Signing certifikátů (certifikátů na podepisování kódu a aplikací). Zde najdete všechny relevantní informace ohledně podepisování kódu a použití Code Signing certifikátů.

Code signing certifikáty

Certifikáty pro podepisování kódu (Code signing) slouží pro podepisování aplikací vytvořených na různých vývojových platformách. Cílem podepisování kódu je nejen autentizace vydavatele, ale hlavně ochrana pravosti aplikace a její neměnnosti. Pokud by někdo aplikaci pozměnil (například přidal malware), podpis přestává být platný. Proto většina současných systémů buď podpis aplikace vyžaduje (MacOS), nebo před spuštěním nepodepsané aplikace důrazně varuje (Windows).

Code signing EV certifikát

I u certifikátů pro podpis kódu nabízíme certifikát s rozšířeným ověřením. Jeho výhody a návod k jeho aktivaci najdete v následujících odstavcích.

Význam Code signing EV certifikátu

Jeho významem je zvýšení bezpečnosti certifikátu a privátního klíče. Certifikát je spolu s privátním klíčem uložen na tokenu a není možné ho exportovat. Použití certifikátu je chráněno heslem a po několika špatných pokusech se token smaže. Jedná se o výbornou ochranu vašeho code signing certifikátu před zneužitím. Další důležitou výhodou Code Signing EV certifikátu je absolutní důvěryhodnost ve filtru Smartscreen, který je součástí Windows. Díky EV podpisu máte jistotu, že systém Windows vaši aplikaci uživatelům nezablokuje.

Více informací o Code Signing certifikátu v naší nabídce najdete na produktové stránce DigiCert Code Signing EV.

Jak získat a aktivovat Code Signing EV certifikát

Celý proces získání a aktivace Code Signing EV certifikátu je popsán v článku Zprovoznění (aktivace) Code Signing EV certifikátu.

Jak podepisovat software digitálním certifikátem

Pro podepisování aplikací Code Signing potřebujete dvě věci:

  • Code Signing certifikát
  • Aplikaci pro podepisování

Code Signing certifikát získáte od SSLmarketu a to je snadné. Podepisovací aplikaci si zvolíte na základě platformy, na které vyvíjíte. Populární a nejrozšířenější jsou tyto podepisovací nástroje, které máme popsané v naší nápovědě a umíme vám s nimi poradit:

  • Signtool z Windows SDK (nápověda)
  • Jarsigner (viz článek na blogu).
  • Utilita smctl od DigiCertu - doporučujeme pro KeyLocker (nápověda). Umí použít např. signtool a zjednodušit podepisování.

Většina našich zákazníků vyvíjí v prostředí MS Windows a využívá Windows SDK. Podepisování pak probíhá pomocí nástroje signtool.exe. Dokumentaci k signtool najdete na stránce SignTool.exe (Sign Tool) na webu Microsoftu.

Podepisování pomocí cloudového HSM

Cloudová HSM slouží k bezpečnému uložení certifikátu Code Signing a vzdálenému přístupu k němu. Na rozdíl od certifikátu na tokenu umožňují automatizaci a podepisování je velice rychlé, protože se do cloudu posílá pouze hash souboru (tzv. hash signing).

Podepisování pomocí hash-signing a cloudu důrazně doporučujeme na rozdíl od tokenu. Je to bezpečné, rychlé a levné.

Doporučené cloudové HSM

  • DigiCert KeyLocker
  • DigiCert Software Trust Manager
  • Azure Key Vault
  • GCP Cloud KMS (Google)
  • AWS CloudHSM

V následujících odstavcích naleznete výhody a nevýhody jednotlivých řešení.

DigiCert KeyLocker

Nejlevnější alternativou k tokenu je KeyLocker. Jedná se o jednoduchou službu pro jednoho uživatele, která umožňuje snadné podepisování kódu. DigiCert poskytuje vlastní KSP a PKCS#11 knihovny, které si nainstalujete do systému a podepisujete kód úplně stejně jako jste zvyklí. Pomocí jejich utility SMCTL je podepisování ještě jednodušší a přímočařejší než se signtool. SMCTL je kompatibilní s nejpoužívanějšími nástroji pro Code Signing a umí je zavolat. KeyLocker má limit 1000 podpisů, hodí se proto pro méně časté podepisování. Počet podpisů lze ale za úplatu rozšířit.

DigiCert Software Trust Manager

Jedná se o vrcholné cloudové řešení z platformy DigiCert ONE, která je určena pro enterprise použití. Nabízí správu neomezeného počtu certifikátů, uživatelů a je neomezeně škálovatelná. Propojení s vaší CI/CD platformou zajistí připravené skripty a knihovny. Přístup k STM a počet podpisů se licencuje. Pro více informací o ceně a způsobu licencování nás neváhejte kontaktovat. Dokumentaci najdete na webu DigiCertu.

Cloudové HSM Azure a Google

Oba velcí cloudoví hráči poskytují službu HSM s bezpečným vzdáleným přístupem přes vlastní knihovny, které fungují jako KSP ve Windows. Jejich použití není složité a cena obou je velice příznivá (platí se pouze za kryptooperace). Azure a GCP doporučujeme pro velké množství podpisů ročně, protože náklady jsou nízké.

Návod pro podepisování kódu pomocí Azure Key Vault najdete v článku Podepisování kódu pomocí Azure Key Vault. Pro GCP Cloud KMS pak v článku Podepisování kódu pomocí Google Cloud KMS.

AWS CloudHSM

U Amazonu je též možné podepisovat pomocí cloudu za použití Signtool z Windows SDK, zřízené HSM je však zpoplatněno za hodinu provozu. Kromě fixních nákladů se platí i za operace (podpisy). Pokud AWS dosud nepoužíváte, doporučujeme spíše Azure či GCP HSM. Více informací o použití se Signtool najdete v článku Use Microsoft SignTool with Client SDK 3 to sign files.

Srovnání Azure Key Vault vs Google Cloud KMS vs AWS CloudHSM/KMS+HSM

Srovnání všech tří cloud HSM najdete v následující tabulce. Je zaměřeno na náklady za operace podpisu (hash signing), fixní poplatky, škálování, nízké využití, provozní složitost a latenci/propustnost.

Faktor Azure Key Vault Google Cloud KMS AWS CloudHSM / KMS + HSM
Poplatky za operace (sign/verify) Velmi nízké (≈ $/10 000 operací). Velmi nízké (≈ $/10 000 operací). Není klíčový náklad; hlavní jsou fixní poplatky za HSM.
Fixní náklady Možný měsíční poplatek za HSM-klíč; jinak nízké. Bez výrazných fixních nákladů v základním režimu. Vysoké – hodinový nájem HSM (24/7) či Custom Key Store.
Škálování a kapacita Lineární dle transakcí; omezeno throttlingem. Lineární; pozor na kvóty (QPS/QPM). Škálování přidáváním HSM; roste i fixní náklad.
Náklad při nízkém využití Výhodné — platí se hlavně za operace. Výhodné — platí se hlavně za operace. Nevýhodné — platí se HSM i bez zátěže.
Provozní složitost Nízká — spravovaná služba. Nízká — spravovaná služba. Vyšší — správa HSM clusteru a HA/DR.

Kontaktujte nás

Nebudete-li si vědět rady s jakýmkoliv krokem objednávky certifikátu, vystavením certifikátu, instalací certifikátu, nebo s jakýmkoliv dotazem, neváhejte kontaktovat naši zákaznickou podporu, která vám poradí a pomůže. Naši odborníci s certifikací DigiCert Security Sales Expert Plus jsou k dispozici každý všední den v běžnou pracovní dobu.

Kontaktovat nás můžete také přímo z vašeho zákaznického účtu zasláním požadavku z menu Autorizovaný požadavek.

FAQ - často kladené otázky

Není. Code Signing není vydáván pro doménu, ale pro konkrétní organizaci. Název této organizace má v Common name.

Certifikátem DigiCert Code Signing lze podepsat různé typy softwaru a skriptů, aby bylo zajištěno, že pocházejí z důvěryhodného zdroje a nebyly po vydání změněny.

✅ Co lze podepsat:

  • Spustitelné soubory: .exe, .dll, .ocx, .msi, .cab
  • Ovladače pro Windows (WHLK/HLK)
  • Java aplikace: .jar
  • Makra a VBA skripty v Microsoft Office
  • PowerShell skripty: .ps1
  • macOS aplikace a balíčky (přes Apple Developer ID)
  • Adobe AIR aplikace
  • .NET aplikace a knihovny
  • Skripty a instalátory v různých prostředích

⚠️ Co nelze podepsat:

  • Kód vyžadující kvalifikovaný elektronický podpis dle eIDAS
  • Soubory, které nejsou určeny k distribuci
  • Formáty a platformy, které nepodporují digitální podpis

Ano, časově označený (timestampovaný) kód zůstává platný i po vypršení certifikátu. Pokud při podepisování použijete časové razítko (timestamp), systém ověří, že byl kód podepsán v době platnosti certifikátu. Díky tomu je podpis nadále důvěryhodný. Bez použití timestampu je nutné kód znovu podepsat novým certifikátem.

Viz článek Instructions for timestamping VBA code na webu DigiCert.com

Ne, certifikátem můžete podepsat nekonečný počet aplikací. Když máte Code Signing certifikát na tokenu, tak můžete podepisovat neomezeně. Počet podpisů se zohledňuje pouze v cloudových službách:

Podepisování pomocí Code Signing certifikátu je jednoduché a rychlé. Využívá tzv. hash-based signing, kdy se ze souboru nejprve vypočítá hash, který je následně odeslán do cloudu k podepsání. Samotný soubor se nikam nepřenáší – do podpisu se vrátí pouze podepsaný hash. Díky tomu je celý proces bezpečný a efektivní.

Hash signing pomocí cloudu můžete využít u těchto produktů:

  • DigiCert KeyLocker - více informací zde.
  • Software Trust Manager - více informací zde.
  • Alternativou je vložení certifikátu např. do Azure Key Vaultu; více informací v návodu.

Byl tento článek pro vás užitečný?