LoginSignup
3
2

More than 5 years have passed since last update.

キーチェーンから秘密メモを検索するツールを作った

Posted at

背景

僕はパスワード等の保存、共有にあたって、
Mac OS X標準搭載のキーチェーンアクセスの秘密メモ機能を使っています。
キーチェーン自体には共有機能が無いので1
別の手段で.keychainファイルを共有しています。
パスワード管理サービス等は流出事故などが怖いので使っていません。
最小限として、Appleのキーチェーンファイルの暗号化実装だけを信頼しています。

しかし、この構成だと不便な点があります。
検索機能が貧弱です。
キーチェーンアクセスの右上に検索ボックスがあるんですが、
これがタイトルしか検索してくれないため、
タイトルは思い出せないけど関連するメールアドレスとか関係者のユーザ名はわかるとか、
そういった場合に取っ掛かりがありません。
また、マウス操作も面倒です。
エントリをダブルクリックしてウィンドウを開いた後、
「メモを表示」のチェックボックスをクリックしないといけません。

そこで、キーチェーンの秘密メモのタイトルと本文から、
一括で検索するコマンドラインツールを作りました。

設計と実装

キーチェーン関係の操作は、Mac OS Xがsecurityというコマンドを提供してくれていています。
このコマンドのサブコマンドでいろいろできるんですが、
そのまま今回の要求に応えるものは無かったので、
これらを下請けにしたスクリプトをRubyで実装しました。

ツールのパッケージングについてはgemを使いました。
自前コマンドラインツールを適当なとこにインストールしてくれて、実行ファイルのパスも通るので楽で助かります。

完成品

以下に完成品を公開しました。

使用例

使用例です。
コマンド名がkcs、第一引数がキーチェーン指定、第二引数が検索キーです。
第二引数は正規表現が書けます。

出力はいろいろ目隠ししました。

$ kcs pass dropbox
====
keychain: /Users/omochi/xxxx...xxxx/password.keychain
title: Dropbox
--
omochi.metaru@gmail.com
xxxxxxxxxx

二段階認証緊急コード
xxxx xxxx xxxx xxxx


  1. iCloud同期機能はありますが、専用の1つのキーチェーンしか共有できないし、他の人との共有にも向いていません。 

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2