Manual Page Search Parameters


get the X509 certificate chain sent by the peer

#include <openssl/ssl.h>
STACK_OF(X509) *
SSL_get_peer_cert_chain(const SSL *ssl);

SSL_get_peer_cert_chain() returns a pointer to STACK_OF(X509) certificates forming the certificate chain of the peer. If called on the client side, the stack also contains the peer's certificate; if called on the server side, the peer's certificate must be obtained separately using SSL_get_peer_certificate(3). If the peer did not present a certificate, NULL is returned.
SSL_get_peer_cert_chain() returns the peer chain as sent by the peer: it only consists of certificates the peer has sent (in the order the peer has sent them) and it is not a verified chain.
If the session is resumed, peers do not send certificates, so a NULL pointer is returned. Applications can call SSL_session_reused() to determine whether a session is resumed.
The reference count of the STACK_OF(X509) object is not incremented. If the corresponding session is freed, the pointer must not be used any longer.

The following return values can occur:
No certificate was presented by the peer or no connection was established or the certificate chain is no longer available when a session is reused.
Pointer to a STACK_OF(X509)
The return value points to the certificate chain presented by the peer.

ssl(3), SSL_get_peer_certificate(3)

SSL_get_peer_cert_chain() first appeared in SSLeay 0.8.0 and has been available since OpenBSD 2.4.
March 27, 2018 OpenBSD-current