이 페이지에서

QSsl Namespace

QSsl 네임스페이스는 ` Qt Network`에 있는 모든 SSL 클래스에 공통적으로 사용되는 열거형을 선언합니다. 더 보기...

헤더: #include <QSsl>
CMake: find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake: QT += network

유형

(since 6.0) enum class AlertLevel { Warning, Fatal, Unknown }
(since 6.0) enum class AlertType { CloseNotify, UnexpectedMessage, BadRecordMac, RecordOverflow, DecompressionFailure, …, UnknownAlertMessage }
enum AlternativeNameEntryType { EmailEntry, DnsEntry, IpAddressEntry }
enum EncodingFormat { Pem, Der }
(since 6.1) enum class ImplementedClass { Key, Certificate, Socket, DiffieHellman, EllipticCurve, …, DtlsCookie }
enum KeyAlgorithm { MlDsa, Rsa, Dsa, Ec, Dh, Opaque }
enum KeyType { PrivateKey, PublicKey }
enum SslOption { SslOptionDisableEmptyFragments, SslOptionDisableSessionTickets, SslOptionDisableCompression, SslOptionDisableServerNameIndication, SslOptionDisableLegacyRenegotiation, …, SslOptionDisableServerCipherPreference }
flags SslOptions
enum SslProtocol { TlsV1_0, TlsV1_0OrLater, TlsV1_1, TlsV1_1OrLater, TlsV1_2, …, SecureProtocols }
(since 6.1) enum class SupportedFeature { CertificateVerification, ClientSideAlpn, ServerSideAlpn, Ocsp, Psk, …, Alerts }

상세 설명

유형 설명

[since 6.0] enum class AlertLevel

경고 메시지의 수준을 설명합니다

이 열거형은 전송되거나 수신된 경고 메시지의 수준을 설명합니다.

상수값설명
QSslSocket::AlertLevel::Warning0비치명적 경보 메시지
QSslSocket::AlertLevel::Fatal1치명적인 경보 메시지. 기본 백엔드가 이러한 경보를 적절히 처리하고 연결을 종료합니다.
QSslSocket::AlertLevel::Unknown2심각도 수준이 알 수 없는 경고.

이 열거형은 Qt 6.0에서 도입되었습니다.

[since 6.0] enum class AlertType

경고 메시지에 사용될 수 있는 코드들을 열거합니다

사용 가능한 값과 그 의미에 대해서는 RFC 8446의 6절을 참조하십시오.

상수값설명
QSslSocket::AlertType::CloseNotify0,
QSslSocket::AlertType::UnexpectedMessage10 
QSslSocket::AlertType::BadRecordMac20 
QSslSocket::AlertType::RecordOverflow22 
QSslSocket::AlertType::DecompressionFailure30 
QSslSocket::AlertType::HandshakeFailure40 
QSslSocket::AlertType::NoCertificate41 
QSslSocket::AlertType::BadCertificate42 
QSslSocket::AlertType::UnsupportedCertificate43 
QSslSocket::AlertType::CertificateRevoked44 
QSslSocket::AlertType::CertificateExpired45 
QSslSocket::AlertType::CertificateUnknown46 
QSslSocket::AlertType::IllegalParameter47 
QSslSocket::AlertType::UnknownCa48 
QSslSocket::AlertType::AccessDenied49 
QSslSocket::AlertType::DecodeError50 
QSslSocket::AlertType::DecryptError51 
QSslSocket::AlertType::ExportRestriction60 
QSslSocket::AlertType::ProtocolVersion70 
QSslSocket::AlertType::InsufficientSecurity71 
QSslSocket::AlertType::InternalError80 
QSslSocket::AlertType::InappropriateFallback86 
QSslSocket::AlertType::UserCancelled90 
QSslSocket::AlertType::NoRenegotiation100 
QSslSocket::AlertType::MissingExtension109 
QSslSocket::AlertType::UnsupportedExtension110 
QSslSocket::AlertType::CertificateUnobtainable111 
QSslSocket::AlertType::UnrecognizedName112 
QSslSocket::AlertType::BadCertificateStatusResponse113 
QSslSocket::AlertType::BadCertificateHashValue114 
QSslSocket::AlertType::UnknownPskIdentity115 
QSslSocket::AlertType::CertificateRequired116 
QSslSocket::AlertType::NoApplicationProtocol120 
QSslSocket::AlertType::UnknownAlertMessage255 

이 열거형은 Qt 6.0에서 도입되었습니다.

enum QSsl::AlternativeNameEntryType

QSslCertificate 의 대체 이름 항목에 사용되는 키 유형을 설명합니다.

