---
title: SSLProtocol
framework: security
role: symbol
role_heading: Enumeration
path: security/sslprotocol
---

# SSLProtocol

An enumeration of valid SSL protocol versions.

## Declaration

```swift
enum SSLProtocol
```

## Overview

Overview The descriptions given here apply to the functions SSLSetProtocolVersion and SSLGetProtocolVersion. For the functions SSLSetProtocolVersionEnabled and SSLGetProtocolVersionEnabled, only the following values are used. For these functions, each constant except SSLProtocol.sslProtocolAll specifies a single protocol version. SSLProtocol.sslProtocol2 SSLProtocol.sslProtocol3 SSLProtocol.tlsProtocol1 SSLProtocol.sslProtocolAll

## Topics

### SSL Protocols

- [SSLProtocol.sslProtocolUnknown](security/sslprotocol/sslprotocolunknown.md)
- [SSLProtocol.sslProtocol2](security/sslprotocol/sslprotocol2.md)
- [SSLProtocol.sslProtocol3](security/sslprotocol/sslprotocol3.md)
- [SSLProtocol.sslProtocol3Only](security/sslprotocol/sslprotocol3only.md)
- [SSLProtocol.sslProtocolAll](security/sslprotocol/sslprotocolall.md)

### TLS Protocols

- [SSLProtocol.tlsProtocol1](security/sslprotocol/tlsprotocol1.md)
- [SSLProtocol.tlsProtocol1Only](security/sslprotocol/tlsprotocol1only.md)
- [SSLProtocol.tlsProtocol11](security/sslprotocol/tlsprotocol11.md)
- [SSLProtocol.tlsProtocol12](security/sslprotocol/tlsprotocol12.md)
- [SSLProtocol.tlsProtocol13](security/sslprotocol/tlsprotocol13.md)
- [SSLProtocol.tlsProtocolMaxSupported](security/sslprotocol/tlsprotocolmaxsupported.md)

### DTLS Protocols

- [SSLProtocol.dtlsProtocol1](security/sslprotocol/dtlsprotocol1.md)
- [SSLProtocol.dtlsProtocol12](security/sslprotocol/dtlsprotocol12.md)

### Initializers

- [init(rawValue:)](security/sslprotocol/init(rawvalue:).md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
