En esta página

QSsl Namespace

El espacio de nombres QSsl declara enums comunes a todas las clases SSL en Qt Network. Más...

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

Tipos

(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 }

Descripción detallada

Documentación de tipos

[since 6.0] enum class AlertLevel

Describe el nivel de un mensaje de alerta

Este enum describe el nivel de un mensaje de alerta enviado o recibido.

ConstanteValorDescripción
QSslSocket::AlertLevel::Warning0Mensaje de alerta no fatal
QSslSocket::AlertLevel::Fatal1Mensaje de alerta fatal, el backend subyacente gestionará dicha alerta correctamente y cerrará la conexión.
QSslSocket::AlertLevel::Unknown2Una alerta de nivel de gravedad desconocido.

Este enum se introdujo en Qt 6.0.

[since 6.0] enum class AlertType

Enumera los posibles códigos que puede tener un mensaje de alerta.

Véase RFC 8446, sección 6 para los posibles valores y su significado.

ConstanteValorDescripción
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

Este enum se introdujo en Qt 6.0.

enum QSsl::AlternativeNameEntryType

Describe los tipos de clave para las entradas de nombres alternativos en QSslCertificate.

ConstanteValorDescripción
QSsl::EmailEntry0Una entrada de correo electrónico; la entrada contiene una dirección de correo electrónico para la que es válido el certificado.
QSsl::DnsEntry1Una entrada de nombre de host DNS; la entrada contiene una entrada de nombre de host para la que es válido el certificado. La entrada puede contener comodines.
QSsl::IpAddressEntry2Una entrada de dirección IP; la entrada contiene una entrada de dirección IP para la que es válido el certificado, introducida en Qt 5.13.

Véase también QSslCertificate::subjectAlternativeNames().

enum QSsl::EncodingFormat

Describe los formatos de codificación admitidos para certificados y claves.

ConstanteValorDescripción
QSsl::Pem0El formato PEM.
QSsl::Der1El formato DER.

[since 6.1] enum class ImplementedClass

Enumera las clases que implementa un backend TLS.

En QtNetwork, algunas clases tienen una implementación específica del backend y, por lo tanto, pueden dejarse sin implementar. Los enumeradores de este enum indican qué clase tiene una implementación operativa en el backend.

ConstanteValorDescripción
QSslSocket::ImplementedClass::Key0Clase QSslKey.
QSslSocket::ImplementedClass::Certificate1Clase QSslCertificate.
QSslSocket::ImplementedClass::Socket2Clase QSslSocket.
QSslSocket::ImplementedClass::DiffieHellman3Clase QSslDiffieHellmanParameters.
QSslSocket::ImplementedClass::EllipticCurve4Clase QSslEllipticCurve.
QSslSocket::ImplementedClass::Dtls5Clase QDtls.
QSslSocket::ImplementedClass::DtlsCookie6Clase QDtlsClientVerifier.

Este enum se introdujo en Qt 6.1.

enum QSsl::KeyAlgorithm

Describe los distintos algoritmos de clave que admite QSslKey.

ConstanteValorDescripción
QSsl::MlDsa5El algoritmo ML-DSA.
QSsl::Rsa1Algoritmo RSA.
QSsl::Dsa2Algoritmo DSA.
QSsl::Ec3Algoritmo de la curva elíptica.
QSsl::Dh4El algoritmo Diffie-Hellman.
QSsl::Opaque0Una clave que debe ser tratada como una "caja negra" por QSslKey.

La facilidad de clave opaca permite a las aplicaciones añadir soporte para facilidades como PKCS#11 que Qt no ofrece actualmente de forma nativa.

enum QSsl::KeyType

Describe los dos tipos de claves que admite QSslKey.

ConstanteValorDescripción
QSsl::PrivateKey0Una clave privada.
QSsl::PublicKey1Una clave pública.

enum QSsl::SslOption
flags QSsl::SslOptions

Describe las opciones que se pueden utilizar para controlar los detalles del comportamiento SSL. Estas opciones se utilizan generalmente para desactivar funciones y evitar errores en los servidores.

