<!--
{
  "availability" : [
    "macCatalyst: 13.0.0 -",
    "macOS: 10.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Security",
  "identifier" : "/documentation/Security/SSLSessionOption",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "Security"
    ],
    "preciseIdentifier" : "c:@E@SSLSessionOption"
  },
  "title" : "SSLSessionOption"
}
-->

# SSLSessionOption

The options that can be set for an SSL session.

```
enum SSLSessionOption
```

## Overview

Use these flags with calls to the [`SSLSetSessionOption(_:_:_:)`](/documentation/Security/SSLSetSessionOption(_:_:_:)) function.

## Topics

### Constants

[`SSLSessionOption.breakOnServerAuth`](/documentation/Security/SSLSessionOption/breakOnServerAuth)

Enables returning from [`SSLHandshake(_:)`](/documentation/Security/SSLHandshake(_:)) (with a result of `errSSLServerAuthCompleted`) when the server authentication portion of the handshake is complete to allow your application to perform its own certificate verification.

[`SSLSessionOption.breakOnCertRequested`](/documentation/Security/SSLSessionOption/breakOnCertRequested)

Enables returning from [`SSLHandshake(_:)`](/documentation/Security/SSLHandshake(_:)) (with a result of `errSSLClientCertRequested`) when the server requests a client certificate.

[`SSLSessionOption.breakOnClientAuth`](/documentation/Security/SSLSessionOption/breakOnClientAuth)

Enables returning from [`SSLHandshake(_:)`](/documentation/Security/SSLHandshake(_:)) (with a result of `errSSLClientAuthCompleted`) when the client authentication portion of the handshake is complete to allow your application to perform its own certificate verification.

[`SSLSessionOption.falseStart`](/documentation/Security/SSLSessionOption/falseStart)

When enabled, TLS False Start is used if an adequate cipher-suite is negotiated.

[`SSLSessionOption.sendOneByteRecord`](/documentation/Security/SSLSessionOption/sendOneByteRecord)

Enables `1/n-1` record splitting for BEAST attack mitigation.

[`SSLSessionOption.allowServerIdentityChange`](/documentation/Security/SSLSessionOption/allowServerIdentityChange)

Allow server identity change on renegotiation.

[`SSLSessionOption.fallback`](/documentation/Security/SSLSessionOption/fallback)

Enable fallback countermeasures.

[`SSLSessionOption.breakOnClientHello`](/documentation/Security/SSLSessionOption/breakOnClientHello)

Break from a client hello in order to check for SNI.

[`SSLSessionOption.allowRenegotiation`](/documentation/Security/SSLSessionOption/allowRenegotiation)

Allow renegotiation.

[`SSLSessionOption.enableSessionTickets`](/documentation/Security/SSLSessionOption/enableSessionTickets)

Enable session tickets.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)