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
Je certifikát Code Signing vázaný na název mé domény?
Není. Code Signing není vydáván pro doménu, ale pro konkrétní organizaci. Název této organizace má v Common name.
Co všechno můžu podepsat?
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
Je časově označený kód platný i po vypršení certifikátu Code Signing?
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.
Jak mohu časově označit projekty VBA?
Viz článek Instructions for timestamping VBA code na webu DigiCert.com
Existuje omezení počtu aplikací, které mohu podepsat certifikátem Code Signing?
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:
- DigiCert KeyLocker - po dobu platnosti certifikátu máte 1000 podpisů, další můžete dokoupit.
- Software Trust Manager - podpisy se licencují na dobu smlouvy.
Jak se podepisuje pomocí certifikátu v cloudu?
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ů:
Mrzí nás, že jste zde nenašli potřebné.
Pomůžete nám článek vylepšit? Napiště nám, co jste zde očekávali a nedozvěděli se.