web-dev-qa-db-ja.com

Codesignが不明なエラー-1 = ffffffffffffffffを返しました

IOSアプリケーションのコード署名を試みました。これらは私が従った手順です

    security create-keychain -p password ${KEYCHAIN}
    security set-keychain-settings -u -t 300 ${KEYCHAIN}
    security list-keychains -d user -s login.keychain ${KEYCHAIN}
    security import "$1" -k ${KEYCHAIN} -A -P "${PASSPHRASE}" -A >/dev/null
    security unlock-keychain -p password ${KEYCHAIN}

    /usr/bin/codesign -f -s $IDENTITY --keychain $KEYCHAIN --entitlements $ENTITLEMENTS Payload/Test.app

これにより、Codesignがssh経由で不明なエラー-1 = ffffffffffffffffを返しました。

マシンでコード署名コマンドを直接実行すると、正常に署名されます。

この問題はMac OS Sierraでのみ発生します。

23
Madhu Avinash

少し前に同じ問題を抱えていましたが、

security set-key-partition-list -S Apple-tool:,Apple:,codesign: -s -k password ${KEYCHAIN}

私のためにそれを解決しました。

21
Gereon

同じ問題が発生しましたが、Xcodeから直接アーカイブしています。役立つ場合に備えてソリューションを共有します。

時々、キーチェーンが破損した状態で終わるようです。 MacOS Sierraも使用しています。

症状:

Xcodeの再起動後にアカウントにアクセスするには再ログインが必要 Relogin needed to access Accounts after restarting Xcode

一部の操作でキーチェーンアクセスを使用しているときにパスワードを要求する Prompting for password while using Keychain Access for some operations

キーチェーンアクセス-キーチェーンの設定を変更してログインキーチェーンにアクセス中にエラーが発生しました... Keychain Access - Error while accessing login keychain via Change Settings for Keychain ...

私にとってそれを修正するのは、関連するキーチェーン、loginのロックとロック解除(パスワードが必要)です。

20
Romano

私はここで言及したものよりもいくつかのことを試さなければならなかったのと同様にチップインするつもりです:問題はキーチェーンがSSHセッションを好きではないということでした。セッションで修正するにはこれらを実行する必要がありました。

security unlock-keychain -p MY_PASS ~/Library/Keychains/login.keychain
security set-key-partition-list -S Apple-tool:,Apple:,codesign: -s -k MY_PASS ~/Library/Keychains/login.keychain
security set-keychain-settings ~/Library/Keychains/login.keychain

また、XCodeからアカウントを削除することで現在の証明書システム/アカウント証明書を削除しました(構築にはfastlaneを使用しています)が、これが影響を与えてはならないと考えています。

6
Tadas Šubonis

@madhu同じ問題を修正しようとしていて、問題の証明書に関連付けられたキーのアクセス制御がJenkinsで機能しなかった「アクセスを許可する前に確認」に設定されていることがわかりました。 「キーチェーンアクセスGUI-情報の取得、アクセス制御」を「すべてのアプリケーションがこのアイテムにアクセスできるようにする」に変更し、ビルドが成功しました。

5
Simon H

KeyChainからp12などのファイルをエクスポートした可能性があります。OSがルートパスワードを要求し、それを拒否した場合、Xcodeはこの情報を使用して符号エラーをコーディングします。

もしそうなら、上記のアクションを繰り返し、パスワードを入力して「許可」をクリックする必要があります。そうすれば、コード署名をしても大丈夫です。

2
Dan Lee

これは、キーレスプロンプトが表示または応答できないため、ヘッドレスビルドで発生します。解決策は、事前にキーへのアクセスを許可することにより、プロンプトが表示されないようにすることです。

キーチェーンアクセスを開き、署名証明書のキーを見つけます(ログイン->証明書、次に証明書を展開してそのキーを表示します)。キーを右クリックして「情報の取得->アクセス制御」を選択し、「すべてのアプリケーションにこのアイテムへのアクセスを許可する」を選択します。

2
pmacro

私はほとんどすべての既存の提案をウェブ上で試しましたが、どれも助けになりませんでした...

最後に、プロビジョニングプロファイル(AdHoc用)を再生成し、再ダウンロードして~/Library/MobileDevice/Provisioning Profiles/既存のものを上書きすると、命が救われました。

ところで、AppStoreのビルドはこれまでずっと成功していたので、問題は間違いなくAdHocプロファイル自体にありました(どうやらナイスに見えたので、かなり奇妙です)。

0
RAM237

キーチェーンに適切な証明書と〜/ Library/MobileDevices/Provisioning Profilesの下に適切なプロビジョニングプロファイルをインストールしましたが。

私たちも見るかもしれません

unknown error -1=ffffffffffffffff

このエラーについて、以下の手順を試して問題を修正しました。

  1. マシンを再起動し、「securify unlock-keychain」を使用してキーチェーンをロック解除し、キーチェーンを再度ロックします
  2. 〜/ Library/Developer/Xcode/DerivedDataフォルダーを削除します。
  3. Carthage bootstrap --platform iOSを実行します
  4. ワークスペースを同期するソースコードを開き、「xattr -rc」を実行します。次に、xcodeで.xcodeprojectファイルを開きます。
  5. 各ターゲットの自動署名をオンにしました。有効な資格情報でログインする必要があります。
  6. 署名の下にあるプロビジョニングプロファイルをクリックします。
  7. キーチェーンを再度ロック解除します
  8. ビルドデバイスを[汎用デバイス]に変更し、[製品]-> [クリーン]、[製品] –> [アーカイブ
  9. キーチェーンアクセス許可が表示されますので、[常に許可]をクリックします。
  10. アーカイブが成功したことを確認してから、Jenkinsジョブを再度トリガーする必要があります。
0
Its not blank