Merge remote-tracking branch 'refs/remotes/origin/master'

This commit is contained in:
simio 2025-06-24 10:28:33 -03:00
commit 28178f39cb

View File

@ -67,7 +67,12 @@ void Server::start()
qWarning() << "Unable to open private key file."; qWarning() << "Unable to open private key file.";
} }
else { else {
QSslKey privateKey(&keyFile, QSsl::Rsa); QSslKey privateKey;
privateKey = QSslKey(&keyFile, QSsl::Ec);
if (privateKey.isNull()) {
keyFile.reset();
privateKey = QSslKey(&keyFile, QSsl::Rsa);
}
keyFile.close(); keyFile.close();
QFile certFile(certificatePath); QFile certFile(certificatePath);
@ -75,7 +80,7 @@ void Server::start()
qWarning() << "Unable to open certificate file."; qWarning() << "Unable to open certificate file.";
} }
else { else {
QSslCertificate certificate(&certFile); QList<QSslCertificate> certs = QSslCertificate::fromData(certFile.readAll());
certFile.close(); certFile.close();
QFile caFile(caCertificatePath); QFile caFile(caCertificatePath);
@ -86,7 +91,11 @@ void Server::start()
} }
sslConfig.setPrivateKey(privateKey); sslConfig.setPrivateKey(privateKey);
sslConfig.setLocalCertificate(certificate); if (!certs.isEmpty()) {
sslConfig.setLocalCertificate(certs.first());
if (certs.size() > 1)
sslConfig.setCaCertificates(certs.mid(1));
}
secure_server->setSslConfiguration(sslConfig); secure_server->setSslConfiguration(sslConfig);
} }
} }