|  | Home · All Classes · Modules

# QSsl Class Reference
[QtNetwork module]

The QSsl namespace declares enums common to all SSL classes in QtNetwork. More...

### Types

- enum AlternateNameEntryType { EmailEntry, DnsEntry }
- enum EncodingFormat { Pem, Der }
- enum KeyAlgorithm { Rsa, Dsa }
- enum KeyType { PrivateKey, PublicKey }
- enum SslProtocol { UnknownProtocol, SslV3, SslV2, TlsV1, AnyProtocol }

## Detailed Description

The QSsl namespace declares enums common to all SSL classes in QtNetwork.

## Type Documentation

### QSsl.AlternateNameEntryType

Describes the key types for alternate name entries in QSslCertificate.

Constant | Value | Description
--- | --- | ---
`QSsl.EmailEntry` | `0` | An email entry; the entry contains an email address that the certificate is valid for.
`QSsl.DnsEntry` | `1` | A DNS host name entry; the entry contains a host name entry that the certificate is valid for. The entry may contain wildcards.

See also QSslCertificate.alternateSubjectNames().

### QSsl.EncodingFormat

Describes supported encoding formats for certificates and keys.

Constant | Value | Description
--- | --- | ---
`QSsl.Pem` | `0` | The PEM format.
`QSsl.Der` | `1` | The DER format.

### QSsl.KeyAlgorithm

Describes the different key algorithms supported by QSslKey.

Constant | Value | Description
--- | --- | ---
`QSsl.Rsa` | `0` | The RSA algorithm.
`QSsl.Dsa` | `1` | The DSA algorithm.

### QSsl.KeyType

Describes the two types of keys QSslKey supports.

Constant | Value | Description
--- | --- | ---
`QSsl.PrivateKey` | `0` | A private key.
`QSsl.PublicKey` | `1` | A public key.

### QSsl.SslProtocol

Describes the protocol of the cipher.

Constant | Value | Description
--- | --- | ---
`QSsl.SslV3` | `0` | SSLv3
`QSsl.SslV2` | `1` | SSLv2
`QSsl.TlsV1` | `2` | TLSv1
`QSsl.UnknownProtocol` | `-1` | The cipher's protocol cannot be determined.
`QSsl.AnyProtocol` | `3` | The socket understands SSLv2, SSLv3, and TLSv1. This value is used by QSslSocket only.
`QSsl.TlsV1SslV3` | `4` | On the client side, this will send a TLS 1.0 Client Hello, enabling TLSv1 and SSLv3 connections. On the server side, this will enable both SSLv3 and TLSv1 connections.
`QSsl.SecureProtocols` | `5` | The default option, using protocols known to be secure; currently behaves like TlsV1SslV3.

Note: most servers using SSL understand both versions (2 and 3), but it is recommended to use the latest version only for security reasons. However, SSL and TLS are not compatible with each other: if you get unexpected handshake failures, verify that you chose the correct setting for your protocol.