[stunnel-users] client side SNI

yyy yyy at yyy.id.lv
Sat Jan 14 06:07:51 CET 2012


Hello Michal,

Friday, January 13, 2012, 11:38:06 PM, you wrote:

> yyy wrote:
>> Tried simply adding protocolHost=servername into client
>> configuration section, but it did not work, because server returned
>> default cert.

> I was told I tend to behave like an oracle, but I'm not.

> I can hardly diagnose your configuration without the output of  
> "stunnel -version" and debug logs.

Sorry, here is output of "stunnel -version"
(although in stunnel.conf, there is specified fips=no):

stunnel 4.52 on x86-pc-mingw32-gnu platform
Compiled/running with OpenSSL 0.9.8s-fips 4 Jan 2012
Threading:WIN32 SSL:ENGINE,FIPS Auth:none Sockets:SELECT,IPv6
 
Global options:
debug           = notice
RNDbytes        = 64
RNDoverwrite    = yes
taskbar         = yes
 
Service-level options:
ciphers         = FIPS (with "fips = yes")
ciphers         = ALL:!SSLv2:!aNULL:!EXP:!LOW:-MEDIUM:RC4:+HIGH (with "fips = no")
curve           = prime256v1
session         = 300 seconds
sslVersion      = TLSv1 (with "fips = yes")
sslVersion      = TLSv1 for client, all for server (with "fips = no")
stack           = 65536 bytes
TIMEOUTbusy     = 300 seconds
TIMEOUTclose    = 60 seconds
TIMEOUTconnect  = 10 seconds
TIMEOUTidle     = 43200 seconds
verify          = none

Server is down




And here is log (debug=7):

