Xizhi’s Blog.

Fortsett a logge pa det jeg er interessert i.

Grunnprover for SSL-kommunikasjon over Qt.

klasse SSLClient: offentlig QObject.

SSLClient (QObject * foreldre = NULL)

Koble (og klient, SIGNAL (sslErrors (const QList & lt; QSslError & gt;)),

dette, SLOT (errorOccured (const QList & lt; QSslError & gt;)));

// handtere signalet til QSslSocket.encrypted ()

// fa peer sertifikatet.

QSslCertificate cert = client.peerCertificate ();

client.write («hei, verden», 13);

void errorOccured (const QList & lt; QSslError & amp; error)

// bare ignorere feilene.

// det bor v re veldig forsiktig nar du ignorerer feil.

int main (int argc, char ** argv)

QApplication app (argc, argv);

klasse SSLServer: offentlig QTcpServer.

SSLServer (QObject * foreldre = NULL)

void incomingConnection (int socketDescriptor)

serverSocket = ny QSslSocket;

Koble (serverSocket, SIGNAL (readyRead ()), dette, SLOT (readyToRead ()));

koble til (serverSocket, SIGNAL (sslErrors (const QList & amp;)),

dette, SLOT (errorOccured (const QList & amp;)));

QApplication app (argc, argv);

server.start («ca.cer», «ca.key», 8888);

9 kommentarer:

Hei. hvordan gjor vi HTTP GET POST, etc med et SSL-nettsted? Jeg vil ha tilgang til sine webtjenester.

Du kan bruke QNetworkAccessManager for HTTP GET / POST-foresporsel direkte, og handter signalet sslErrors () hvis det er nodvendig.

g ++ -Wl, -rpath, / usr / local / Trolltech / Qt-4.7.1 / lib -o sslserver main.o sslserver.o -L / usr / local / Trolltech / Qt-4.7.1 / lib -lQtNetwork -L /usr/local/Trolltech/Qt-4.7.1/lib -lQtCore -lpthread.

main.o: I funksjon `sslserver & # 39 ;:

/home/vincente/QT/Project/sslserver-build-desktop/../sslserver/sslserver.h:16: Udefinert referanse til `vtable for sslserver & # 39;

main.o: I funksjon `

/home/vincente/QT/Project/sslserver-build-desktop/../sslserver/sslserver.h:11: Udefinert referanse til `vtable for sslserver & # 39;

collect2: ld returnerte 1 utgangsstatus.

lage: *** [sslserver] Feil 1.

Er det slik at du erkl rte en destruktor (

sslserver), men ikke implementere det?

Takk for at du sendte dette fantastiske, enkle eksempelet pa QT SSL-kommunikasjon. De er de forste eksemplene jeg har funnet ut at du ikke begraver det du vil vite for a begynne med i et rot av annen kode. Og de jobbet forste gang!

void errorOccured (const QList & error)

Oops Jeg fikk det litt galt i mitt innlegg like over.

Oops jeg fikk det galt igjen. Synes vinkelbeslagene som brukes til maler, blir fjernet fra disse kommentarene. Likevel er jeg sikker pa at du far poenget.

nar jeg kjorer programmet mitt, motes alltid med folgende feil:

Ingen slik signal QNetworkAccessManager :: sslErrors.

Jeg kompilerte Qt med -openssl, og for det har jeg installert openssl.