Tengo una aplicación Qt QWebKit que necesita usar HTTPS para hablar con páginas web. He descargado el QtSDK, así como los binarios de OpenSSL (from here).¿Cómo puedo distribuir OpenSSL con mi aplicación Qt WebKit en Windows?
Mi problema radica en la implementación de mi aplicación. Copié los archivos pertinentes de Qt DLL, así como los archivos relevantes de OpenSSL DLL (libeay32.dll
y ssleay32.dll
) en el directorio de mi aplicación, pero cuando intento acceder a páginas web HTTPS desde mi aplicación, ¡falla! La aplicación no falla, pero la página está en blanco. Las páginas HTTP regulares funcionan perfectamente bien.
Está claro que hay un error con respecto a la forma en que estoy distribuyendo OpenSSL con mi aplicación, no estoy seguro de dónde me estoy equivocando.
No me gustaría empaquetar el instalador de OpenSSL con mi aplicación.
¿Está seguro de que está revisando las devoluciones de errores de OpenSSL en todos los sitios de llamadas y potencialmente iniciando sesión o mostrando resultados de error inesperados? Podría imaginar fácilmente un almacén de certificados faltante o una fecha/hora no válida en un sistema que causa errores de validación de la cadena de certificados que podrían no aparecer durante las pruebas "normales" ... – sarnold
Este es un buen punto. He leído en otro lugar que los errores OpenSSL no controlados pueden hacer que se detenga la carga de páginas HTTPS. En mi caso, estaba manejando todos los errores de OpenSSL (ignorándolos), pero mi manejador de errores nunca fue llamado por mi QNetworkManager. –