Ich versuche productsign
zu verwenden, um ein XAR
Archiv zu signieren, das 2 pkg
Dateien enthält, die mit productbuild
erstellt wurden. Das Tool xar
erstellt die Datei korrekt, aber ich denke, die Signierung korrumpiert den Inhalt, obwohl die erhaltene Datei signiert ist. Einige relevante Befehlsausgänge unter (I die sensiblen Daten mit INFO
ersetzt):Eine XAR-Datei signieren, die die Archivdatei korrumpiert
$ ls .
file1.pkg file2.pkg
$
$ xar -cf '../_file.xar' .
$
$ cd ..
$ /usr/bin/productsign --sign 'Developer ID Installer: INFO' '_file.xar' 'file.xar'
productsign: using timestamp authority for signature
productsign: signing product with identity "Developer ID Installer: INFO" from keychain /Users/INFO/Library/Keychains/login.keychain
productsign: adding certificate "Developer ID Certification Authority"
productsign: adding certificate "Apple Root CA"
productsign: Wrote signed product archive to file.xar
$
$ /usr/sbin/pkgutil --check-signature 'file.xar'
Package "file.xar":
Status: signed by a certificate trusted by Mac OS X
Certificate Chain:
1. Developer ID Installer: INFO
SHA1 fingerprint: INFO
-----------------------------------------------------------------------------
2. Developer ID Certification Authority
SHA1 fingerprint: INFO
-----------------------------------------------------------------------------
3. Apple Root CA
SHA1 fingerprint: INFO
$ file file.xar
file.xar: xar archive - version 1
$
$ xar -xf file.xar -D /tmp
Error while extracting archive:(file1.pkg): Error decompressing file
$
Ist der productsign
Befehl auf andere Weise arbeiten soll? Ich verstehe nicht, was mit meiner Vorgehensweise falsch ist.