Tôi có một ứng dụng Qt QWebKit dựa trên nhu cầu sử dụng HTTPS để nói chuyện với các trang web. Tôi đã tải xuống QtSDK cũng như các tệp nhị phân OpenSSL (from here).Làm cách nào để phân phối OpenSSL bằng ứng dụng dựa trên Qt WebKit của tôi sang Windows?
Vấn đề của tôi nằm trong việc triển khai ứng dụng của tôi. Tôi đã sao chép các tệp DLL Qt có liên quan, cũng như các tệp DLL OpenSSL có liên quan (libeay32.dll
và ssleay32.dll
) vào thư mục ứng dụng của tôi, nhưng khi tôi cố gắng truy cập các trang web HTTPS từ bên trong ứng dụng của tôi thì không thành công! Ứng dụng không bị lỗi, nhưng trang trống. Các trang HTTP thông thường hoạt động hoàn toàn tốt.
Rõ ràng là có lỗi với cách tôi phân phối OpenSSL bằng ứng dụng của mình, tôi không chắc mình đang đi sai ở đâu.
Tôi thực sự không muốn gói trình cài đặt OpenSSL bằng ứng dụng của mình.
Bạn có chắc chắn bạn đang kiểm tra lỗi OpenSSL ở tất cả các trang cuộc gọi và có khả năng ghi nhật ký hoặc hiển thị kết quả lỗi không mong muốn khác không? Tôi có thể dễ dàng hình dung kho lưu trữ chứng chỉ bị thiếu hoặc ngày/giờ không hợp lệ trên hệ thống gây ra lỗi xác thực chuỗi chứng chỉ có thể không bật lên trong khi kiểm tra "bình thường" ... – sarnold
Đây là điểm tốt. Tôi đã đọc ở những nơi khác mà các lỗi OpenSSL không được giải quyết có thể làm cho việc tải các trang HTTPS dừng lại. Trong trường hợp của tôi, tôi đã xử lý tất cả các lỗi OpenSSL (bằng cách bỏ qua chúng), nhưng trình xử lý lỗi không bao giờ được gọi bởi QNetworkManager của tôi. –