Mar 28, 2007

コマンドラインからkeychain

mixi widgetでちょっと気になっていたパスワードの取扱い.keychainを使ってきちんと暗号化した状態で管理した方が正しいよなぁと思いつつ保留していました.JavaScriptからkeychainを直接たたくインタフェースは無いので, ちょっと面倒くさいですしね.

そんな事を思っていると, securityというkeychainのコマンドラインインタフェースがある事を知りました. widgetからコマンドを呼び出すのは簡単なので,これを使えば簡単に実装できるのではないかと思い, ちょっと調査してみました.

結局使えなかったのですが, 備忘録代わりにまとめておきます.

keychainでのパスワードには internet passwordとgeneric passwordの2種類があります.他のアプリとパスワードの共有をする予定はないので, generic passwordを使うのが良さそうです.そうすると使えるコマンドは以下の2つ.

  • add-generic-password
  • find-generic-password

addで加えてfindで見つける. 単純なインタフェースです.実際, 以下の感じで利用できます.

何も問題なさそうです. …が, ここでもう一度addすると…

とエラーがでてパスワードの変更ができません.既にエントリがある場合は, SeckeychainItemModifyAttributesAndData でエントリの変更を行なう必要があるのですが, securityコマンドにはmodify系のインタフェースが無いようです.さすがに, 一度設定したら変更不可という事はありえないので, securityコマンドを使ってmixi widgetをkeychain対応にするのはないかな…という感じですね.

No comments:

Post a Comment