The SSL-enabled SQL Server ODBC driver needs a source of unpredictable data to work correctly. Many open source operating systems provide a "randomness device" (/dev/urandom or /dev/random) that serves this purpose, and the SQL Server ODBC driver will use these devices if available.
If the driver is unable to find a randomness device, it will return the error:
"SSL connection failed in syscall (errno=2, there may be no source of entropy on this system, consult OpenSSL documentation)"
On machines where /dev/urandom or /dev/random are not present, the EGD entropy gathering daemon can be used as a source of random data. It provides a socket interface through which entropy (randomness) can be gathered. In your ODBC data source, use the Entropy
attribute to specify the path to the EGD socket. For example, if you create the socket in /etc when you start the EGD daemon (egd.pl /etc/entropy
), use:
[SQLSERVER_SAMPLE_SSL] Driver = Easysoft ODBC-SQL Server SSL Server = my_machine\my_instance User = my_domain\my_user Password = my_password Encrypt = Yes TrustServerCertificate = No Entropy = /etc/entropy