\hypertarget{classfz_1_1tls__session__info}{}\section{tls\+\_\+session\+\_\+info Class Reference} \label{classfz_1_1tls__session__info}\index{tls\_session\_info@{tls\_session\_info}} Information about a T\+LS session. {\ttfamily \#include $<$tls\+\_\+info.\+hpp$>$} \subsection*{Public Types} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classfz_1_1tls__session__info_a57161535423a8711b81459195573f469}\label{classfz_1_1tls__session__info_a57161535423a8711b81459195573f469}} enum {\bfseries algorithm\+\_\+warnings\+\_\+t} \{ {\bfseries tlsver} = 1, {\bfseries cipher} = 2, {\bfseries mac} = 4, {\bfseries kex} = 8 \} \end{DoxyCompactItemize} \subsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classfz_1_1tls__session__info_afc116e091bbeb3cef1398ee1fdfac711}\label{classfz_1_1tls__session__info_afc116e091bbeb3cef1398ee1fdfac711}} {\bfseries tls\+\_\+session\+\_\+info} (\mbox{\hyperlink{classfz_1_1tls__session__info}{tls\+\_\+session\+\_\+info}} const \&)=default \item \mbox{\Hypertarget{classfz_1_1tls__session__info_a9198d8e414b1c8921288cfb7bd8ceba0}\label{classfz_1_1tls__session__info_a9198d8e414b1c8921288cfb7bd8ceba0}} {\bfseries tls\+\_\+session\+\_\+info} (\mbox{\hyperlink{classfz_1_1tls__session__info}{tls\+\_\+session\+\_\+info}} \&\&) noexcept=default \item \mbox{\Hypertarget{classfz_1_1tls__session__info_aecbf7ef95bc330c72a52f7f85d4aaffc}\label{classfz_1_1tls__session__info_aecbf7ef95bc330c72a52f7f85d4aaffc}} \mbox{\hyperlink{classfz_1_1tls__session__info}{tls\+\_\+session\+\_\+info}} \& {\bfseries operator=} (\mbox{\hyperlink{classfz_1_1tls__session__info}{tls\+\_\+session\+\_\+info}} const \&)=default \item \mbox{\Hypertarget{classfz_1_1tls__session__info_a0ee5f7e1fdb9534bd175f3e908912e43}\label{classfz_1_1tls__session__info_a0ee5f7e1fdb9534bd175f3e908912e43}} \mbox{\hyperlink{classfz_1_1tls__session__info}{tls\+\_\+session\+\_\+info}} \& {\bfseries operator=} (\mbox{\hyperlink{classfz_1_1tls__session__info}{tls\+\_\+session\+\_\+info}} \&\&) noexcept=default \item \mbox{\Hypertarget{classfz_1_1tls__session__info_ae613a5cff93258565393a4aacf637374}\label{classfz_1_1tls__session__info_ae613a5cff93258565393a4aacf637374}} {\bfseries tls\+\_\+session\+\_\+info} (std\+::string const \&host, unsigned int port, std\+::string const \&protocol, std\+::string const \&key\+\_\+exchange, std\+::string const \&session\+\_\+cipher, std\+::string const \&session\+\_\+mac, int algorithm\+\_\+warnings, std\+::vector$<$ \mbox{\hyperlink{classfz_1_1x509__certificate}{x509\+\_\+certificate}} $>$ \&\&certificates, bool \mbox{\hyperlink{classfz_1_1tls__session__info_a23bcb4a99b4ac7b399d6414c0c3fff58}{system\+\_\+trust}}, bool hostname\+\_\+mismatch) \item \mbox{\Hypertarget{classfz_1_1tls__session__info_aac61de37400ef5730e1c4c81a7787ef1}\label{classfz_1_1tls__session__info_aac61de37400ef5730e1c4c81a7787ef1}} std\+::string const \& \mbox{\hyperlink{classfz_1_1tls__session__info_aac61de37400ef5730e1c4c81a7787ef1}{get\+\_\+host}} () const \begin{DoxyCompactList}\small\item\em The server\textquotesingle{}s hostname used to connect. \end{DoxyCompactList}\item \mbox{\Hypertarget{classfz_1_1tls__session__info_a17d42dbb825038ee82865b2b800dcad6}\label{classfz_1_1tls__session__info_a17d42dbb825038ee82865b2b800dcad6}} unsigned int \mbox{\hyperlink{classfz_1_1tls__session__info_a17d42dbb825038ee82865b2b800dcad6}{get\+\_\+port}} () const \begin{DoxyCompactList}\small\item\em The server\textquotesingle{}s port. \end{DoxyCompactList}\item \mbox{\Hypertarget{classfz_1_1tls__session__info_af710e75b468dec9d6e5cb27a430b52af}\label{classfz_1_1tls__session__info_af710e75b468dec9d6e5cb27a430b52af}} std\+::string const \& \mbox{\hyperlink{classfz_1_1tls__session__info_af710e75b468dec9d6e5cb27a430b52af}{get\+\_\+session\+\_\+cipher}} () const \begin{DoxyCompactList}\small\item\em The symmetric algorithm used to encrypt all exchanged application data. \end{DoxyCompactList}\item \mbox{\Hypertarget{classfz_1_1tls__session__info_a9689365172ec68b446a60576ff710d57}\label{classfz_1_1tls__session__info_a9689365172ec68b446a60576ff710d57}} std\+::string const \& \mbox{\hyperlink{classfz_1_1tls__session__info_a9689365172ec68b446a60576ff710d57}{get\+\_\+session\+\_\+mac}} () const \begin{DoxyCompactList}\small\item\em The M\+AC used for integrity-\/protect and authenticate the exchanged application data. \end{DoxyCompactList}\item std\+::vector$<$ \mbox{\hyperlink{classfz_1_1x509__certificate}{fz\+::x509\+\_\+certificate}} $>$ const \& \mbox{\hyperlink{classfz_1_1tls__session__info_aab863796c69fe0415585b18d3e115efb}{get\+\_\+certificates}} () const \begin{DoxyCompactList}\small\item\em The server\textquotesingle{}s certificate chain. \end{DoxyCompactList}\item \mbox{\Hypertarget{classfz_1_1tls__session__info_a88a9e40f1545a0ba4454128f986fbe81}\label{classfz_1_1tls__session__info_a88a9e40f1545a0ba4454128f986fbe81}} std\+::string const \& \mbox{\hyperlink{classfz_1_1tls__session__info_a88a9e40f1545a0ba4454128f986fbe81}{get\+\_\+protocol}} () const \begin{DoxyCompactList}\small\item\em T\+LS version. \end{DoxyCompactList}\item \mbox{\Hypertarget{classfz_1_1tls__session__info_a3a48d206acfd523fb1204a68009d9002}\label{classfz_1_1tls__session__info_a3a48d206acfd523fb1204a68009d9002}} std\+::string const \& \mbox{\hyperlink{classfz_1_1tls__session__info_a3a48d206acfd523fb1204a68009d9002}{get\+\_\+key\+\_\+exchange}} () const \begin{DoxyCompactList}\small\item\em Key exchange algorithm. \end{DoxyCompactList}\item \mbox{\Hypertarget{classfz_1_1tls__session__info_aba007db8951b7be2a10d08ab00ec64dd}\label{classfz_1_1tls__session__info_aba007db8951b7be2a10d08ab00ec64dd}} int \mbox{\hyperlink{classfz_1_1tls__session__info_aba007db8951b7be2a10d08ab00ec64dd}{get\+\_\+algorithm\+\_\+warnings}} () const \begin{DoxyCompactList}\small\item\em Warnings about old algorithms used, which are considered weak. \end{DoxyCompactList}\item bool \mbox{\hyperlink{classfz_1_1tls__session__info_a23bcb4a99b4ac7b399d6414c0c3fff58}{system\+\_\+trust}} () const \item \mbox{\Hypertarget{classfz_1_1tls__session__info_a2f7346fa2a97e7e594fd42f4973cab17}\label{classfz_1_1tls__session__info_a2f7346fa2a97e7e594fd42f4973cab17}} bool \mbox{\hyperlink{classfz_1_1tls__session__info_a2f7346fa2a97e7e594fd42f4973cab17}{mismatched\+\_\+hostname}} () const \begin{DoxyCompactList}\small\item\em True if the hostname in the S\+A\+Ns does not match the requested hostname. \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection{Detailed Description} Information about a T\+LS session. \subsection{Member Function Documentation} \mbox{\Hypertarget{classfz_1_1tls__session__info_aab863796c69fe0415585b18d3e115efb}\label{classfz_1_1tls__session__info_aab863796c69fe0415585b18d3e115efb}} \index{tls\_session\_info@{tls\_session\_info}!get\_certificates@{get\_certificates}} \index{get\_certificates@{get\_certificates}!tls\_session\_info@{tls\_session\_info}} \subsubsection{\texorpdfstring{get\_certificates()}{get\_certificates()}} {\footnotesize\ttfamily std\+::vector$<$\mbox{\hyperlink{classfz_1_1x509__certificate}{fz\+::x509\+\_\+certificate}}$>$ const\& get\+\_\+certificates (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}} The server\textquotesingle{}s certificate chain. The chain is ordered from the server\textquotesingle{}s own certificate at index 0 up to the self-\/signed root CA. Chain may be partial. \mbox{\Hypertarget{classfz_1_1tls__session__info_a23bcb4a99b4ac7b399d6414c0c3fff58}\label{classfz_1_1tls__session__info_a23bcb4a99b4ac7b399d6414c0c3fff58}} \index{tls\_session\_info@{tls\_session\_info}!system\_trust@{system\_trust}} \index{system\_trust@{system\_trust}!tls\_session\_info@{tls\_session\_info}} \subsubsection{\texorpdfstring{system\_trust()}{system\_trust()}} {\footnotesize\ttfamily bool system\+\_\+trust (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}} Returns true if the server certificate is to be trusted according to the operating system\textquotesingle{}s trust store. The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item \mbox{\hyperlink{tls__info_8hpp}{tls\+\_\+info.\+hpp}}\end{DoxyCompactItemize}