Come creare un certificato di firma del pacchetto Apple Installer

5

Come possiamo creare un certificato con la seguente estensione di utilizzo della chiave estesa usando OpenSSL?

Extended Key Usage extension, critical, with a purpose containing Developer ID Installer Package Code Signing (1.2.840.113635.100.4.13)

Lo strumento per sviluppatori di Apple productsign richiede che il certificato di firma sia conforme al profilo Certificato di firma del pacchetto di installazione descritto in ID sviluppatore della dichiarazione di certificazione dell'autorità di certificazione ID sviluppatore (pagina 14 di 18).

Desidero firmare le nostre anteprime dei prodotti con i nostri certificati, piuttosto che quelli rilasciati da Apple.

    
posta Graham Miln 31.07.2012 - 14:53
fonte

2 risposte

2

Una documentazione di copia-incolla per me stesso. Per ulteriori informazioni sulle estensioni del certificato, consulta l'ID dello sviluppatore di Apple Dichiarazione sull'esperimento di certificazione .

  1. Crea apple.conf con il seguente contenuto:

    [ req ]
    distinguished_name = req_name
    prompt = no
    [ req_name ]
    CN = my-test-installer
    [ extensions ]
    basicConstraints=critical,CA:false
    keyUsage=critical,digitalSignature
    extendedKeyUsage=critical,1.2.840.113635.100.4.13
    1.2.840.113635.100.6.1.14=critical,DER:0500
    
  2. Genera la chiave:

    openssl genrsa -out apple.key 2048

  3. Crea il certificato autofirmato:

    openssl req -x509 -new -config apple.conf -nodes \
    -key apple.key -extensions extensions -sha256 -out apple.crt
    
  4. Avvia la chiave e il certificato in PKCS # 12:

    openssl pkcs12 -export -inkey apple.key -in apple.crt -out apple.p12

  5. Importalo nel portachiavi con open apple.p12 . Seleziona "Fidati sempre".

  6. Utilizza il certificato per firmare i programmi di installazione:

    productbuild --sign "my-test-installer" ...

risposta data 01.01.2014 - 12:21
fonte
1

Per aggiungere estensioni in un certificato emesso con OpenSSL, è necessario utilizzare un "file di configurazione" che contiene il valore dell'estensione. Vedi questa pagina per una descrizione (esiste una sezione sull'estensione Extended Key Usage ). Il file di configurazione viene quindi utilizzato con il comando openssl ca , con i flag di riga di comando -config e -extensions (vedere la documentazione ).

    
risposta data 13.01.2013 - 21:29
fonte

Leggi altre domande sui tag