45

iOSアプリケーションプロジェクト用に自動ビルドサーバーを構成しています。私はそれのほとんどをしました。さて、それは最終ラウンドです。セキュリティ。

開発者証明書/秘密鍵とプロビジョニングプロファイルは、GUIを使用してキーチェーンに簡単にインストールできます。しかし、コマンドラインを介してこれを実行し、構成プロセスも自動化したいと思います。コマンドラインを介した証明書、秘密鍵、プロビジョニングプロファイルのエクスポート/インポート。

任意の推奨事項は非常に高く評価されます。

4

3 に答える 3

52

codesignに秘密鍵にアクセスするためのACLが与えられていないため、alwaysallowGUIがトリガーされています。これを試して:

security unlock-keychain -p <my keychain password>
security import Certificate.p12 -k ~/Library/Keychains/login.keychain -P password -T /usr/bin/codesign

-Tフラグは、Certificate.p12にインポートするキーにcodesignがアクセスできるようにすることをセキュリティに指示します。

于 2011-03-17T22:18:26.103 に答える
15

私はからヒントを見つけました:http: //lists.apple.com/archives/apple-cdsa/2010/Mar/msg00021.html

コマンドはsecurityです。マニュアルページを読んでいます。トライアル後にこの回答を更新します:)

- (編集) -

まず、キーチェーン内の証明書/キーへのアクセスを手動で「常に許可」する必要があります。GUIなしでこれを行う方法がわかりません。

そしてsecurity unlock-keychain、すべてのセッションでビルドツールを実行する前にコマンドを実行します。SSHを使用したので、ログインセッションごとに1回実行する必要がありました。

于 2010-12-06T17:58:14.267 に答える
1

コマンドラインを使用して証明書をインストールします。

security unlock-keychain -p <machine login password>
security import my_certificate.p12 -k ~/Library/Keychains/login.keychain -P my_password -T /usr/bin/codesign

モバイルプロビジョニングプロファイルをインストールします。

簡単な方法:

#install profiles, will trigger xcode to install the profile
open "my_profile1.mobileprovision"

# wait for xcode to process the request
sleep 3

# shut down xcode (optional)
kill $(ps aux | grep 'Xcode' | awk '{print $2}')

複雑な方法:

PROVISION_FILE ="my_profile.mobileprovision"

uuid=`security cms -D -i ${PROVISION_FILE } | grep -aA1 UUID | grep -o "[-a-zA-Z0-9]\{36\}"`

cp "$PROVISION_FILE " ~/Library/MobileDevice/Provisioning\ Profiles/$uuid.mobileprovision
于 2020-08-20T01:32:53.113 に答える