371b933
diff -up qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp.system_ca_certificates qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp
371b933
--- qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp.system_ca_certificates	2009-09-29 06:01:38.000000000 -0500
73f2852
+++ qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp	2009-10-02 11:20:10.674662746 -0500
371b933
@@ -482,8 +482,20 @@ void QSslSocketPrivate::resetDefaultCiph
371b933
 
371b933
 QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates()
371b933
 {
371b933
+
371b933
+    QFile caBundle;
371b933
+
371b933
+#ifdef Q_OS_UNIX
371b933
+    // Check known locations for the system's default bundle.  ### On Windows,
371b933
+    // we should use CAPI to find the bundle, and not rely on default unix
371b933
+    // locations.
371b933
+    caBundle.setFileName(QLatin1String("/etc/pki/tls/certs/ca-bundle.crt"));
371b933
+    if (caBundle.open(QIODevice::ReadOnly | QIODevice::Text))
371b933
+       return QSslCertificate::fromDevice(&caBundle);
371b933
+#endif
371b933
+
371b933
     // Qt provides a default bundle of certificates
371b933
-    QFile caBundle(QLatin1String(":/trolltech/network/ssl/qt-ca-bundle.crt"));
73f2852
+    caBundle.setFileName(QLatin1String(":/trolltech/network/ssl/qt-ca-bundle.crt"));
371b933
     if (caBundle.open(QIODevice::ReadOnly | QIODevice::Text))
371b933
         return QSslCertificate::fromDevice(&caBundle);
371b933