Come rendere distribuibile un dmg modificato?

4

Aggiunta di file a un dmg e ridistribuzione

Scopo:

Aggiunta di alcuni file di impostazioni a firefox.dmg (mozilla.cfg e policies.json) nell'obiettivo di ridistribuzione del dmg modificato

Come viene modificata la dmg:

  • Decompressione del dmg con strumenti come (hdiutils / ultraiso / transmac / dropdmg / disk-utilities)
  • Montaggio e aggiunta di file al dmg decompresso
  • Opzionale (ricomprimere il dmg con gli stessi utils usati per decomprimere)

Problema:

L'apertura del nuovo dmg in una macchina diversa dà il risultato "firefox" is damaged and can't be opened, you should move it to trash

Che cosa è stato testato:

  • Rimuovere l'attributo com.apple.quarantine con il comando xattr -c funziona ma non è una soluzione affidabile
  • Si è tentato di rimuovere _CodeSignature directory dal dmg senza successo
  • Creazione di un nuovo dmg contenente i file del precedente senza successo
  • Ho provato a modificare Info.plist senza successo

Domanda:

Come rendere il nuovo pacchetto dmg utilizzabile su altre macchine? (Come evitare l'errore dal gatekeeper senza utilizzare xattr -c )

    
posta intika 26.11.2018 - 18:30
fonte

2 risposte

4

Firma del codice DMG di Apple:

Firmare un'applicazione Apple richiede il pagamento del programma di sviluppo di Apple (99 $), può essere fatto liberamente ma per uno scopo limitato.

La firma di dmg può essere eseguita in due modi:

  • Firma il file dmg stesso

  • Firma la directory Application.app all'interno dell'immagine dmg

Modifica dei file DMG firmati:

Ecco 3 possibili modi per modificare le applicazioni firmate:

  1. Riduci l'applicazione dopo l'edizione

  2. Rimuovi completamente la firma e modifica l'applicazione (l'applicazione sarà ancora installabile l'utente verrà avvisato)

  3. Rimozione dell'attributo com.apple.quarantine con il comando xattr -c dopo aver modificato l'applicazione

Verifica firma:

A seconda della situazione sono richiesti uno o entrambi i comandi

codesign -v Application.app
codesign -v Application.dmg

Rimozione della firma dell'applicazione

Dopo aver estratto il dmg ecc. A seconda della situazione sono richiesti uno o entrambi i comandi

codesign --remove-signature Application.app
codesign --remove-signature Application.dmg

Spiegazione dell'errore:

Il Application is damaged and can't be opened, you should move it to trash è il risultato di una rimozione della firma parziale, perché la rimozione delle directory _CodeSignature non è sufficiente per sbarazzarsi della firma; codesign --remove-signature deve essere eseguito anche sul pacchetto / applicazione / binario

Conferenza correlata:

Crea dmg - Crea dmg dalla directory - Aggiungi firma a dmg - Rimuovi firma - Applicazione danneggiata - Come codificare il segno - Sviluppatore gratuito - Firma gratuita

    
risposta data 27.11.2018 - 04:25
fonte
2

Non è possibile modificare il DMG e farlo passare ancora attraverso GateKeeper senza firmarlo di nuovo. Questo è fondamentalmente l'intero motivo per avere la firma del codice!

Fondamentalmente hai tre opzioni:

1) Rimuovi la vecchia firma del codice e ri-firma il DMG con la tua firma. Ciò richiede di essere iscritti al Programma per gli sviluppatori di Apple.

2) Distribuisci il DMG originale non modificato e accompagnalo con le tue modifiche. Questo potrebbe essere fatto come istruzioni per l'utente su cosa copiare, oppure potrebbe essere sotto forma di script automatico.

3) Rimuovi completamente le firme (sia dal DMG che dall'app). L'utente deve quindi avere GateKeeper impostato per consentire l'apertura di applicazioni non firmate (ad esempio, l'utente verrà richiesto alla prima apertura).

    
risposta data 26.11.2018 - 23:19
fonte

Leggi altre domande sui tag