OpenBSD Handbook Manuals
Search

SSL_dup(3)

Canonical URL: /SSL_dup.3/

SSL_DUP(3) Library Functions Manual SSL_DUP(3)

SSL_dupdeep copy of an SSL object

/* -lssl -lcrypto */
#include <openssl/ssl.h>

SSL *
SSL_dup(SSL *ssl);

() constructs a new SSL object in the same context as ssl and copies much of the contained data from ssl to the new SSL object, but many fields, for example tlsext data, are not copied.

As an exception from deep copying, if a session is already established, the new object shares ssl->cert with the original object.

SSL_dup() returns the new SSL object or NULL on failure.

ssl(3), SSL_clear(3), SSL_copy_session_id(3), SSL_free(3), SSL_new(3), SSL_set_security_level(3)

SSL_dup() first appeared in SSLeay 0.8.0 and has been available since OpenBSD 2.4.

OpenBSD 7.8 June 8, 2025 SSL_DUP(3)

Need conceptual guidance? Continue in the OpenBSD Handbook.