簡體   English   中英

在OSX 10.5.8上的Qt:“為此目的不信任根CA證書”

[英]Qt on OSX 10.5.8: “The root CA certificate is not trusted for this purpose”

我有一個Qt應用程序成功向OSX 10.7上的我們的網站發出HTTPS請求,但在10.5.8上使用QSslError :: errorString失敗“根CA證書不被信任用於此目的”。

我正在設置根證書:

QFile certFile1(":/Equifax_Secure_Certificate_Authority.pem.txt");
QSslCertificate cert1(&certFile1, QSsl::Pem);
certList.append(cert1);

QSslConfiguration sslConfig(request.sslConfiguration());
sslConfig.setCaCertificates(certList);
request.setSslConfiguration(sslConfig);

如果我設置了一些其他證書,我會在OSX 10.5.8和10.7上得到兩個錯誤字符串“無法找到本地查找證書的頒發者證書”和“根CA證書不可信任”。 這是我所期待的。

是什么讓Qt不再僅僅信任10.5.8上的Equifax證書?

編輯:可能的線索(或紅色鯡魚):查看相應的WireShark跟蹤,10.5.8客戶端在其客戶端hello握手中不包括服務器名稱指示或會話票證TLS擴展。

編輯2:在10.5.8工作時構建為32位。 此外,在10.7上構建為通用(32位和64位Intel)並在10.5.8上運行,鏈接到基於10.5.8構建的32位Qt庫。

編輯3:我在https://github.com/cdemel/SO_examples/tree/master/soqtssl上放置了一個示例,使用不同的網站(Twitter)和根證書,具有相同的行為。

好吧,這已經很長時間沒有答案了,所以我將把我不知情的解決方案作為答案:

將應用程序鏈接到基於10.5.8構建的Qt庫。 這對我有用,但我不能告訴你為什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM