GNU/Linux >> Linux Esercitazione >  >> Linux

Come firmare un'applicazione Mac OS X in Linux?

Uso un prodotto chiamato install4j per creare i file DMG per la mia app. Il codice firma correttamente l'app all'interno del file DMG e può farlo da sistemi operativi diversi da macOS.

Attenzione però:install4j non è un software gratuito ed è piuttosto costoso.


Puoi aggirare il problema firmando solo JavaApplicationStub e info.plist della tua applicazione ed escludendo la cartella "Resources" dalla firma. Quindi dovresti modificare il processo di compilazione per utilizzare il contenitore pre-firmato. Ovviamente questo non è il senso del codesign, ma funzionerà;-)

Per raggiungere questo obiettivo, procedi come segue:

  • crea la tua .app come al solito
  • spostalo sul tuo Mac
  • crea un file "ResourceRules.plist" con i seguenti contenuti:

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>
  • ora firma con i seguenti comandi:CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/usr/bin/codesign_allocate"codesign -s "Certificate Name" --resource-rules ResourceRules.plist -fv MyApp.app

  • Quindi elimina tutto in Risorsa e verifica la firma (codesign -v -v MyApp.app). Vedrai che è ancora valido

  • Usa lo stub firmato completo nel tuo processo di compilazione. Puoi cambiare tutto in Risorse ma non puoi cambiare info.plist.


Non esiste un modo documentato per firmare il codice di un'applicazione Mac OS X in Linux.

L'unico modo che ho trovato per farlo finora è usare SSH in un Mac e usarlo.

D'altra parte, secondo @Steve McLeod (https://stackoverflow.com/a/55906962/28190) il pacchetto di installazione install4j offre questo:

Firma del codice integrata su Windows e Mac OS X . Nella sezione "Impostazioni generali", install4j ora ha una scheda "Firma del codice" in cui è possibile configurare i certificati di firma del codice per Windows e Mac OS X. Il codesign verrà applicato a tutti i lanciatori e alle applicazioni di installazione nei file multimediali corrispondenti. Le implementazioni per la firma del codice sono multipiattaforma, quindi puoi firmare file multimediali Windows e Mac OS X da un server di build Linux, ad esempio.

Quindi deve essere tecnicamente possibile.


Linux
  1. Come modificare l'indirizzo MAC utilizzando macchanger su Kali Linux

  2. Come generare una richiesta di firma del certificato (CSR) su Linux

  3. Come trovare l'applicazione per un tipo Mime su Linux?

  4. Screenshot di Linux, come prenderli come un mac

  5. Come si confronta la riga di comando di Mac con Linux?

Come abilitare l'opzione "Modifica" nell'applicazione Shutter in Linux

Come digitare il segno della rupia indiana (₹) in Linux

Come modificare l'indirizzo MAC di rete in Linux

Come modificare l'indirizzo MAC in Linux

Come installare il software Windows su Linux con Bottles

Come cancellare la cronologia di Bash in Linux e Mac