Firma un'app per Mac

2

Sto lavorando per far firmare un'app per Mac. Non sarà disponibile nell'app store. Ho eseguito correttamente l'eseguibile codesign , credo, ma ricevo comunque l'avviso del gatekeeper. Domanda semplice:

Quando verifico la firma, ottengo il seguente risultato:

$ codesign --verify --verbose /Applications/My\ App.app
Applications/My App.app/: valid on disk
Applications/My App.app/: satisfies its Designated Requirement  

Niente di ciò mi porta a credere che ci sia un problema, ma immagino di non sapere veramente cosa dovrei vedere. Questa risposta indica che l'app è firmata o qualcos'altro?

    
posta Rob Wilkerson 30.05.2013 - 20:39
fonte

3 risposte

1

In base ai commenti, penso di avere qualcosa di simile a una risposta:

Penso che sarà il fatto che sia Thawte. Abbiamo un certificato Thawte per Windows e potremmo firmare con successo il software Mac con esso, ma Apple / MacOS l'ha trattato come se fosse autofirmato o firmato con un'autorità insufficiente.

Per la firma del Mac ci siamo iscritti al programma per sviluppatori Mac ($ 100 / anno) e ottenuto un certificato creato da Apple. Con questo, ad esempio, MacOS ha permesso alle persone di avviare l'app firmata quando è stata scaricata da Internet.

    
risposta data 31.05.2013 - 13:51
fonte
0

Hai ragione - codesign --verify --verbose è la modalità terminale per verificare che un pacchetto di applicazioni sia firmato correttamente. Mi piace anche passare l'app attraverso un display:

codesign --display --verbose=4 /path/to/App.app/

Ispezionando i dettagli, mi assicuro che sia stato selezionato il certificato di firma del codice corretto.

Puoi anche testare le cose modificando le tue impostazioni (o AirDropping del file su un Mac che non ha eseguito quell'app) per eseguire solo le app che sono state firmate - e facendo doppio clic sul Finder.

    
risposta data 30.05.2013 - 23:13
fonte
0

Vedi: Verifica delle app per un ID sviluppatore "GateKeeper"?

codesign -dvvv <path to app.app>

Should output something like:

Executable=/Volumes/Big Disk/F376/Projects/<My App>
Identifier=<My Bundle ID>
Format=bundle with Mach-O thin (x86_64)
CodeDirectory v=20100 size=3958 flags=0x0(none) hashes=189+5 location=embedded
Hash type=sha1 size=20
CDHash=761b0d1XXXXXXXXXX0dc8dd42e38eb445fb5341f
Signature size=8504
Authority=Developer ID Application: XXXXXX
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=May 7, 2013 3:07:59 PM
Info.plist entries=30
Sealed Resources rules=4 files=128
Internal requirements count=1 size=224

Solo un avviso, al momento, firmare con un certificato di firma codice valido di terze parti non supererà GateKeeper. Deve essere firmato con un certificato ID sviluppatore Apple . Vedi questo post per maggiori informazioni: link

    
risposta data 16.06.2014 - 18:45
fonte

Leggi altre domande sui tag