Я прекрасно использовал предыдущие версии stunnel. Очевидно, у него не было функции сертификата в режиме сервера SSL. Это нормально, но для нас не обязательно, поскольку мы просто запускаем локальный сервер для туннелирования к удаленному серверу.
В любом случае, я прочитал учебник по часто задаваемым вопросам и тому подобное, и попробовал все. Независимо от того, что я делаю с настройками сертификата или ключа, он по-прежнему дает ту же ошибку, вот полный результат ...
No limit detected for the number of clients
stunnel 4.53 on x86-pc-mingw32-gnu platform
Compiled/running with OpenSSL 0.9.8s-fips 4 Jan 2012
Threading:WIN32 SSL:+ENGINE+OCSP+FIPS Auth:none Sockets:SELECT+IPv6
Reading configuration from file stunnel.conf
FIPS mode is enabled
Compression not enabled
Snagged 64 random bytes from C:/.rnd
Wrote 0 new random bytes to C:/.rnd
PRNG seeded successfully
Initializing service section [FIX]
Section FIX: SSL server needs a certificate
Server is down
А вот содержимое файла stunnel.conf:
; Certificate/key is needed in server mode and optional in client mode
cert = stunnel.pem
;key = stunnel.pem
; Disable support for insecure SSLv2 protocol
options = NO_SSLv2
[FIX]
accept = 127.0.0.1:5679
connect = 216.52.236.112:5680
TIMEOUTconnect = 5
[FIXLIVE]
accept = 127.0.0.1:5680
connect = 216.52.236.185:51581
TIMEOUTconnect = 5
Обратите внимание, что stunnel был установлен с файлом stunnel.pem. Я попытался раскомментировать строку конфигурации для ключа. Также регенерировал ключ с помощью openssh в соответствии с инструкциями.
Я пробовал использовать абсолютный путь к файлу сертификата.
Ничего не меняет. Это дефект в станнеле? Или я что-то не так делаю?
Добавить client = yes
каждой службе, чтобы исправить это сообщение об ошибке.
Вы также хотите установить параметры для настройки надлежащей безопасности SSL; увидеть ниже.
# Enable proper SSL security. Without this, you are completely insecure!
verify = 2
CAfile = /etc/ssl/certs/ca-certificates.crt
options = NO_SSLv2
[FIX]
client = yes
accept = 127.0.0.1:5679
connect = 216.52.236.112:5680
TIMEOUTconnect = 5
[FIXLIVE]
client = yes
accept = 127.0.0.1:5680
connect = 216.52.236.185:51581
TIMEOUTconnect = 5
Stunnel всегда будет проверять сертификат сервера (это делают все клиенты SSL) - вы можете отключить проверку сертификата, если вас не волнует человек в средней атаке (интернет-провайдер, плохой парень, плохой интернет-провайдер, ...). В противном случае вам придется настроить `` доверие '' в stunnel, предоставив ему копию сертификата сервера или что-то еще в цепочке, которой вы доверяете (например, промежуточный ЦС или корневой ЦС, которые превосходят сертификат сервера, который сервер использует для идентифицировать себя). Вам необходимо установить следующие конфигурационные переменные: CAPath, CAFile.