Author |
|
sridharb
Joined: 09 Jun 2010 Posts: 16 Location: Chennai, India
|
Posted: Wed 09 Jun '10 20:39 Post subject: Unable to initialize TLS servername extension callback |
|
|
Hi,
I upgraded from 2.2.11 to 2.2.15 and I am facing problems with SSL.
I get an error in the log with the message: [error] Unable to initialize TLS servername extension callback (incompatible OpenSSL version?)
I am using OpenSSL 0.9.8o from apachelounge as well.
I realize that the httpd v2.2.15 is compiled with openssl 0.9.8m - could that be the cause of this issue?
I have also tried to put the Apache bin directory which has a 0.9.8m distribution in the path, but to no avail.
What could be going on?
Thanks,
Sridhar |
|
Back to top |
|
glsmith Moderator
Joined: 16 Oct 2007 Posts: 2268 Location: Sun Diego, USA
|
Posted: Wed 09 Jun '10 22:20 Post subject: |
|
|
What's going on sounds like you are trying to mix and match mod_ssl/openssl versions. For me if I do this the server will not start saying it cannot load/find mod_ssl.
Looking at the openssl package here it's the toolkit but does not include mod_ssl. Since your mod_ssl is linked to 098m you need to have 098m *eay.dll files. That is my experience anyway.
I am curious, did Apache itself come from here or apache.org? If it came from Apache.org well then you're mix and matching visual studio versions which can have odd outcomes. |
|
Back to top |
|
glsmith Moderator
Joined: 16 Oct 2007 Posts: 2268 Location: Sun Diego, USA
|
Posted: Wed 09 Jun '10 22:31 Post subject: |
|
|
Wait a minute.
TLS servername extension = tlsext = SNI (server name indication)
Something was built with SNI disabled and the other piece of the puzzle with SNI enabled.
My suggestion then is;
1. Get the same update from www.apachehaus.com. there are SNI and non-SNI enabled versions. I'd currently suggest the SNI enabled one.
2. get rid of all prior openssl and mod_ssl files off the machine. Put on USB stick or something [1].
3. Unzip the update from AH into a temp folder.
4. move the openssl.exe, libeay32.dll & ssleay32.dll files to Apache's bin folder
5. move the mod_ssl.so file to Apache's modules folder.
Start Apache and see what happens.
[1]. make sure there are no old openssl files in the %PATH% as well. If you have subversion, it get's me all the time since it installs itself in the Path and includes OpenSSL as well. Other software may do same. |
|
Back to top |
|
sridharb
Joined: 09 Jun 2010 Posts: 16 Location: Chennai, India
|
Posted: Thu 10 Jun '10 18:13 Post subject: |
|
|
Hi,
Thanks for responding.
I tried the SNI versions from apachehaus and got the same error.
When I tried the non-SNI version from apachehaus, this error went away.
The Apache2 bin folder is the first in the path and it should find those DLLs/EXE.
All other openssl.exe files (like from SVN and cygwin) have been moved away from the path.
What else could be causing this?
Thanks,
Sridhar |
|
Back to top |
|
glsmith Moderator
Joined: 16 Oct 2007 Posts: 2268 Location: Sun Diego, USA
|
Posted: Thu 10 Jun '10 18:33 Post subject: |
|
|
Not sure at the moment, maybe something in the config.
I do know:
tlsext is enabled or disabled during build of Openssl
mod_ssl picks this up during it's build (why changing mod_ssl is also needed).
mod_ssl is larger if tlsext is enabled since there is then all the code to deal with multiple SSL hosts on the single IP compiled in. |
|
Back to top |
|
glsmith Moderator
Joined: 16 Oct 2007 Posts: 2268 Location: Sun Diego, USA
|
Posted: Mon 14 Jun '10 0:51 Post subject: |
|
|
I did not forget. The problem is I cannot seem to duplicate this.
Either the server will not start (claiming it cannot find mod_ssl), or it runs when all files match. |
|
Back to top |
|