KeePassXCは、Windows・macOS・Linuxで動くオープンソースのパスワードマネージャーです。パスワードやURL、添付ファイル、メモなどをKDBX形式の暗号化ファイルに保存し、オフラインで管理します。ブラウザ拡張機能やYubiKey、SSHエージェントとの連携機能も備えています。
src/CMakeLists.txtの構成を見ると、coreモジュール(Database、Entry、Group、PasswordGenerator、Totpなど)とcryptoモジュール(Crypto、SymmetricCipher、AesKdf、Argon2Kdf)、formatモジュール(Kdbx3/Kdbx4のReader・Writer、CsvParser、BitwardenReaderなど)が分離されています。データベースはcrypto/kdfでAES-KDFやArgon2により鍵導出し、streams配下のHashedBlockStreamやHmacBlockStreamで暗号化ブロックを構成、format配下のKdbxXmlReader/Writerでエントリ情報をXMLとしてやり取りします。Auto-Type機能はsrc/autotype/AutoType.cppが担い、OSごとにX11・Wayland・macOS・Windows向けの実装(AutoTypeXCB、AutoTypeWayland、AutoTypeMac、AutoTypeWindows)を切り替えて、対象アプリのウィンドウにキー入力を送出します。keys/drivers/YubiKey関連ファイルはUSBやPCSC経由でチャレンジレスポンス認証を扱う仕組みです。
- STEP 01
公式サイトかディストリのパッケージから配布バイナリを入手し、INSTALL.mdの手順に沿ってビルドまたはインストールする必要があります。
- STEP 02
初回起動時にはdocs/images/welcome_screen.pngのようなウェルカム画面が現れ、新規データベース作成か既存KDBXファイルを開くかを選ぶ流れになります。
- STEP 03
新規データベース作成では暗号化方式(AES・Twofish・ChaCha20)や鍵導出関数(AesKdfまたはArgon2)を選択するウィザードが表示されます。
- STEP 04
エントリを登録してAuto-Type機能を試すと、対象アプリのウィンドウにユーザー名とパスワードが自動入力される動作を確認できます。
- STEP 05
ブラウザ拡張機能を連携させる場合は、KeePassXC側の設定画面で拡張機能との接続を許可するダイアログが出て、対応ブラウザでパスワード自動入力ができるようになります。
- STEP 06
YubiKeyやSSHエージェント連携を試すには、該当ハードウェアの接続と、docs/topics内のSSHAgent.adocやBrowserIntegration.adocに記載された追加設定が必要です。
手元には、パスワードやTOTPシークレット、添付ファイルなどをまとめて暗号化保存したKDBXデータベースファイルと、それを開閉・検索・入力補助するデスクトップアプリが残ります。CLIツールkeepassxc-cliも使えるため、スクリプトからのエントリ取得やデータベース操作も可能になります。
ソースコードからのビルドにはQt、Botan、Argon2などの依存ライブラリが必要で、INSTALL.mdの手順を踏まないと単純なcmakeだけでは完成しません。
ブラウザ拡張連携やSecretService、SSHエージェントなど一部機能はOSやデスクトップ環境ごとに動作条件が異なり、Linuxではウィンドウシステム(X11かWayland)によって挙動が変わります。
Auto-Type機能はOSのウィンドウ管理APIに依存するため、Wayland環境など一部の構成では権限や動作に制約がある点に注意が必要です。
日常的に複数サービスのパスワードを一元管理したい個人利用者や、ブラウザ連携・YubiKey・SSHエージェントまで含めた統合運用をしたいチームに向いています。ソースの構成(core・crypto・format・autotypeの分離、Kdbx3/Kdbx4双方のReader/Writer実装、OS別Auto-Type実装)から見て、暗号化とデータ形式の扱いは体系立てて実装されていることが読み取れます。ただし実際のビルドや拡張連携の細かな挙動はOS環境に強く依存するため、この評価は構造理解に基づくものであり、体験の細部は公式ドキュメント(INSTALL.md、docs/topics以下)を併せて確認することをおすすめします。