Letní akce! Lákají tě IT školení C#, Javy a PHP v Brně? Přihlas se a napiš nám do zpráv kód "BRNO 500" pro slevu 500 Kč na libovolný brněnský kurz. Lze kombinovat se slevami uvedenými u školení i použít pro více kurzů. Akce končí 28.7.
Avatar
švrčajs
Člen
Avatar
švrčajs:20.12.2017 20:14

Zdravím, mám takový dotaz, nevíte někdo jak se dá podepsat exe ? Jde mi o to, že si vytvořím exe a to následně používám v dalším programu pomocí procesů... Ale chtěl bych to nějak zabezpečit, aby se mi pak nespustilo exe, kdyby ho někdo prohodil s jiným a jen upravil jméno na stejné. Co jsem se zatím dočetl, tak nejlepší bude to podepsat certifikátem, ale vůbec nevím jak na to. Případně, až podepíšu exe soubor, tak jak by šlo dostat tento podpis v "nadřazeném" programu, ve kterém je dané exe spuštěné. A porovnat nějak podpis.

Nemám s tímto žádné zkušenosti, tak budu rád za každou radu ;)

 
Odpovědět 20.12.2017 20:14
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na švrčajs
Martin Dráb:20.12.2017 21:40

Zdravím, mám takový dotaz, nevíte někdo jak se dá podepsat exe ?

Slouží k tomu nástroj signtool, který se ovládá z příkazové řádky. Případně můžu dodat více detailů (myslím, že jsem už tady na fóru o tom něco psal, ale klidně napíšu to podstatné znovu).

Co jsem se zatím dočetl, tak nejlepší bude to podepsat certifikátem, ale vůbec nevím jak na to.

Záleží, jaký certifikát chceš. Pokud ti stačí self-signed (nedůvěryhodný pro svět), lze vygenerovat utilitou MakeCert (možná by šlo použít i něco jiného, třeba openssl, ale budeš možná muset převádět mezi formáty). Opět se ovládá z příkazového řádku. Pokud chceš certifikát, který bude brán za důvěryhodný (a tedy i jím generované podpisy), je třeba jej koupit. Zatím asi nejlevnější, co jsem viděl, dává autorita Certum (30 EUR pro OSS vývojáře). Jen je třeba si připravit občanku a nějaký účet (třeba za telefon) dokazující, že adresa na občance skutečně existuje.

tak jak by šlo dostat tento podpis v "nadřazeném" programu, ve kterém je dané exe spuštěné. A porovnat nějak podpis

Nevím, jak pro C#/.NET, ale existuje funkce WinVerifyTrust, která je schopná ti říci, zda-li je digitální podpis daného souboru důvěryhodný/va­lidní. Podobně lze získat další informace o podpisu (kterým certifikátem atd.).


Z jakého důvodu potřebuješ ověřit, že spuštíš to správné exe?

Nahoru Odpovědět 20.12.2017 21:40
2 + 2 = 5 for extremely large values of 2
Avatar
B42P6
Člen
Avatar
Odpovídá na švrčajs
B42P6:22.12.2017 16:37

Neviem čo konkrétne robíš, a či to bude spĺnať tvoje požiadavky, ale mám len taký návrh :-D Ak máš nejaký .exe súbor a chceš overiť, či to je ten istý .exe súbor ktorý si vytvoril, môžeš si urobiť hash toho .exe súboru a "napevno" ho zadať do zdrojáku, potom si urobíš druhý hash toho .exe súboru ktorý chceš spustiť, a tieto hash-e potom porovnáš a zistíš, či to je ten istý .exe súbor.

Nahoru Odpovědět  +2 22.12.2017 16:37
'long long long' is too long for GCC
Avatar
Odpovídá na B42P6
FiftypiSoftware:9. dubna 9:27

Je hash použito při šifrování SHA512 nebo je to úplně něco jiného než SHA?

 
Nahoru Odpovědět 9. dubna 9:27
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.