2011年8月6日土曜日

公開鍵のインポートが失敗したとき

秘密鍵はなんなくインストールできたのに、公開鍵がインストールできないという事態に。なので、とりあえずインポート先のMacにあった余計な証明書を削除しようとしたら、「ログイン」キーチェーン毎削除してしまうことに! なんという・・・

気を取り直して手動で「ログイン」キーチェーンを追加してみる。で、名前を馬鹿正直に「ログイン」と入れて作ったのだが、これは後で消す事になる。

さて、手製「ログイン」キーチェーンに秘密鍵を追加すると、これは難なく追加できた。だが、公開鍵を追加しようとすると、「エラーが発生しました。項目を読み込めません。」という冷徹なメッセージが表示される。なぜ?なに?こども図鑑でさえ載っていよう基本的な理由というのが、どこにもない。こういうエラーダイアログがパーソナルコンピュータから消える日は永久に来ないだろう。

そこで「エラーが発生しました。項目を読み込めません。」をググってみる。すると程なく、
OS X の Keychain Access.app に公開鍵をインポれない問題に遭遇。ありがとう!と喜び勇んでコマンドラインに向かうと、login.keychainというファイルが自分のマシンにはない!ことが判明。

「あ、ログインってloginかよ・・・」

Macは親切だ。言語環境に合わせてAqua上は日本語で表記してくれる。だが自分が名付けた「ログイン」をloginにはしてくれない。してくれないばかりか、ログイン.keychainすら見当たらない。おい、さすがにそれはおかしいだろう、だってキーチェーンアクセス(ユーティリティ)で見えてるんだから何かしらあるはずだろう?と独り言を良いながら、とりあえずログアウトしてログインしてみるか、と言うより早くログインし直し、~/Library/Keychains/を確認してみると、何と、

login.keychains
ログイン.keychains

と2つファイルが表示されるではないか!

さっそくキーチェーンアクセス(ユーティリティ)を開いてみると、なんと!

ログイン
ログイン
システム
システムルート

のように、「ログイン」が2つ表示されている!

をいをい。

どっちがどっちなんだ?と眉間に皺を寄せていると、凸然ツールチップが表示され、キーチェーンファイルのパスが表示された。おおこれで見分けがつく。どうやらさっきインポートした秘密鍵は手製「ログイン」にインポートされているようだ。そこでこれを勝手生成された「login.keychain」の「ログイン」に(キーチェーンアクセス上で)移動し、手製カタカナ「ログイン」の方を削除してみる。

ここで念のため、一旦ログインしなおし、内容を確認する。どうやらファイルはlogin.keychainだけだし、キーチェーンアクセスでも「ログイン」は1つになったようだ。

この状態でさっきのコマンドをぶち込んでみると、、、お〜何やらそれらしいメッセージが出た(1行ぺろっと。1 key importedだかなんだか忘れた)。キーチェーンアクセスでも見える。

よし。さあ、あとはこれでXcodeが言う事を聞くかどうかだが、、、まずはOrganizerを出して、エラーになってるProvisioning Profileを一旦削除して何もない状態にする(これが必要かどうかは分からないが)。続いてrefreshを行うと、ADCのアカウント入力を求められるので入力し、待つ事数十秒。どぅい〜、出来たじゃないか! エラーなくProvisioning Profileが表示されている。じゃあ本当にデバッグできるのか?ということで、何でも良いからプロジェクトを1個ビルドしてみると、、、出来た!

あ〜毎度毎度、本当に気が抜けないねー。

0 件のコメント:

コメントを投稿