Firma un pacchetto flat con certificato non Apple

1

Ho un programma che ho portato dall'ambiente Windows a macOS. Vorrei firmare il flat installer .pkg con lo stesso certificato che ho usato su Windows, che è valido e concesso da DigiCert.

Ho creato un portachiavi in Accesso Portachiavi, ho importato il certificato e l'ho salvato localmente come company.keychain . Ho controllato le informazioni e ho visto che il Common Name del soggetto è, ad esempio, "Company & Co'. Quando provo a firmare con:

productsign --sign "Company & Co" --keychain company.keychain --timestamp=none unsigned.pkg signed.pkg

Si verifica il seguente errore:

productsign: error: Could not find appropriate signing identity for "Company & Co" in keychain at company.keychain.
An installer signing identity (not an application signing identity) is required for signing flat-style products.

L'ho cercato e, anche se la pagina productsign man non lo suggerisce, sembra che per firmare un pacchetto flat il certificato debba essere un certificato Apple Developer ID Installer: Company name emesso da Apple stessa. Poiché ogni post sull'argomento su StackExchange è piuttosto vecchio, lo chiedo nuovamente: è così? In caso contrario, come faccio a capire se il certificato che ho a disposizione può firmare il pacchetto flat?

Note :

  1. Se apro il portachiavi, la voce "Company & Co" presenta il triangolo dell'estensione che mostra la chiave privata pertinente, quindi è in realtà un certificato "completo".
  2. Non ho bisogno di distribuire l'app su Apple App Store, il mio obiettivo è solo quello di impedire a Gatekeeper di lamentarsi del fatto che l'app non sia attendibile.
  3. Il pacchetto è stato creato con packagebuild e productbuild .
  4. Se riesco a firmare il pacchetto, devo firmare anche l'applicazione e le librerie dinamiche spedite all'interno?

Grazie per l'attenzione.

    
posta phagio 17.03.2017 - 13:07
fonte

1 risposta

0

Sì, è così. Il certificato deve essere un certificato Installer ID sviluppatore di Apple. Non è possibile utilizzare lo stesso certificato di firma del codice utilizzato in precedenza per l'applicazione Windows.

Puoi leggere le istruzioni su come firmare correttamente i pacchetti di installazione flat qui:

link

    
risposta data 17.03.2017 - 13:56
fonte

Leggi altre domande sui tag