2016-07-11 8 views
0

productsignを使用して、productbuildを使用して作成された2つのpkgファイルを含むXARアーカイブに署名しようとしています。 xarツールがファイルを正しく作成していますが、署名されたファイルが署名されていても、署名がコンテンツを破損していると思います。 (私はINFOと機密情報を交換し)以下 いくつかの関連するコマンド出力:productsysignでXARに署名すると、

$ 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コマンドですか?私は自分のアプローチに何が間違っているのか分かりません。

答えて

1

テストの結果、xarがアーカイブ内の相対パスを使用していることがわかりました。私の場合、パス名の内部に"../"を使用していたため問題がありました。

関連する問題