한국어
Qt
 

QNetworkAccessManager를 사용하여 https URL을 가져오면 SslHandshakeFailedError 에러와 함께 실패하는 경우가 있다.


the SSL/TLS handshake failed and the encrypted channel could not be established. The sslErrors() signal should have been emitted.” 

 

슬롯을 QNetworkReply의 error(QNetworkReply::NetworkError) 신호에 연결하여 이 오류를 잡을(catch) 수 있다. SslHandshakeFailedError 임을 알 수 있다. 이 에러에 대해 이곳에서 자세히 알 수 있다.

 

Qt 응용프로그램에서 이 SslHandshakeFailedError를 수정하려면 2단계를 수행해야 한다.

 

먼저 요청에 대해 피어 확인 모드를 QSslSocket::VerifyNone 으로 설정한다.

QSslConfiguration conf = request.sslConfiguration();
// QSslSocket은 피어로부터 인증서를 요청하지 않는다.
conf.setPeerVerifyMode(QSslSocket::VerifyNone);
request.setSslConfiguration(conf);

 

서버의 인증서를 확인하지 않아도 SSL 오류(QSslError::NoError)가 계속 발생한다. 그래서 다음 단계는 QNetworkReply의 sslErrors(QList<QSslError>) 신호를 ignoreSslErrors() 슬롯에 연결하여 오류를 무시하는 것이다.

번호 제목 글쓴이 날짜 조회 수
공지 Qt프로그래밍(QtQuick) Beginner를 위한 글 읽는 순서 운영자 2019.01.05 86174
19 Qt의 스레드간 시그널 슬롯의 커넥션타입 [1] makersweb 2015.10.24 10217
18 Ubuntu Linux에서 Qt Creator 설치 file makersweb 2016.03.06 10680
17 Qt 응용프로그램 배포(windows) file makersweb 2018.10.10 11382
16 Qt Installer Framework - 패키징, 설치프로그램 제작 file makersweb 2018.10.14 11696
15 QtSerialPort를 사용한 시리얼(Serial)통신 [3] makersweb 2019.05.21 11974
14 Qml 기본 컴포넌트 강좌 (1) file makersweb 2019.01.03 12121
13 Qt의 오픈소스 라이센스 소개 file makersweb 2019.12.15 12621
12 Windows에서 라즈베리파이3용 Qt5.10.0 크로스컴파일 [20] file makersweb 2018.02.23 13044
11 QML과 QtQuick 모듈 개념과 기본 타입들 makersweb 2019.04.26 13439
10 Qml과 C++로 구현하는 GUI어플리케이션 file makersweb 2018.12.25 14002
9 Qt 프로그래밍의 시작 makersweb 2015.10.25 14404
8 초보자를 위한 첫번째 프로젝트 - QML로 만드는 Hello World file makersweb 2018.03.16 14516
7 QtCreator Design으로 GUI만들기 (QML로 만드는 Hello World -2) [1] file makersweb 2019.05.26 14977
6 QThread 소개 및 예제 makersweb 2019.12.25 19584
5 Qt의 시그널 슬롯 시스템 file makersweb 2015.10.20 23673
4 Windows에서 Qt 설치 따라하기 file makersweb 2019.10.14 30929
3 QString 문자열 다루기 예제 운영자 2019.01.26 40344
2 콘솔에서 사용자 입력받기 file makersweb 2020.03.22 51857
1 가상키보드(Qt Virtual Keyboard)를 사용하는 방법 [32] file makersweb 2019.05.03 221838