web-dev-qa-db-ja.com

Ubuntu Oneを備えたデバイス間でGNOMEキーリングを同期する

独自のキーリングを作成して使用するアプリを作成しました。すべてのLinuxデバイスで同じパスワードが使用できるように、秘密鍵属性を持つキーリングとU1を介したすべての同期が必要です。

  1. U1がユーザーシステムにセットアップされているかどうかをどのように判断しますか?
  2. U1には、ユーザーのキーリングを同期するためのオプションがありますか?そうでない場合、好ましいプログラム的アプローチは何でしょうか?
  3. セキュリティを確保するために、U1を使用する際の特別な考慮事項は何ですか?何かありますか、またはこれは開発者がU1に結び付けたものです。

http://binbrain.github.com/OpenSesame/

上記の質問をカバーする公式文書またはポインターを探しています。

6
Jim Pharis

OK。キーリングは$ HOME/.gnome2/keyringsに保存されます。

そのため、マシン間でキーリングを同期する明白な方法は...そのフォルダーをU1で同期フォルダーとしてマークするだけです。 APIは必要ありません!

もちろん、それはallあなたのキーリングを同期しますが、これはしたくないと思います。したがって、次のステップは次のとおりです。

  1. 独自のファイル~/.gnome2/keyrings/yourkeyring.keyringにあるキーリングを作成します
  2. アプリのどこかにフォルダーを作成します-~/.local/share/yourapp/keyrings
  3. ~/.gnome2/keyrings/yourkeyring.keyring~/.local/share/yourapp/keyringsに移動します
  4. ~/.gnome2/keyrings/を指す~/.local/share/yourapp/keyrings/yourkeyring.keyringにシンボリックリンクを配置します
  5. ~/.local/share/yourapp/keyringsをUbuntu Oneとの同期フォルダーとしてマークします。

それはあなたが望むことをするはずです! RAOFで述べたように、キーリングファイルは暗号化されているため、U1と同期してもセキュリティ上のリスクはありません。 APIは必要ありません。

これを行いたい場合プログラムで-つまり、アプリにこの機能をオン/オフする「アプリのキーリングを同期する」チェックボックスがあります-もちろん、U1を検出する必要があります、同期したいがまだU1アカウントを持っていない場合は、ユーザーを登録してもらいます。これには、Pythonから、ubuntuone.platform.tools.SyncDaemonToolを使用して、Ubuntu One syncdaemonを完全に制御できます。

5
sil

私は完全な答えを出すことはできません-私はこれのすべての部分に精通していません。この答えの一部は、GNOME Keyringの現在の実装の詳細に依存しているため、変更される可能性があります(ただし、長年はそうではありません)。

残念ながら、UbuntuOneは(現在?)キーリングの同期をサポートしていません。

GNOMEキーリングでキーリングを作成している場合は、~/.gnome2/keyrings/your_keyring_name.keyring。 GNOMEキーリングの実装の詳細に依存しても問題ない場合、これにより「単一のファイルをU1と同期する方法」に問題が軽減されます。

ここで、 Stuart Langridgeによるブログ投稿 で彼がこの問題についてほぼ正確に語っているところを指摘できます。特に、 Pythonバインディング を持つ 1ファイル用のAPI があります。彼の buntu Oneに保存 スクリプトを、あなたがやりたいことをするのに簡単に適応させることができるはずです。

セキュリティ上、特に必要なことはないはずです。ファイルはデフォルトでプライベートなので、ランダムなインターネットユーザーが簡単にアクセスすることはできず、キーリングファイルは作成したパスワードで暗号化されます。

2
RAOF