Для создания шифрованного канала связи с использованием вместо ключей
шифрования обычных паролей, которые может запомнить человек, можно использовать
протокол SRP (Secure Remote Password), поддержка которого появилась в OpenSSL 1.0.1.
Создаём файл с SRP паролем для пользователя jsmith:
touch passwd.srpv
openssl srp -srpvfile passwd.srpv -gn 1536 -add jsmith
вводим дважды пароль
Для изменения пароля можно использовать команду:
openssl srp -srpvfile passwd.srpv -modify jsmith
Запускаем простой SRP-сервер:
openssl s_server -srpvfile passwd.srpv -tls1 -cipher SRP -cert server.crt -key server.key -www
Соединяемся к нему по сетевому порту 4433:
gnutls-cli --srpusername user --srppasswd secret 127.0.0.1 -p 4433
вводим "GET /"
Для соединения также можно использовать openssl_helper из состава Chromium:
out/Debug/openssl_helper open-socket tls-srp --srpv-file net/data/ssl/certificates/ok.srpv --port 4443
логин/пароль задаётся в файле ok.srpv
|