SSL_GET_FINISHED(3)

πŸ“¦ version 4.1.0, in opensuse-leap 16.0

πŸŽ€ NAME πŸŽ€

okay so this is the Library Functions Manual entry for SSL_GET_FINISHED(3), and it covers SSL_get_finished and SSL_get_peer_finished β€” aka the besties that get the last sent or last expected finished message. πŸ’…βœ¨

🌸 SYNOPSIS 🌸

#include <openssl/ssl.h>

size_t
SSL_get_finished(const SSL *ssl, void *buf, size_t count);

size_t
SSL_get_peer_finished(const SSL *ssl, void *buf, size_t count);

πŸ¦‹ DESCRIPTION πŸ¦‹

okay bestie, here's the vibe: SSL_get_finished() and SSL_get_peer_finished() copy count bytes from the last finished message sent to the peer or expected from the peer into the caller-provided buffer buf. no cap, that's literally the whole move. πŸ’–

the finished message is computed from a checksum of the handshake records exchanged with the peer. its length depends on the ciphersuite in use and is at most EVP_MAX_MD_SIZE, i.e., 64 bytes. so yes, it's giving β€œsmall but iconic.” πŸ”₯

⭐ RETURN VALUES ⭐

SSL_get_finished() and SSL_get_peer_finished() return the number of bytes copied into buf. the return value is zero if the handshake has not reached the finished message. 🫢

lowkey important: if the handshake hasn't gotten to the finished message yet, you get 0 back β€” no finished message to copy, bestie. 😭

🌈 SEE ALSO 🌈

πŸ‘‘ STANDARDS πŸ‘‘

  • RFC 8446: The Transport Layer Security (TLS) Protocol Version 1.3, section 4.4.4: Finished.
  • RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2, section 7.4.9: Finished.

πŸ’œ HISTORY πŸ’œ

SSL_get_finished() and SSL_get_peer_finished() first appeared in SSLeay 0.9.5 and have been available since OpenBSD 2.7. periodt. πŸ’€βœ¨


mwah πŸ’‹ this lil rewrite is serving the SSL_GET_FINISHED(3) page as packaged by Debian, dated January 30, 2021 β€” bye bestie πŸ«ΆπŸŽ€

πŸ“¦ where this page comes from