\hypertarget{group__ssl__mode__constants}{}\section{S\+SL Verification Mode Constants}
\label{group__ssl__mode__constants}\index{S\+S\+L Verification Mode Constants@{S\+S\+L Verification Mode Constants}}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
const \hyperlink{group__ssl__mode__constants_ga70bdb100f9ffb3564dfc38505740a0cb}{Qore\+::\+S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+C\+L\+I\+E\+N\+T\+\_\+\+O\+N\+CE} = S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+C\+L\+I\+E\+N\+T\+\_\+\+O\+N\+CE
\begin{DoxyCompactList}\small\item\em Only request a client certificate once in server mode. \end{DoxyCompactList}\item 
const \hyperlink{group__ssl__mode__constants_ga7053aa1b8d954e00530f632c502c91d2}{Qore\+::\+S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+F\+A\+I\+L\+\_\+\+I\+F\+\_\+\+N\+O\+\_\+\+P\+E\+E\+R\+\_\+\+C\+E\+RT} = S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+F\+A\+I\+L\+\_\+\+I\+F\+\_\+\+N\+O\+\_\+\+P\+E\+E\+R\+\_\+\+C\+E\+RT
\begin{DoxyCompactList}\small\item\em Require a client certificate in server mode. \end{DoxyCompactList}\item 
const \hyperlink{group__ssl__mode__constants_ga3e03ac75e51a9f4e994518fc3fc69ab7}{Qore\+::\+S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+N\+O\+NE} = S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+N\+O\+NE
\begin{DoxyCompactList}\small\item\em Do not verify the peer\textquotesingle{}s certificate. \end{DoxyCompactList}\item 
const \hyperlink{group__ssl__mode__constants_gae29e3d0203f536c5bf5c0cb225c73c1a}{Qore\+::\+S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+P\+E\+ER} = S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+P\+E\+ER
\begin{DoxyCompactList}\small\item\em Verify the peer\textquotesingle{}s certificate. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
These are integer contants to be used with \hyperlink{class_qore_1_1_socket_aaafb6b597a1e5b3372d88ea53ea4cbac}{Socket\+:\+:set\+Ssl\+Verify\+Mode()} and are returned by \hyperlink{class_qore_1_1_socket_a749e2b7f8882b0e6fcc058886134daf5}{Socket\+:\+:get\+Ssl\+Verify\+Mode()} 

\subsection{Variable Documentation}
\mbox{\Hypertarget{group__ssl__mode__constants_ga70bdb100f9ffb3564dfc38505740a0cb}\label{group__ssl__mode__constants_ga70bdb100f9ffb3564dfc38505740a0cb}} 
\index{S\+S\+L Verification Mode Constants@{S\+S\+L Verification Mode Constants}!S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+C\+L\+I\+E\+N\+T\+\_\+\+O\+N\+CE@{S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+C\+L\+I\+E\+N\+T\+\_\+\+O\+N\+CE}}
\index{S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+C\+L\+I\+E\+N\+T\+\_\+\+O\+N\+CE@{S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+C\+L\+I\+E\+N\+T\+\_\+\+O\+N\+CE}!S\+S\+L Verification Mode Constants@{S\+S\+L Verification Mode Constants}}
\subsubsection{\texorpdfstring{S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+C\+L\+I\+E\+N\+T\+\_\+\+O\+N\+CE}{SSL\_VERIFY\_CLIENT\_ONCE}}
{\footnotesize\ttfamily const Qore\+::\+S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+C\+L\+I\+E\+N\+T\+\_\+\+O\+N\+CE = S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+C\+L\+I\+E\+N\+T\+\_\+\+O\+N\+CE}



Only request a client certificate once in server mode. 

\begin{DoxyParagraph}{Server Mode}
Only request a client certificate on the initial T\+L\+S/\+S\+SL handshake. Do not ask for a client certificate again in case of a renegotiation. This flag must be used together with \hyperlink{group__ssl__mode__constants_gae29e3d0203f536c5bf5c0cb225c73c1a}{Qore\+::\+S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+P\+E\+ER} (combined with binary or).
\end{DoxyParagraph}
\begin{DoxyParagraph}{Client Mode}
Ignored
\end{DoxyParagraph}
\begin{DoxyNote}{Note}
must be used with \hyperlink{group__ssl__mode__constants_gae29e3d0203f536c5bf5c0cb225c73c1a}{Qore\+::\+S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+P\+E\+ER} (combined with binary or) 
\end{DoxyNote}
\mbox{\Hypertarget{group__ssl__mode__constants_ga7053aa1b8d954e00530f632c502c91d2}\label{group__ssl__mode__constants_ga7053aa1b8d954e00530f632c502c91d2}} 
\index{S\+S\+L Verification Mode Constants@{S\+S\+L Verification Mode Constants}!S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+F\+A\+I\+L\+\_\+\+I\+F\+\_\+\+N\+O\+\_\+\+P\+E\+E\+R\+\_\+\+C\+E\+RT@{S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+F\+A\+I\+L\+\_\+\+I\+F\+\_\+\+N\+O\+\_\+\+P\+E\+E\+R\+\_\+\+C\+E\+RT}}
\index{S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+F\+A\+I\+L\+\_\+\+I\+F\+\_\+\+N\+O\+\_\+\+P\+E\+E\+R\+\_\+\+C\+E\+RT@{S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+F\+A\+I\+L\+\_\+\+I\+F\+\_\+\+N\+O\+\_\+\+P\+E\+E\+R\+\_\+\+C\+E\+RT}!S\+S\+L Verification Mode Constants@{S\+S\+L Verification Mode Constants}}
\subsubsection{\texorpdfstring{S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+F\+A\+I\+L\+\_\+\+I\+F\+\_\+\+N\+O\+\_\+\+P\+E\+E\+R\+\_\+\+C\+E\+RT}{SSL\_VERIFY\_FAIL\_IF\_NO\_PEER\_CERT}}
{\footnotesize\ttfamily const Qore\+::\+S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+F\+A\+I\+L\+\_\+\+I\+F\+\_\+\+N\+O\+\_\+\+P\+E\+E\+R\+\_\+\+C\+E\+RT = S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+F\+A\+I\+L\+\_\+\+I\+F\+\_\+\+N\+O\+\_\+\+P\+E\+E\+R\+\_\+\+C\+E\+RT}



