---
c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
SPDX-License-Identifier: curl
Long: ssl-sessions
Arg: <filename>
Protocols: TLS
Help: Load/save SSL session tickets from/to this file
Added: 8.12.0
Category: tls
Multi: single
Experimental: yes
See-also:
  - tls-earlydata
Example:
  - --ssl-sessions sessions.txt $URL
---

# `--ssl-sessions`

Use the given file to load SSL session tickets into curl's cache before
starting any transfers. At the end of a successful curl run, the cached
SSL sessions tickets are saved to the file, replacing any previous content.

The file does not have to exist, but curl reports an error if it is
unable to create it. Unused loaded tickets are saved again, unless they
get replaced or purged from the cache for space reasons.

Using a session file allows `--tls-earlydata` to send the first request
in "0-RTT" mode, should an SSL session with the feature be found. Note that
a server may not support early data. Also note that early data does
not provide forward secrecy, e.g. is not as secure.

The SSL session tickets are stored as base64 encoded text, each ticket on
its own line. The hostnames are cryptographically salted and hashed. While
this prevents someone from easily seeing the hosts you contacted, they could
still check if a specific hostname matches one of the values.

This feature requires that the underlying libcurl was built with the
experimental SSL session import/export feature (SSLS-EXPORT) enabled.
