diff -urN postfix-2.3.6.orig/src/tls/tls_client.c postfix-2.3.6/src/tls/tls_client.c
--- postfix-2.3.6.orig/src/tls/tls_client.c	2006-09-30 01:26:04.000000000 +0200
+++ postfix-2.3.6/src/tls/tls_client.c	2007-07-18 02:00:37.000000000 +0200
@@ -294,6 +294,11 @@
     SSL_load_error_strings();
     OpenSSL_add_ssl_algorithms();
 
+	/* Init available hardware crypto engines. */
+	ENGINE_load_builtin_engines();
+	ENGINE_register_all_complete();
+	ENGINE_set_default_ciphers(ENGINE_by_id("padlock"));
+
     /*
      * Initialize the PRNG (Pseudo Random Number Generator) with some seed
      * from external and internal sources. Don't enable TLS without some real
diff -urN postfix-2.3.6.orig/src/tls/tls.h postfix-2.3.6/src/tls/tls.h
--- postfix-2.3.6.orig/src/tls/tls.h	2006-07-19 17:33:01.000000000 +0200
+++ postfix-2.3.6/src/tls/tls.h	2007-07-18 01:58:55.000000000 +0200
@@ -44,6 +44,7 @@
 #include <openssl/x509.h>
 #include <openssl/x509v3.h>
 #include <openssl/rand.h>
+#include <openssl/engine.h>
 #include <openssl/ssl.h>
 
 #if (OPENSSL_VERSION_NUMBER < 0x00905100L)
diff -urN postfix-2.3.6.orig/src/tls/tls_server.c postfix-2.3.6/src/tls/tls_server.c
--- postfix-2.3.6.orig/src/tls/tls_server.c	2006-07-19 03:11:49.000000000 +0200
+++ postfix-2.3.6/src/tls/tls_server.c	2007-07-18 02:01:14.000000000 +0200
@@ -268,6 +268,11 @@
     SSL_load_error_strings();
     OpenSSL_add_ssl_algorithms();
 
+	/* Init available hardware crypto engines. */
+	ENGINE_load_builtin_engines();
+	ENGINE_register_all_complete();
+	ENGINE_set_default_ciphers(ENGINE_by_id("padlock"));
+
     /*
      * Initialize the PRNG (Pseudo Random Number Generator) with some seed
      * from external and internal sources. Don't enable TLS without some real
