SSL_SESSION_G...TOCOL_VERSION(3SSL)

πŸ’– SSL_SESSION_get_protocol_version, SSL_SESSION_set_protocol_version πŸ’–

okay bestie so this is from the OpenSSL manual, section 3SSL, and it's literally just two lil functions that let you read and write the protocol version sitting inside an SSL_SESSION. adorable. let's get into it πŸŽ€


✨ NAME ✨

SSL_SESSION_get_protocol_version, SSL_SESSION_set_protocol_version β€” get and set the session protocol version


🌸 SYNOPSIS 🌸

#include <openssl/ssl.h>

int SSL_SESSION_get_protocol_version(const SSL_SESSION *s);
int SSL_SESSION_set_protocol_version(SSL_SESSION *s, int version);

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so first up, SSL_SESSION_get_protocol_version() β€” she returns the protocol version number that session s is using. that's it. that's the whole job. main character, no notes πŸ’…

and then SSL_SESSION_set_protocol_version() β€” she sets the protocol version associated with the SSL_SESSION object s to the value version. and what should you pass in there? a version constant, like TLS1_3_VERSION etc. for example, you could use this to set up a session based PSK β€” go peep SSL_CTX_set_psk_use_session_callback(3) for that whole vibe. πŸ”₯


🌈 RETURN VALUES 🌈

SSL_SESSION_get_protocol_version() returns a number indicating the protocol version that session's using β€” and that number matches the constants, e.g. TLS1_VERSION, TLS1_2_VERSION or TLS1_3_VERSION. slay.

⚠️ bestie listen. the SSL_SESSION_get_protocol_version() function does not perform a null check on the provided session s pointer. so if you hand her a NULL… that's on you, not on her. 🫢 please check your pointers.

SSL_SESSION_set_protocol_version() returns 1 on success or 0 on failure. simple as that.


πŸ’œ SEE ALSO πŸ’œ


⭐ HISTORY ⭐

  • SSL_SESSION_get_protocol_version() was added in OpenSSL 1.1.0
  • SSL_SESSION_set_protocol_version() was added in OpenSSL 1.1.1

Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.


kk that's the whole page, no cap 🧚 this was the OpenSSL 4.0.3 docs drop, dated 2026-09-2…, and the manual name is SSL_SESSION_get_protocol_version(3SSL) in case you were wondering who she is πŸ’– bye bestie, go check your null pointers πŸ’…βœ¨

πŸ“¦ where this page comes from