Require a client certificate in server mode. 

\begin{DoxyParagraph}{Server Mode}
If the client did not return a certificate, the T\+L\+S/\+S\+SL handshake is immediately terminated with a \char`\"{}handshake failure\char`\"{} alert. This flag must be used together with \hyperlink{group__ssl__mode__constants_gae29e3d0203f536c5bf5c0cb225c73c1a}{Qore\+::\+S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+P\+E\+ER} (combined with binary or).
\end{DoxyParagraph}
\begin{DoxyParagraph}{Client Mode}
Ignored
\end{DoxyParagraph}
\begin{DoxyNote}{Note}
must be used with \hyperlink{group__ssl__mode__constants_gae29e3d0203f536c5bf5c0cb225c73c1a}{Qore\+::\+S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+P\+E\+ER} (combined with binary or) 
\end{DoxyNote}
\mbox{\Hypertarget{group__ssl__mode__constants_ga3e03ac75e51a9f4e994518fc3fc69ab7}\label{group__ssl__mode__constants_ga3e03ac75e51a9f4e994518fc3fc69ab7}} 
\index{S\+S\+L Verification Mode Constants@{S\+S\+L Verification Mode Constants}!S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+N\+O\+NE@{S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+N\+O\+NE}}
\index{S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+N\+O\+NE@{S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+N\+O\+NE}!S\+S\+L Verification Mode Constants@{S\+S\+L Verification Mode Constants}}
\subsubsection{\texorpdfstring{S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+N\+O\+NE}{SSL\_VERIFY\_NONE}}
{\footnotesize\ttfamily const Qore\+::\+S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+N\+O\+NE = S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+N\+O\+NE}



Do not verify the peer\textquotesingle{}s certificate. 

\begin{DoxyParagraph}{Server Mode}
The server will not send a client certificate request to the client, so the client will not send a certificate
\end{DoxyParagraph}
\begin{DoxyParagraph}{Client Mode}
If not using an anonymous cipher (by default disabled), the server will send a certificate which will be checked. The handshake will be continued regardless of the verification result. 
\end{DoxyParagraph}
\mbox{\Hypertarget{group__ssl__mode__constants_gae29e3d0203f536c5bf5c0cb225c73c1a}\label{group__ssl__mode__constants_gae29e3d0203f536c5bf5c0cb225c73c1a}} 
\index{S\+S\+L Verification Mode Constants@{S\+S\+L Verification Mode Constants}!S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+P\+E\+ER@{S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+P\+E\+ER}}
\index{S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+P\+E\+ER@{S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+P\+E\+ER}!S\+S\+L Verification Mode Constants@{S\+S\+L Verification Mode Constants}}
\subsubsection{\texorpdfstring{S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+P\+E\+ER}{SSL\_VERIFY\_PEER}}
{\footnotesize\ttfamily const Qore\+::\+S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+P\+E\+ER = S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+P\+E\+ER}



Verify the peer\textquotesingle{}s certificate. 

\begin{DoxyParagraph}{Server Mode}
The server sends a client certificate request to the client. The certificate returned (if any) is checked. If the verification process fails, the T\+L\+S/\+S\+SL handshake is immediately terminated with an alert message containing the reason for the verification failure. The behaviour can be controlled by the additional \hyperlink{group__ssl__mode__constants_ga7053aa1b8d954e00530f632c502c91d2}{Qore\+::\+S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+F\+A\+I\+L\+\_\+\+I\+F\+\_\+\+N\+O\+\_\+\+P\+E\+E\+R\+\_\+\+C\+E\+RT} and \hyperlink{group__ssl__mode__constants_ga70bdb100f9ffb3564dfc38505740a0cb}{Qore\+::\+S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+C\+L\+I\+E\+N\+T\+\_\+\+O\+N\+CE} flags.
\end{DoxyParagraph}
\begin{DoxyParagraph}{Client Mode}
The server certificate is verified. If the verification process fails, the T\+L\+S/\+S\+SL handshake is immediately terminated with an alert message containing the reason for the verification failure. If no server certificate is sent, because an anonymous cipher is used, \hyperlink{group__ssl__mode__constants_gae29e3d0203f536c5bf5c0cb225c73c1a}{Qore\+::\+S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+P\+E\+ER} is ignored.
\end{DoxyParagraph}
\begin{DoxySeeAlso}{See also}

\begin{DoxyItemize}
\item \hyperlink{group__ssl__mode__constants_ga7053aa1b8d954e00530f632c502c91d2}{Qore\+::\+S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+F\+A\+I\+L\+\_\+\+I\+F\+\_\+\+N\+O\+\_\+\+P\+E\+E\+R\+\_\+\+C\+E\+RT}
\item \hyperlink{group__ssl__mode__constants_ga70bdb100f9ffb3564dfc38505740a0cb}{Qore\+::\+S\+S\+L\+\_\+\+V\+E\+R\+I\+F\+Y\+\_\+\+C\+L\+I\+E\+N\+T\+\_\+\+O\+N\+CE} 
\end{DoxyItemize}
\end{DoxySeeAlso}