2012.01.13 21:57:48 LOG7[2132:7704]: Service sni-client accepted FD=504 from 127.0.0.1:2541
2012.01.13 21:57:48 LOG7[2132:7704]: Creating a new thread
2012.01.13 21:57:48 LOG7[2132:7704]: New thread created
2012.01.13 21:57:48 LOG7[2132:7932]: Service sni-client started
2012.01.13 21:57:48 LOG5[2132:7932]: Service sni-client accepted connection from 127.0.0.1:2541
2012.01.13 21:57:48 LOG6[2132:7932]: connect_blocking: connecting 213.175.91.220:443
2012.01.13 21:57:48 LOG7[2132:7932]: connect_blocking: s_poll_wait 213.175.91.220:443: waiting 10 seconds
2012.01.13 21:57:48 LOG5[2132:7932]: connect_blocking: connected 213.175.91.220:443
2012.01.13 21:57:48 LOG5[2132:7932]: Service sni-client connected remote server from 10.0.0.151:2542
2012.01.13 21:57:48 LOG7[2132:7932]: Remote FD=448 initialized
2012.01.13 21:57:48 LOG7[2132:7932]: SSL state (connect): before/connect initialization
2012.01.13 21:57:48 LOG7[2132:7932]: SSL state (connect): SSLv3 write client hello A
2012.01.13 21:57:48 LOG7[2132:7932]: SSL state (connect): SSLv3 read server hello A
2012.01.13 21:57:48 LOG7[2132:7932]: Starting certificate verification: depth=1, /C=lv/L=Salaspils/CN=yyyCA/emailAddress=yyy at yyy.id.lv
2012.01.13 21:57:48 LOG5[2132:7932]: Certificate accepted: depth=1, /C=lv/L=Salaspils/CN=yyyCA/emailAddress=yyy at yyy.id.lv
2012.01.13 21:57:48 LOG7[2132:7932]: Starting certificate verification: depth=0, /C=lv/CN=afm.yyy.id.lv/description=\x00s\x00e\x00r\x00v\x00e\x00r\x00a\x00 \x00s\x00e\x00r\x00t\x00i\x00f\x00i\x00k\x01\x01\x00t\x00s\x00 \x00l\x00i\x00e\x00t\x00o\x01a\x00a\x00n\x00a\x00i\x00 \x00s\x00e\x00r\x00v\x00e\x00r\x00i\x00e\x00m\x00,\x00 \x00k\x00a\x00m\x00 \x00j\x01\x01\x00s\x00l\x01\x13\x00d\x00z\x00a\x00s\x00 \x00k\x00l\x01\x01\x00t\x00 \x00a\x00r\x00 \x00e\x005\x002
2012.01.13 21:57:48 LOG5[2132:7932]: Certificate accepted: depth=0, /C=lv/CN=afm.yyy.id.lv/description=\x00s\x00e\x00r\x00v\x00e\x00r\x00a\x00 \x00s\x00e\x00r\x00t\x00i\x00f\x00i\x00k\x01\x01\x00t\x00s\x00 \x00l\x00i\x00e\x00t\x00o\x01a\x00a\x00n\x00a\x00i\x00 \x00s\x00e\x00r\x00v\x00e\x00r\x00i\x00e\x00m\x00,\x00 \x00k\x00a\x00m\x00 \x00j\x01\x01\x00s\x00l\x01\x13\x00d\x00z\x00a\x00s\x00 \x00k\x00l\x01\x01\x00t\x00 \x00a\x00r\x00 \x00e\x005\x002
2012.01.13 21:57:48 LOG7[2132:7932]: SSL state (connect): SSLv3 read server certificate A
2012.01.13 21:57:48 LOG7[2132:7932]: SSL state (connect): SSLv3 read server key exchange A
2012.01.13 21:57:48 LOG7[2132:7932]: SSL state (connect): SSLv3 read server certificate request A
2012.01.13 21:57:48 LOG7[2132:7932]: SSL state (connect): SSLv3 read server done A
2012.01.13 21:57:48 LOG7[2132:7932]: SSL state (connect): SSLv3 write client certificate A
2012.01.13 21:57:48 LOG7[2132:7932]: SSL state (connect): SSLv3 write client key exchange A
2012.01.13 21:57:49 LOG7[2132:7932]: SSL state (connect): SSLv3 write certificate verify A
2012.01.13 21:57:49 LOG7[2132:7932]: SSL state (connect): SSLv3 write change cipher spec A
2012.01.13 21:57:49 LOG7[2132:7932]: SSL state (connect): SSLv3 write finished A
2012.01.13 21:57:49 LOG7[2132:7932]: SSL state (connect): SSLv3 flush data
2012.01.13 21:57:49 LOG7[2132:7932]: SSL state (connect): SSLv3 read server session ticket A
2012.01.13 21:57:49 LOG7[2132:7932]: SSL state (connect): SSLv3 read finished A
2012.01.13 21:57:49 LOG7[2132:7932]:    1 items in the session cache
2012.01.13 21:57:49 LOG7[2132:7932]:    1 client connects (SSL_connect())
2012.01.13 21:57:49 LOG7[2132:7932]:    1 client connects that finished
2012.01.13 21:57:49 LOG7[2132:7932]:    0 client renegotiations requested
2012.01.13 21:57:49 LOG7[2132:7932]:    0 server connects (SSL_accept())
2012.01.13 21:57:49 LOG7[2132:7932]:    0 server connects that finished
2012.01.13 21:57:49 LOG7[2132:7932]:    0 server renegotiations requested
2012.01.13 21:57:49 LOG7[2132:7932]:    0 session cache hits
2012.01.13 21:57:49 LOG7[2132:7932]:    0 external session cache hits
2012.01.13 21:57:49 LOG7[2132:7932]:    0 session cache misses
2012.01.13 21:57:49 LOG7[2132:7932]:    0 session cache timeouts
2012.01.13 21:57:49 LOG7[2132:7932]: Peer certificate was cached (3611 bytes)
2012.01.13 21:57:49 LOG6[2132:7932]: SSL connected: new session negotiated
2012.01.13 21:57:49 LOG6[2132:7932]: Negotiated ciphers: ECDHE-RSA-RC4-SHA SSLv3 Kx=ECDH Au=RSA Enc=RC4(128) Mac=SHA1
2012.01.13 21:57:49 LOG6[2132:7932]: Compression: null, expansion: null
2012.01.13 21:58:09 LOG3[2132:7932]: readsocket: Connection reset by peer (WSAECONNRESET) (10054)
2012.01.13 21:58:09 LOG5[2132:7932]: Connection reset: 0 bytes sent to SSL, 0 bytes sent to socket
2012.01.13 21:58:09 LOG7[2132:7932]: Service sni-client finished (0 left)


It connects just fine, just to default service.

s_client connects to proper service (using this command)
C:\openssl s_client -connect 213.175.91.220:443
-cert cert.crt -key key.key -servername servername

Client authentications succeeds in either case (as expected)




More information about the stunnel-users mailing list