748 systemCerts.append(cert); |
748 systemCerts.append(cert); |
749 } |
749 } |
750 ptrCertCloseStore(hSystemStore, 0); |
750 ptrCertCloseStore(hSystemStore, 0); |
751 } |
751 } |
752 } |
752 } |
753 #elif defined(Q_OS_UNIX) |
753 #elif defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN) |
754 systemCerts.append(QSslCertificate::fromPath(QLatin1String("/var/ssl/certs/*.pem"), QSsl::Pem, QRegExp::Wildcard)); // AIX |
754 systemCerts.append(QSslCertificate::fromPath(QLatin1String("/var/ssl/certs/*.pem"), QSsl::Pem, QRegExp::Wildcard)); // AIX |
755 systemCerts.append(QSslCertificate::fromPath(QLatin1String("/usr/local/ssl/certs/*.pem"), QSsl::Pem, QRegExp::Wildcard)); // Solaris |
755 systemCerts.append(QSslCertificate::fromPath(QLatin1String("/usr/local/ssl/certs/*.pem"), QSsl::Pem, QRegExp::Wildcard)); // Solaris |
756 systemCerts.append(QSslCertificate::fromPath(QLatin1String("/opt/openssl/certs/*.pem"), QSsl::Pem, QRegExp::Wildcard)); // HP-UX |
756 systemCerts.append(QSslCertificate::fromPath(QLatin1String("/opt/openssl/certs/*.pem"), QSsl::Pem, QRegExp::Wildcard)); // HP-UX |
757 systemCerts.append(QSslCertificate::fromPath(QLatin1String("/etc/ssl/certs/*.pem"), QSsl::Pem, QRegExp::Wildcard)); // (K)ubuntu, OpenSUSE, Mandriva, ... |
757 systemCerts.append(QSslCertificate::fromPath(QLatin1String("/etc/ssl/certs/*.pem"), QSsl::Pem, QRegExp::Wildcard)); // (K)ubuntu, OpenSUSE, Mandriva, ... |
758 systemCerts.append(QSslCertificate::fromPath(QLatin1String("/etc/pki/tls/certs/ca-bundle.crt"), QSsl::Pem)); // Fedora |
758 systemCerts.append(QSslCertificate::fromPath(QLatin1String("/etc/pki/tls/certs/ca-bundle.crt"), QSsl::Pem)); // Fedora |
1286 |
1286 |
1287 // Check characters following first . match |
1287 // Check characters following first . match |
1288 if (hostname.midRef(hostname.indexOf(QLatin1Char('.'))) != cn.midRef(firstCnDot)) |
1288 if (hostname.midRef(hostname.indexOf(QLatin1Char('.'))) != cn.midRef(firstCnDot)) |
1289 return false; |
1289 return false; |
1290 |
1290 |
|
1291 // Check if the hostname is an IP address, if so then wildcards are not allowed |
|
1292 QHostAddress addr(hostname); |
|
1293 if (!addr.isNull()) |
|
1294 return false; |
|
1295 |
1291 // Ok, I guess this was a wildcard CN and the hostname matches. |
1296 // Ok, I guess this was a wildcard CN and the hostname matches. |
1292 return true; |
1297 return true; |
1293 } |
1298 } |
1294 |
1299 |
1295 QT_END_NAMESPACE |
1300 QT_END_NAMESPACE |