GNU/Linux >> Znalost Linux >  >> Linux

Jak podepsat aplikaci Mac OS X v Linuxu?

K vytváření souborů DMG pro svou aplikaci používám produkt s názvem install4j. Správně podepíše aplikaci v souboru DMG a může tak učinit z jiných operačních systémů než macOS.

Upozornění:install4j není svobodný software a ve skutečnosti je docela drahý.


Tento problém můžete obejít pouze podepsáním JavaApplicationStub a info.plist vaší aplikace a vyloučením složky „Resources“ z podepisování. Pak byste museli změnit proces sestavení tak, aby používal předem podepsaný kontejner. Samozřejmě to není smysl codesignu, ale bude to fungovat;-)

Chcete-li toho dosáhnout, proveďte následující kroky:

  • vytvořte si .aplikaci jako obvykle
  • přesuňte jej do počítače mac
  • vytvořte soubor "ResourceRules.plist" s následujícím obsahem:

ResourceRules.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>rules</key>
        <dict>
                <key>^Resources/</key>
                <false/>
                <key>^version.plist$</key>
                <true/>
        </dict>
</dict>
</plist>
  • nyní se podepište pomocí následujících příkazů:CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/usr/bin/codesign_allocate"codesign -s "Název certifikátu" --resource-rules ResourceRules.plist -fv MyApp.app

  • Poté smažte vše v Resource a ověřte podpis (codesign -v -v MyApp.app). Uvidíte, že je stále platný

  • V procesu sestavování použijte úplný podepsaný útržek. V Resources můžete změnit vše, ale nemůžete změnit info.plist.


Neexistuje žádný zdokumentovaný způsob podepisování kódu aplikace Mac OS X v Linuxu.

Jediný způsob, jak to zatím udělat, je SSH do Macu a jeho použití.

Na druhou stranu, podle @Steve McLeod (https://stackoverflow.com/a/55906962/28190) instalační balíček install4j nabízí toto:

Integrované podepisování kódu v systémech Windows a Mac OS X . V sekci „Obecná nastavení“ má install4j nyní záložku „Podepisování kódu“, kde můžete konfigurovat certifikáty pro podepisování kódu pro Windows a Mac OS X. Kodesign bude aplikován na všechny spouštěče a instalační aplikace v odpovídajících mediálních souborech. Implementace pro podepisování kódu jsou multiplatformní, takže mediální soubory Windows a Mac OS X můžete podepisovat například z linuxového sestavení serveru.

Takže to musí být technicky možné.


Linux
  1. Jak změnit MAC adresu pomocí macchangeru na Kali Linuxu

  2. Jak nainstalovat aplikaci Spotify na Linux

  3. Jak najít aplikaci pro typ mime v systému Linux?

  1. Jak zajistit, aby aplikace stále běžela na Linuxu

  2. Linuxové screenshoty, jak je pořídit jako mac

  3. Jak si stojí příkazový řádek Macu v porovnání s Linuxem?

  1. Jak zlepšit dobu spouštění aplikací v Linuxu

  2. Jak vygenerovat žádost o podpis certifikátu (CSR) v systému Linux

  3. dd výkon na Mac OS X vs. Linux