Пользователь-частное соединение между моим расширением Google Chrome и моей родной программой на Linux


У меня есть "родная" программа (на Java), которая хотела бы общаться с расширением Google Chrome/Chromium. Сообщение содержит конфиденциальную информацию и не должно быть доступно никому, кроме пользователя, выполняющего его (и, конечно, корня).

Какую технологию я должен выбрать для этого канала связи? Есть ли вообще решение?

Редактировать: Конечно, я мог бы открыть порт TCP / IP на локальном хосте, но разве он не будет доступен другим пользователям иметь учетную запись на том же хостинге? Есть ли метод, чтобы избежать этого побочного эффекта?

Можем ли мы получить доступ к доменным сокетам unix из расширений Google Chrome?

3 3

3 ответа:

Предполагая, что вы уже знакомы с TCP, если вы используете localhost / 127.0.0.1 для связи, она не будет видна / доступна для других машин.

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

Решение, которое я выбрал, состоит в том, чтобы иметь сокет сервера, слушающий интерфейс loopback (/ 127.0.0.1) с общим секретом, используемым в качестве ключа api.

Причина в том, что я не понимал, что в моем случае каждое приложение, которое подключается к моему узлу, должно быть аутентифицировано .. потому что каждое приложение обрабатывается по-разному, с разными правами доступа.