1

を使用して作成された 2 つのファイルを含むアーカイブproductsignに署名するために使用しようとしています。ツールはファイルを正しく作成していますが、取得したファイルが署名されていても、署名によってコンテンツが破損していると思います。以下の関連するコマンド出力の一部 (機密情報を に置き換えました):XARpkgproductbuildxarINFO

$ 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
$

コマンドはproductsign他の方法で機能することを意図していますか? 私のアプローチの何が問題なのかわかりません。

4

1 に答える 1

2

いくつかのテストの後xar、アーカイブ内で相対パスを使用していることがわかったので、私の場合"../"、パス名内で使用したために問題が発生しました。

于 2016-12-08T16:13:29.570 に答える