Autor Téma: Podepisování aplikací  (Přečteno 7529 krát)

Offline pepak

  • Padawan
  • ******
  • Příspěvků: 1559
  • Karma: 37
    • Pepak.net
Re:Podepisování aplikací
« Odpověď #15 kdy: 17-03-2016, 07:16:01 »
To jsem zatím neměl příležitost otestovat - přece od toho, abys nemusel řešit konec platnosti, dáváš ke každému podpisu i časové razítko.

Offline < z >

  • Administrátoři
  • Guru
  • *****
  • Příspěvků: 1174
  • Karma: 44
    • Verze Delphi: 7, 2010
Re:Podepisování aplikací
« Odpověď #16 kdy: 17-03-2016, 08:02:19 »
Mě zajímalo to levné StartSSL, protože se někde psalo, že ani časové razítko nepomáhá. Což by asi nebylo příjemné.

StartSSL certificates “contain the enhanced key usage (EKU) attribute “Lifetime Signing” (1.3.6.1.4.1.311.10.3.13), which causes the file signatures to expire when the certificate expires, regardless of any timestamps”.

Offline ps

  • Mladík
  • **
  • Příspěvků: 61
  • Karma: 4
Re:Podepisování aplikací
« Odpověď #17 kdy: 26-03-2016, 07:50:35 »
Používam startssl Class 3 OV SSL funguje to bezproblémovo (ak odrátaš, že cca 80 percent tie ich služby nefungujú poriadne :) ). Pre časovú pečiatku už nepoužívam StartSSL(ale iný timestamp server), keďže naozaj keď najviac to potrebuješ tak StartSSL proste nefunguje :(

Ak expiruje cert tak už vytvorený EXE bezproblémov Windows 10 ponúkne na inštalovanie (teraz som vyskúšal aj Edge prehliadač, ale nemám úplne čistý Windows 10).

Edit: Ono je to aj logické, lebo podpisuješ ten kód a keď v tom čase kedy bol časovou pečiatkou podpísaný ten kód a bol vtedy platný cert tak je to OK. Niekde sa to dá nájsť aj v tom MS webe (Microsoft Authenticode Technology).
« Poslední změna: 26-03-2016, 07:59:11 od ps »
IDE: Latest Delphi - Mobile, Lazarus - Desktop, OS:Win 10 ,Linux Mint

Offline pepak

  • Padawan
  • ******
  • Příspěvků: 1559
  • Karma: 37
    • Pepak.net
Re:Podepisování aplikací
« Odpověď #18 kdy: 27-03-2016, 14:16:44 »
Edit: Ono je to aj logické, lebo podpisuješ ten kód a keď v tom čase kedy bol časovou pečiatkou podpísaný ten kód a bol vtedy platný cert tak je to OK.
Tak to se mýlíš. Jedním z důvodů, proč mají certifikáty omezenou časovou platnost, je i to, aby se vyloučila možnost, že časem bude možné starší podepisovací algoritmus prolomit a dříve platný podpis zfalšovat. Proto jakmile jednou uplyne platnost certifikátu, musí být podpis automaticky považován za neplatný. Časová razítka jsou nástroj, jak tu dobu prodloužit - je to jen další podpis, který potvrzuje, že v čase X podpis souboru platil, a bude platit až do vypršení platnosti časového razítka. Pokud bys chtěl ještě delší platnost, tak soubor s platným časovým razítkem přerazítkuješ novějším razítkem s delší platností - tím potvrdíš, že to původní razítko platilo v čase Y, a to původní razítko stále potvrzuje, že podpis platil v čase X...

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 1301
  • Karma: 51
    • Verze Delphi: 10.3
Re:Podepisování aplikací
« Odpověď #19 kdy: 27-03-2016, 21:32:05 »
A jak se to tedy správně řeší, abych kupř. mohl dnes zákazníkovi na DVD vypálit instalátor a on si tu aplikaci mohl za 15 let nainstalovat? (Opravdu mám pár zákazníků, kteří používají aplikaci z roku 2000 - je to na tisk etiket na jehličkových tiskárnách.)

Offline pepak

  • Padawan
  • ******
  • Příspěvků: 1559
  • Karma: 37
    • Pepak.net
Re:Podepisování aplikací
« Odpověď #20 kdy: 28-03-2016, 08:20:19 »
A jak se to tedy správně řeší, abych kupř. mohl dnes zákazníkovi na DVD vypálit instalátor a on si tu aplikaci mohl za 15 let nainstalovat? (Opravdu mám pár zákazníků, kteří používají aplikaci z roku 2000 - je to na tisk etiket na jehličkových tiskárnách.)
Časová razítka typicky mají hodně dlouhou platnost, někdy i deset let. Potom je potřeba přerazítkovat (ale to si může udělat zákazník sám, respektive můžeš mu na to připravit krátký skript).

Offline pepak

  • Padawan
  • ******
  • Příspěvků: 1559
  • Karma: 37
    • Pepak.net
Re:Podepisování aplikací
« Odpověď #21 kdy: 28-03-2016, 08:31:51 »
Hmm, zajímavé, udělal jsem rychlý test a vypadá to, že moje aktuální Windows takový podpis nevezmou jako platný podpis, ale jako podpis udělaný až po uplynutí doby jeho platnosti, tzn. neplatný. Nemám teď čs a chuť zjišťovat detailně, jestli to je specifikum aktuálních Windows nebo aktuálních nástrojů nebo Authenticode, každopádně teď to zjevně nefunguje. V tom případě asi nezbývá, než aby si zákazník buď nechal od tebe podepsat starou verzi, nebo aby si sehnal code-signing certifikát a podepsal si to sám.

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 1301
  • Karma: 51
    • Verze Delphi: 10.3
Re:Podepisování aplikací
« Odpověď #22 kdy: 28-03-2016, 21:46:38 »
Já se tomu podepisování zatím vyhýbal, obávám se, že do budoucna ale stejně nebude zbytí. Každopádně pravděpodobnost, že by si zákazník pořídil code signing certifikát a sám si aplikaci po x letech přepodepsal, je téměř nulová. Já mu ji v případě nouze přepodepsat můžu, ale na to se přeci nedá spoléhat.

Co přesně se vlastně stane, když má aplikace už prošlý certifikát? Aby uživatel nebyl v horší situaci, než když aplikace není podepsaná vůbec...