синхронизация GNOME-keyring через устройства с Ubuntu One

6

Я написал приложение, которое создает и использует свой собственный keyring. Я хотел бы иметь этот keyring с атрибутами секретов и всей синхронизацией через U1, чтобы одни и те же пароли были доступны на всех устройствах Linux.

  1. Как вы определяете, настроен ли U1 в пользовательской системе?
  2. Предоставляет ли U1 любую возможность синхронизации брелка пользователей? Если нет, каков будет предпочтительный программный подход?
  3. Какие особые соображения при использовании U1 следует учитывать для обеспечения безопасности? Есть ли какие-либо, или это еще что-то еще для разработчика, связанного с U1?

Ссылка

Я ищу официальную документацию или указатели, охватывающие вышеуказанные вопросы.

    
задан Jim Pharis 22.02.2012 в 23:10
источник

2 ответа

4

OK. Ваши брелоки хранятся в $ HOME / .gnome2 / keyrings.

Итак, очевидный способ синхронизации ваших ключей на машинах - это просто отметить эту папку как синхронизированную папку с U1. API не требуется!

Это, конечно, синхронизирует все ваши брелки, хотя я считаю, что вы не хотите этого делать. Итак, следующий шаг:

  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, файл keyring зашифрован, поэтому синхронизация с U1 не представляет угрозы безопасности. API не требуется.

Если вы хотите сделать это программно , то есть в вашем приложении установлен флажок «Синхронизировать мое приложение», который включает и выключает эту функцию, - тогда вам, конечно, понадобится чтобы обнаружить U1, и привести пользователя к регистрации, если они хотят синхронизировать, но еще не имеют учетной записи U1. Для этого используйте Python, ubuntuone.platform.tools.SyncDaemonTool, который дает вам полный контроль над синхронизацией Ubuntu One.

    
ответ дан sil 28.02.2012 в 12:18
2

Я не могу дать полный ответ - я не знаком со всеми частями этого. Некоторые из этих ответов зависят от текущих деталей реализации GNOME Keyring, поэтому могут измениться (но не на несколько лет).

UbuntuOne, к сожалению, не имеет (в настоящее время?) какой-либо конкретной поддержки синхронизации ключей.

Если вы создаете брелок в GNOME keyring, то он сохраняется в ~/.gnome2/keyrings/your_keyring_name.keyring . Если вы согласны с детализацией реализации ключевого слова GNOME, это уменьшает проблему до «как я могу синхронизировать один файл с U1».

Здесь я могу указать вам на сообщение в блоге Стюарта Лангриджа , где он говорит о почти этой проблеме. В частности, существует API для файлов U1 , у которого есть привязки python . Было бы разумно легко приспособить его Сохранить в сценарий Ubuntu One , чтобы выполнить то, что вам нужно.

Не должно быть ничего особенного, что вам нужно сделать, с точки зрения безопасности. Файлы по умолчанию являются закрытыми, поэтому они не доступны тривиально случайным интернет-пользователям, а файлы ключей шифруются с помощью пароля, с которым вы его создали.     

ответ дан RAOF 28.02.2012 в 05:43