상수값설명
QSsl::EmailEntry0이메일 항목입니다. 이 항목에는 인증서가 유효한 이메일 주소가 포함됩니다.
QSsl::DnsEntry1DNS 호스트 이름 항목: 이 항목에는 인증서가 유효한 호스트 이름이 포함됩니다. 이 항목에는 와일드카드가 포함될 수 있습니다.
QSsl::IpAddressEntry2IP 주소 항목; 이 항목에는 인증서가 유효한 IP 주소가 포함되어 있으며, Qt 5.13에서 도입되었습니다.

QSslCertificate::subjectAlternativeNames()도 참조하십시오 .

enum QSsl::EncodingFormat

인증서 및 키에 대해 지원되는 인코딩 형식을 설명합니다.

상수값설명
QSsl::Pem0PEM 형식.
QSsl::Der1DER 형식.

[since 6.1] enum class ImplementedClass

TLS 백엔드가 구현하는 클래스를 열거합니다

QtNetwork 에서 일부 클래스는 백엔드별 구현 방식을 가지므로 구현되지 않은 상태로 남겨둘 수 있습니다. 이 열거형의 열거항은 백엔드에서 정상적으로 작동하는 구현을 가진 클래스를 나타냅니다.

상수값설명
QSslSocket::ImplementedClass::Key0QSslKey 클래스.
QSslSocket::ImplementedClass::Certificate1QSslCertificate 클래스.
QSslSocket::ImplementedClass::Socket2QSslSocket 클래스. 클래스.
QSslSocket::ImplementedClass::DiffieHellman3QSslDiffieHellmanParameters 클래스.
QSslSocket::ImplementedClass::EllipticCurve4QSslEllipticCurve 클래스.
QSslSocket::ImplementedClass::Dtls5QDtls 클래스.
QSslSocket::ImplementedClass::DtlsCookie6QDtlsClientVerifier 클래스.

이 열거형은 Qt 6.1에서 도입되었습니다.

enum QSsl::KeyAlgorithm

QSslKey 에서 지원하는 다양한 키 알고리즘에 대해 설명합니다.

상수값설명
QSsl::MlDsa5ML-DSA 알고리즘입니다.
QSsl::Rsa1RSA 알고리즘입니다.
QSsl::Dsa2DSA 알고리즘.
QSsl::Ec3타원 곡선 알고리즘.
QSsl::Dh4디피-헬만(Diffie-Hellman) 알고리즘.
QSsl::Opaque0QSslKey 에서 '블랙박스'로 취급해야 하는 키.

불투명 키 기능을 통해 애플리케이션은 Qt가 현재 기본적으로 제공하지 않는 PKCS#11과 같은 기능을 지원할 수 있습니다.

enum QSsl::KeyType

QSslKey 가 지원하는 두 가지 키 유형에 대해 설명합니다.

상수값설명
QSsl::PrivateKey0개인 키입니다.
QSsl::PublicKey1공개 키입니다.

enum QSsl::SslOption
flags QSsl::SslOptions

SSL 동작의 세부 사항을 제어하는 데 사용할 수 있는 옵션을 설명합니다. 이러한 옵션은 일반적으로 버그가 있는 서버를 우회하기 위해 기능을 비활성화하는 데 사용됩니다.

상수값설명
QSsl::SslOptionDisableEmptyFragments0x01블록 암호를 사용할 때 데이터에 빈 프래그먼트를 삽입하는 기능을 비활성화합니다. 이 옵션을 활성화하면 BEAST 공격과 같은 일부 공격을 방지할 수 있지만, 일부 서버와는 호환되지 않습니다.
QSsl::SslOptionDisableSessionTickets0x02SSL 세션 티켓 확장을 비활성화합니다. 이로 인해 연결 설정 속도가 느려질 수 있지만, 일부 서버는 이 확장과 호환되지 않습니다.
QSsl::SslOptionDisableCompression0x04SSL 압축 확장을 비활성화합니다. 이 기능을 활성화하면 SSL을 통해 전송되는 데이터를 압축할 수 있지만, 일부 서버는 이 확장과 호환되지 않습니다.
QSsl::SslOptionDisableServerNameIndication0x08SSL 서버 이름 표시(SSL Server Name Indication) 확장을 비활성화합니다. 이 옵션을 활성화하면 서버에 액세스 중인 가상 호스트를 알려주어, 서버가 올바른 인증서로 응답할 수 있게 합니다.
QSsl::SslOptionDisableLegacyRenegotiation0x10연결 매개변수를 재협상하기 위한 구식이고 안전하지 않은 메커니즘을 비활성화합니다. 이 옵션을 활성화하면 레거시 서버와의 연결이 가능해질 수 있지만, 공격자가 SSL 세션에 평문을 주입할 가능성이 생깁니다.
QSsl::SslOptionDisableSessionSharing0x20세션 ID 핸드셰이크 속성을 통한 SSL 세션 공유를 비활성화합니다.
QSsl::SslOptionDisableSessionPersistence0x40QSslConfiguration::sessionTicket() 함수가 반환하는 대로 SSL 세션을 ASN.1 형식으로 저장하는 기능을 비활성화합니다. 이 기능을 활성화하면 사용 중인 세션 티켓 하나당 약 1K의 메모리 오버헤드가 발생합니다.
QSsl::SslOptionDisableServerCipherPreference0x80클라이언트가 전송한 암호 순서가 아닌 서버의 기본 설정에 따라 암호를 선택하는 기능을 비활성화합니다. 이 옵션은 서버 소켓에만 적용되며, OpenSSL 백엔드에서만 지원됩니다.