ConstanteValorDescripción
QSsl::SslOptionDisableEmptyFragments0x01Desactiva la inserción de fragmentos vacíos en los datos cuando se utilizan cifrados por bloques. Cuando se activa, esto previene algunos ataques (como el ataque BEAST), sin embargo es incompatible con algunos servidores.
QSsl::SslOptionDisableSessionTickets0x02Desactiva la extensión de ticket de sesión SSL. Esto puede ralentizar la conexión, pero algunos servidores no son compatibles con esta extensión.
QSsl::SslOptionDisableCompression0x04Desactiva la extensión de compresión SSL. Cuando está activada, permite comprimir los datos que se transmiten a través de SSL, aunque algunos servidores no son compatibles con esta extensión.
QSsl::SslOptionDisableServerNameIndication0x08Desactiva la extensión de indicación del nombre del servidor SSL. Si está activada, indica al servidor el host virtual al que se está accediendo, lo que le permite responder con el certificado correcto.
QSsl::SslOptionDisableLegacyRenegotiation0x10Desactiva el antiguo mecanismo inseguro de renegociación de los parámetros de conexión. Cuando está activada, esta opción puede permitir conexiones para servidores heredados, pero introduce la posibilidad de que un atacante pueda inyectar texto plano en la sesión SSL.
QSsl::SslOptionDisableSessionSharing0x20Desactiva el uso compartido de la sesión SSL a través del atributo handshake de ID de sesión.
QSsl::SslOptionDisableSessionPersistence0x40Desactiva el almacenamiento de la sesión SSL en formato ASN.1, tal y como devuelve QSslConfiguration::sessionTicket(). Activar esta función añade una sobrecarga de memoria de aproximadamente 1K por ticket de sesión utilizado.
QSsl::SslOptionDisableServerCipherPreference0x80Desactiva la selección del cifrado elegido basándose en las preferencias del servidor en lugar del orden en que los cifrados fueron enviados por el cliente. Esta opción sólo es relevante para los sockets de servidor, y sólo es respetada por el backend OpenSSL.

Por defecto, SslOptionDisableEmptyFragments está activado ya que causa problemas con un gran número de servidores. SslOptionDisableLegacyRenegotiation también está activada, ya que introduce un riesgo de seguridad. SslOptionDisableCompression está activado para prevenir el ataque publicado por CRIME. SslOptionDisableSessionPersistence está activada para optimizar el uso de memoria. Las demás opciones están desactivadas.

Nota: La disponibilidad de las opciones anteriores depende de la versión del backend SSL en uso.

El tipo SslOptions es un typedef para QFlags<SslOption>. Almacena una combinación OR de valores SslOption.

enum QSsl::SslProtocol

Describe el protocolo del cifrado.

ConstanteValorDescripción
QSsl::TlsV1_00TLSv1.0
QSsl::TlsV1_0OrLater5TLSv1.0 y versiones posteriores.
QSsl::TlsV1_11TLSv1.1
QSsl::TlsV1_1OrLater6TLSv1.1 y versiones posteriores.
QSsl::TlsV1_22TLSv1.2.
QSsl::TlsV1_2OrLater7TLSv1.2 y versiones posteriores.
QSsl::DtlsV1_08DTLSv1.0
QSsl::DtlsV1_0OrLater9DTLSv1.0 y versiones posteriores.
QSsl::DtlsV1_210DTLSv1.2
QSsl::DtlsV1_2OrLater11DTLSv1.2 y versiones posteriores.
QSsl::TlsV1_3 (since Qt 5.12)12TLSv1.3
QSsl::TlsV1_3OrLater (since Qt 5.12)13TLSv1.3 y versiones posteriores.
QSsl::UnknownProtocol-1No se puede determinar el protocolo del cifrado.
QSsl::AnyProtocol3Cualquier protocolo soportado. Este valor sólo lo utiliza QSslSocket.
QSsl::SecureProtocols4La opción por defecto, usando protocolos conocidos por ser seguros.

[since 6.1] enum class SupportedFeature

Enumera las posibles características que soporta un backend TLS

En QtNetwork las clases relacionadas con TLS tienen una API pública, que puede no ser implementada por algún backend, por ejemplo, nuestro backend SecureTransport no soporta ALPN del lado del servidor. Los enumeradores del enum SupportedFeature indican que se admite una característica determinada.

ConstanteValorDescripción
QSslSocket::SupportedFeature::CertificateVerification0Indica que el backend implementa QSslCertificate::verify().
QSslSocket::SupportedFeature::ClientSideAlpn1ALPN (Application Layer Protocol Negotiation) del lado del cliente.
QSslSocket::SupportedFeature::ServerSideAlpn2ALPN del lado del servidor.
QSslSocket::SupportedFeature::Ocsp3Engrapado OCSP (protocolo de estado de certificados en línea).
QSslSocket::SupportedFeature::Psk4Claves precompartidas.
QSslSocket::SupportedFeature::SessionTicket5Tickets de sesión.
QSslSocket::SupportedFeature::Alerts6Información sobre mensajes de alerta enviados y recibidos.

Este enum se introdujo en 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.