2010-01-06 1 views
2

Y at-il un moyen de remplacer QSslSocket utilisé par QNetworkAccessManager avec ma propre implémentation?QNetworkAccessManager/QNetworkRépondez avec QTcpSocket personnalisé?

J'avais vraiment hâte d'utiliser WebKit !!

Je travaille sur l'intégration de l'implémentation PKCS11 à notre logiciel basé sur Qt.

Jusqu'à présent, la seule façon que j'ai trouvé est d'utiliser QHttp - mais doc dit que cette classe ne doit pas être utilisé ..

je trouve très QNetworkAccessManager limite jusqu'à présent. Oui c'est simple - mais ce n'est pas le but de ce cadre.

???

Répondre

2

Vous ne pouvez pas maintenant remplacer le QSslSocket dans l'implémentation HTTP. La seule chose que vous pourriez faire est de surcharger createRrequest de votre QNAM et de surcharger complètement l'implémentation HTTP.

Que faut-il faire exactement pour utiliser PKCS11? Auriez-vous besoin de modifier du code dans src/network/ssl/qsslsocket * et de changer le SSLContext? Ou la couche HTTP a elle aussi besoin de changement?

+0

J'ai atteint la même conclusion. Surcharger QNetworkAccessManager/QNetworkReply est le seul moyen, puis dans QNetworkReply - QHttp peut être utilisé, et il expose setSocket. Je ne veux pas patcher Qt car je suis un utilisateur de build bêta lourd, trop de maux de tête pour les changements de port. Pour tous ceux qui devront faire face à la même tâche -Lire ce poste: http://lists.trolltech.com/qt-interest/2008-11/thread00002-0.html PKCS11 utilisation: Je dois utiliser un certificat de la carte à puce pour l'authentification du certificat client. Le sous-classement QSslSocket/QTcpSocket serait suffisant si QNetworkAccessManager exposait l'API pour le définir. – Buble

Questions connexes