2010-12-06 14 views
36

私は、iOSアプリケーションプロジェクトの自動構築サーバーを設定しています。 私はそのほとんどをやっています。さて、それは最終ラウンドです。セキュリティ。iOS開発用の開発者証明書/秘密鍵とプロビジョニングプロファイルをコマンドライン経由でインストールするにはどうすればよいですか?

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

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

+4

プロビジョニングプロファイルをインストールする方法はありますか?私は証明書のビットを釘付けにしましたが、もう片方のビットはまだ私を逃しています... – jkp

答えて

15

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

コマンドがsecurityです。私はマニュアルページを読んでいます。 (編集) - -

まず、我々は手動で一度キーチェーンに証明書/鍵へのアクセスを「常に許可」与える必要があり、私は裁判:)

後、後でこの答えを更新します。私はGUIなしでこれを行う方法を知らない。

すべてのセッションでビルドツールを実行する前に、コマンドsecurity unlock-keychainを実行してください。私はSSHを使用していたので、ログインセッションごとに一度実行しなければなりませんでした。

+5

証明書と鍵を追加するときに 'セキュリティのインポート'に-Aスイッチを使用して '常に許可する'アクセス権を与えます。 – Luke

+1

-Aオプションは、アプリケーションがこれらの証明書を使用できるようにするため、お勧めしません。より安全なものにするためには、上記の '-T/usr/bin/codesign'オプションを使用してください。これにより特定のアプリケーションが可能になります。他のオプションについては 'security import --help'を参照してください。 – atreat

46

codesignに秘密鍵にアクセスするためのaclが指定されていないため、常にGUIが起動されます。

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

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

+6

うん、これも私が探していたものです。私は、エラーメッセージ 'security:SecKeychainItemImport:ユーザーインタラクションは許可されていません。'が表示されていることに注意してください。上記のコマンドを実行しようとすると。キーチェーンのロックを解除するのを忘れました。ドー! 'security unlock-keychain'を実行すると、魅力的なように機能しました。 – awolf

+0

これは期待どおり動作しますが、もう少し必要です...私の証明書と鍵のペアは、元のAppleのものではありませんが、内部開発者向けに作成した自己署名入りの証明書です(実際に自分のマシン上の秘密鍵)。ここでは、証明書を常に信頼するようにKeyChainを設定する必要もあります。私はGUYでそれを行う方法を知っており、また、(インポート+トラスト)信頼できる証明書を追加する方法も知っています:security add-trusted-cert -k /Library/Keychains/System.keychain -d XXXX.cer - - ただし、このコマンドは.p12ファイルでは機能しません。どのように私はこれを行うことができます任意のアイデア? –

+0

アップデート:maOS Sierraの時点で、Ilian Ilievのフローに従ってください。 http://stackoverflow.com/questions/39868578/security-codesign-in-sierra-keychain-ignores-access-control-settings-および-ui-p – ablarg

関連する問題