Как сделать шифрованный канал между 2 приложениями? Есть 2 приложения (node.js в моем случае), между которыми я хочу установить шифрованный канал и обмениваться сообщениями. Это почти полностью решается TLS и клиентской аутентификацией. Например как-то так: https://gist.github.com/pcan/e384fcad2a83e3ce20f9a... . Однако есть проблема: Такой подход предполагает создание серверного сертификата, который привязан к доменному имени: Specify server Common Name, like 'localhost' or 'server.localhost'. The client will verify this, so make sure you have a vaild DNS name for this. А мне хотелось бы избежать привязки, так как условный сервер в данном случае не имеет и не может иметь ни доменного имени, ни статического IP. Таким образом хочется получить схему, где есть 2 хоста у которых может меняться IP и нет доменного имени. И они должны иметь возможность подключиться друг к другу (инициатором-"клиентом" соединения может выступать любой) как-то так например: connectTo('123.123.123.123:8000'); При этом есть возможность заранее обменяться ключами / сертификатами. Возможно ли это с помощью TLS? И насколько адекватно и безопасно использовать обычные сокеты и шифровать контент? (примерно так https://stackoverflow.com/questions/22738754/node-...
Да, возможно использовать TLS без доменного имени и статического IP. Для этого можно создать самоподписанный сертификат и использовать его для обоих приложений. В этом случае необходимо убедиться, что оба приложения имеют доступ к этому сертификату.
Что касается использования обычных сокетов и шифрования контента, это может быть менее безопасным, чем использование TLS. Шифрование контента на уровне прикладного кода требует больше усилий и опыта, чтобы обеспечить безопасность соединения. Тем не менее, это может быть приемлемым решением для нечувствительных данных или для целей, не связанных с безопасностью.
Если безопасность вашего соединения критична, рекомендуется использовать TLS для обеспечения шифрования данных и аутентификации приложений.
Да, возможно использовать TLS без доменного имени и статического IP. Для этого можно создать самоподписанный сертификат и использовать его для обоих приложений. В этом случае необходимо убедиться, что оба приложения имеют доступ к этому сертификату.
Что касается использования обычных сокетов и шифрования контента, это может быть менее безопасным, чем использование TLS. Шифрование контента на уровне прикладного кода требует больше усилий и опыта, чтобы обеспечить безопасность соединения. Тем не менее, это может быть приемлемым решением для нечувствительных данных или для целей, не связанных с безопасностью.
Если безопасность вашего соединения критична, рекомендуется использовать TLS для обеспечения шифрования данных и аутентификации приложений.