Для создания шифрованного канала связи с использованием вместо ключей шифрования обычных паролей, которые может запомнить человек, можно использовать протокол 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
URL: http://trustedhttp.org/wiki/TLS-SRP_in_OpenSSL
Обсуждается: https://www.opennet.ru/tips/info/2676.shtml