기본적으로 SslOptionDisableEmptyFragments는 많은 서버에서 문제를 일으키므로 활성화되어 있습니다. 또한 SslOptionDisableLegacyRenegotiation은 보안 위험을 초래하므로 활성화되어 있습니다. CRIME을 통해 알려진 공격을 방지하기 위해 SslOptionDisableCompression이 활성화되어 있습니다. 메모리 사용량을 최적화하기 위해 SslOptionDisableSessionPersistence가 활성화되어 있습니다. 그 외의 옵션은 비활성화되어 있습니다.

참고: 위 옵션의 사용가능 여부는 사용 중인 SSL 백엔드의 버전에 따라 다릅니다.

SslOptions 유형은 QFlags<SslOption>에 대한 typedef입니다. 이 유형은 SslOption 값들의 OR 조합을 저장합니다.

enum QSsl::SslProtocol

이 암호의 프로토콜을 설명합니다.

상수값설명
QSsl::TlsV1_00TLSv1.0
QSsl::TlsV1_0OrLater5TLSv1.0 및 이후 버전.
QSsl::TlsV1_11TLSv1.1.
QSsl::TlsV1_1OrLater6TLSv1.1 및 이후 버전.
QSsl::TlsV1_22TLSv1.2.
QSsl::TlsV1_2OrLater7TLSv1.2 및 이후 버전.
QSsl::DtlsV1_08DTLSv1.0
QSsl::DtlsV1_0OrLater9DTLSv1.0 및 이후 버전.
QSsl::DtlsV1_210DTLSv1.2
QSsl::DtlsV1_2OrLater11DTLSv1.2 및 이후 버전.
QSsl::TlsV1_3 (since Qt 5.12)12TLSv1.3.
QSsl::TlsV1_3OrLater (since Qt 5.12)13TLSv1.3 및 이후 버전.
QSsl::UnknownProtocol-1암호화 프로토콜을 확인할 수 없습니다.
QSsl::AnyProtocol3지원되는 모든 프로토콜. 이 값은 QSslSocket 에서만 사용됩니다.
QSsl::SecureProtocols4기본 옵션으로, 보안이 확인된 프로토콜을 사용합니다.

[since 6.1] enum class SupportedFeature

TLS 백엔드가 지원할 수 있는 기능을 나열합니다

QtNetwork 에서 TLS 관련 클래스들은 공개 API를 제공하지만, 일부 백엔드에서는 해당 기능이 구현되지 않을 수 있습니다. 예를 들어, 당사의 SecureTransport 백엔드는 서버 측 ALPN을 지원하지 않습니다. SupportedFeature 열거형의 열거자는 특정 기능이 지원됨을 나타냅니다.

상수값설명
QSslSocket::SupportedFeature::CertificateVerification0백엔드에서 QSslCertificate::verify()가 구현되었음을 나타냅니다.
QSslSocket::SupportedFeature::ClientSideAlpn1클라이언트 측 ALPN(애플리케이션 계층 프로토콜 협상).
QSslSocket::SupportedFeature::ServerSideAlpn2서버 측 ALPN.
QSslSocket::SupportedFeature::Ocsp3OCSP 스테이플링(온라인 인증서 상태 프로토콜).
QSslSocket::SupportedFeature::Psk4사전 공유 키.
QSslSocket::SupportedFeature::SessionTicket5세션 티켓.
QSslSocket::SupportedFeature::Alerts6송수신된 경고 메시지에 대한 정보.

이 열거형은 Qt 6.1에서 도입되었습니다.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.