Podepisování aplikačního kódu

Podepisování aplikačního kódu
« kdy: 01. 03. 2024, 10:00:38 »
Dobrý den,

plánuji publikovat svoji aplikaci na Windows Storu a k tomu je potřeba mít msix bundle podepsaný certifikátem. Ten lze za nemalé prostředky získat od zahraničních autorit typu Digicert. Napadlo mě ale, že jelikož máme v Česku poměrně vyspělé služby týkající se identit typu mojeID, bankovní identita, atd. Zda není možné využít některou z těchto služeb k prokázání identity a navazujícímu vystavení certifikátu, který by bylo možné využít pro takové podepisování kódu.

Víte někdo o takových možnostech? Resp. jaká je nejlevnější cesta k možnosti publikovat na Windows Storu a podobných? Kterou službu si platíte vy?


Díky


Re:Podepisování aplikačního kódu
« Odpověď #1 kdy: 01. 03. 2024, 10:30:02 »
EDIT:

V rámci Androidu vystavuje Google svoje certifikáty prostřednictvím Android Studio.
V rámci Iphone    vystavuje Apple   svoje certifikáty prostřednictvím Xcode.

Nenašel jsem ale ekvivalent pro Microsoft Windows v rámci Visual Studio. Možná jsem to jen nenašel? Může mě někdo nasměrovat?

Re:Podepisování aplikačního kódu
« Odpověď #2 kdy: 01. 03. 2024, 10:33:56 »
Nejsem si vědom autority, která by u nás vydávala uznávaný Code Signing certifikát. Certifikáty, které jsou vydávané obdobnými certifikačními autoritami jako PostSignum / I.CA jsou nanejvýš důvěryhodné v EU. V tomto případě potřebuješ certifikát, který je platný a uznávaný mezinárodně i mimo EU, takový ti ale naše certifikační autority nevydají.

Jak jsi zmiňoval, cesta vede skrze Digicert/Sectigo či obdobnou důvěryhodnou CA. Jelikož budeš aplikaci publikovat skrze Microsoft store, nepotřebuješ EV - postačí ti OV/IV

Re:Podepisování aplikačního kódu
« Odpověď #3 kdy: 01. 03. 2024, 14:23:42 »
Ty služby elektronické identifikace zajišťují identitu z pohledu práva v EU. Nevím o žádné certifikační autoritě, která by s touto identitou pracovala mimo legislativní prostor EU. Uznávané certifikační autority mají svoje postupy, jak identitu ověřovat, které jsou zpravidla podstatně starší, než eIDAS. I kdyby nějaká autorita uměla použít eIDAS identitu, pravděpodobně kvůli tomu ten certifikát nezlevní. Tj. je potřeba některá důvěryhodná CA poskytující Code signing certifikáty. Jsou i přeprodejci v ČR, třeba SSL Market od Zoneru. SSLmentor nabízí nejlevnější code signing certifikát hodně levně  –ale nemám s nimi žádnou zkušenost, jen to na mne teď vypadlo z Google.

Re:Podepisování aplikačního kódu
« Odpověď #4 kdy: 03. 03. 2024, 11:22:18 »
Díky za informace. Půjdu cestou ssl mentora, a toho jejich Certum poskytovatele. Je to pro mě nová oblast a doufal jsem, že to bude podobné jako s webem - lets encrypt.. No, nedá se nic dělat a budu pěkně cálovat :)


Re:Podepisování aplikačního kódu
« Odpověď #5 kdy: 03. 03. 2024, 11:37:04 »
DNS certifikáty se dají zautomatizovat, stačí nějak prokázat držení domény – záznamem v DNS, vystavením souboru na webu na dané doméně, třeba i reakcí na e-mail zaslaný na danou doménu.

Code signing certifikáty ale ověřují osobu nebo firmu, tam zatím žádná automatizace udělat nejde. A když to nemůže být automatizované, nedá se to udělat tak levně, aby to utáhli jen sponzoři, jako v případě Let's Encrypt.

Re:Podepisování aplikačního kódu
« Odpověď #6 kdy: 03. 03. 2024, 11:40:14 »
Pouzival jsem na podepisovani .msi baliku/.dll klic od CERTUM CA.
Bylo to podobny jako u Revolut, oskanujes Obcanu, ridicak. Oni ti to schvali, ty zaplatis a oni ti poslou certifikat.

Oni pak ale utahli srouby a dali si podminku, ze ke klici je potreba koupit i jejich HW klic a to uz na me bylo drahy.
Navic pulka stranek byla jen v polstine nejak jsem se na tom jejich webu ztratil.

RDa

  • *****
  • 2 567
    • Zobrazit profil
    • E-mail
Re:Podepisování aplikačního kódu
« Odpověď #7 kdy: 03. 03. 2024, 11:47:52 »
EDIT:

V rámci Androidu vystavuje Google svoje certifikáty prostřednictvím Android Studio.
V rámci Iphone    vystavuje Apple   svoje certifikáty prostřednictvím Xcode.

Nenašel jsem ale ekvivalent pro Microsoft Windows v rámci Visual Studio. Možná jsem to jen nenašel? Může mě někdo nasměrovat?

Mame aplikaci ve Windows Storu (i v App Store na applu) a podpisuje se to nejak samo oboji.
Duvera je implicitni tim, ze to pochazi ze store (a nejspis tohle bude reflektovano i v certifikacnim retezci).

To podepisovani placenym certifikatem je potreba jen pro aplikace a drivery ktere jdou mimo Store, protoze pri individualni distribuci tam neni ona duvera.

ZAJDAN

  • *****
  • 2 083
    • Zobrazit profil
    • E-mail
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

Re:Podepisování aplikačního kódu
« Odpověď #9 kdy: 03. 03. 2024, 16:56:42 »
Oni pak ale utahli srouby a dali si podminku, ze ke klici je potreba koupit i jejich HW klic a to uz na me bylo drahy.
Není to náhodou už podmínka Microsoftu pro všechny code signing certifikáty, že privátní klíč musí být neexportovatelný a uložený na certifikovaném zařízení? Mám pocit, že na tokeny nebo čipové karty pro code signing certifikáty přecházely všechny certifikační autority.

Re:Podepisování aplikačního kódu
« Odpověď #10 kdy: 03. 03. 2024, 17:13:17 »
Asi to bude pravda, nám už teď nově taky code signing certifikát firma neposlala jako soubor, ale jen jako odkaz na Azure Key Vault.

Re:Podepisování aplikačního kódu
« Odpověď #11 kdy: 03. 03. 2024, 20:38:34 »
Asi to nieje co hladas ale MS ma moznost nechat overit SW tu https://www.microsoft.com/en-us/wdsi/filesubmission
a potom uz windows povazuju tvoju app za doverihodnu. Takze ak si ju zakaznik stiahne do PC uz to nevaruje ze je nedoverihodna a povoli instalaciu.

RDa

  • *****
  • 2 567
    • Zobrazit profil
    • E-mail
Re:Podepisování aplikačního kódu
« Odpověď #12 kdy: 03. 03. 2024, 20:46:51 »
Takze jak jsem psal vejs - appky v MS Store podepisuje sam Microsoft

https://stackoverflow.com/questions/62454285/can-i-code-sign-a-windows-store-app-with-a-trusted-code-signing-certificate

@popelar - proc vubec hledas jak neco podpisovat?

Tvoris to v necem jinem nez visual studiu, ktere ti primo vygeneruje  package ktery dropnes do webove spravy aplikaci v ms store?