1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>ssl::context</title> 5<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> 6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> 7<link rel="home" href="../../boost_asio.html" title="Boost.Asio"> 8<link rel="up" href="../reference.html" title="Reference"> 9<link rel="prev" href="spawn/overload7.html" title="spawn (7 of 7 overloads)"> 10<link rel="next" href="ssl__context/add_certificate_authority.html" title="ssl::context::add_certificate_authority"> 11</head> 12<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 13<table cellpadding="2" width="100%"><tr> 14<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> 15<td align="center"><a href="../../../../index.html">Home</a></td> 16<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> 17<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> 18<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> 19<td align="center"><a href="../../../../more/index.htm">More</a></td> 20</tr></table> 21<hr> 22<div class="spirit-nav"> 23<a accesskey="p" href="spawn/overload7.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__context/add_certificate_authority.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> 24</div> 25<div class="section"> 26<div class="titlepage"><div><div><h3 class="title"> 27<a name="boost_asio.reference.ssl__context"></a><a class="link" href="ssl__context.html" title="ssl::context">ssl::context</a> 28</h3></div></div></div> 29<pre class="programlisting">class context : 30 public ssl::context_base, 31 noncopyable 32</pre> 33<h5> 34<a name="boost_asio.reference.ssl__context.h0"></a> 35 <span class="phrase"><a name="boost_asio.reference.ssl__context.types"></a></span><a class="link" href="ssl__context.html#boost_asio.reference.ssl__context.types">Types</a> 36 </h5> 37<div class="informaltable"><table class="table"> 38<colgroup> 39<col> 40<col> 41</colgroup> 42<thead><tr> 43<th> 44 <p> 45 Name 46 </p> 47 </th> 48<th> 49 <p> 50 Description 51 </p> 52 </th> 53</tr></thead> 54<tbody> 55<tr> 56<td> 57 <p> 58 <a class="link" href="ssl__context/file_format.html" title="ssl::context::file_format"><span class="bold"><strong>file_format</strong></span></a> 59 </p> 60 </td> 61<td> 62 <p> 63 File format types. 64 </p> 65 </td> 66</tr> 67<tr> 68<td> 69 <p> 70 <a class="link" href="ssl__context/method.html" title="ssl::context::method"><span class="bold"><strong>method</strong></span></a> 71 </p> 72 </td> 73<td> 74 <p> 75 Different methods supported by a context. 76 </p> 77 </td> 78</tr> 79<tr> 80<td> 81 <p> 82 <a class="link" href="ssl__context/native_handle_type.html" title="ssl::context::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a> 83 </p> 84 </td> 85<td> 86 <p> 87 The native handle type of the SSL context. 88 </p> 89 </td> 90</tr> 91<tr> 92<td> 93 <p> 94 <a class="link" href="ssl__context/options.html" title="ssl::context::options"><span class="bold"><strong>options</strong></span></a> 95 </p> 96 </td> 97<td> 98 <p> 99 Bitmask type for SSL options. 100 </p> 101 </td> 102</tr> 103<tr> 104<td> 105 <p> 106 <a class="link" href="ssl__context/password_purpose.html" title="ssl::context::password_purpose"><span class="bold"><strong>password_purpose</strong></span></a> 107 </p> 108 </td> 109<td> 110 <p> 111 Purpose of PEM password. 112 </p> 113 </td> 114</tr> 115</tbody> 116</table></div> 117<h5> 118<a name="boost_asio.reference.ssl__context.h1"></a> 119 <span class="phrase"><a name="boost_asio.reference.ssl__context.member_functions"></a></span><a class="link" href="ssl__context.html#boost_asio.reference.ssl__context.member_functions">Member 120 Functions</a> 121 </h5> 122<div class="informaltable"><table class="table"> 123<colgroup> 124<col> 125<col> 126</colgroup> 127<thead><tr> 128<th> 129 <p> 130 Name 131 </p> 132 </th> 133<th> 134 <p> 135 Description 136 </p> 137 </th> 138</tr></thead> 139<tbody> 140<tr> 141<td> 142 <p> 143 <a class="link" href="ssl__context/add_certificate_authority.html" title="ssl::context::add_certificate_authority"><span class="bold"><strong>add_certificate_authority</strong></span></a> 144 </p> 145 </td> 146<td> 147 <p> 148 Add certification authority for performing verification. 149 </p> 150 </td> 151</tr> 152<tr> 153<td> 154 <p> 155 <a class="link" href="ssl__context/add_verify_path.html" title="ssl::context::add_verify_path"><span class="bold"><strong>add_verify_path</strong></span></a> 156 </p> 157 </td> 158<td> 159 <p> 160 Add a directory containing certificate authority files to be used 161 for performing verification. 162 </p> 163 </td> 164</tr> 165<tr> 166<td> 167 <p> 168 <a class="link" href="ssl__context/clear_options.html" title="ssl::context::clear_options"><span class="bold"><strong>clear_options</strong></span></a> 169 </p> 170 </td> 171<td> 172 <p> 173 Clear options on the context. 174 </p> 175 </td> 176</tr> 177<tr> 178<td> 179 <p> 180 <a class="link" href="ssl__context/context.html" title="ssl::context::context"><span class="bold"><strong>context</strong></span></a> <span class="silver">[constructor]</span> 181 </p> 182 </td> 183<td> 184 <p> 185 Constructor. <br> <span class="silver"> —</span><br> Construct to take ownership of a native 186 handle. <br> <span class="silver"> —</span><br> Move-construct a context from another. 187 </p> 188 </td> 189</tr> 190<tr> 191<td> 192 <p> 193 <a class="link" href="ssl__context/load_verify_file.html" title="ssl::context::load_verify_file"><span class="bold"><strong>load_verify_file</strong></span></a> 194 </p> 195 </td> 196<td> 197 <p> 198 Load a certification authority file for performing verification. 199 </p> 200 </td> 201</tr> 202<tr> 203<td> 204 <p> 205 <a class="link" href="ssl__context/native_handle.html" title="ssl::context::native_handle"><span class="bold"><strong>native_handle</strong></span></a> 206 </p> 207 </td> 208<td> 209 <p> 210 Get the underlying implementation in the native type. 211 </p> 212 </td> 213</tr> 214<tr> 215<td> 216 <p> 217 <a class="link" href="ssl__context/operator_eq_.html" title="ssl::context::operator="><span class="bold"><strong>operator=</strong></span></a> 218 </p> 219 </td> 220<td> 221 <p> 222 Move-assign a context from another. 223 </p> 224 </td> 225</tr> 226<tr> 227<td> 228 <p> 229 <a class="link" href="ssl__context/set_default_verify_paths.html" title="ssl::context::set_default_verify_paths"><span class="bold"><strong>set_default_verify_paths</strong></span></a> 230 </p> 231 </td> 232<td> 233 <p> 234 Configures the context to use the default directories for finding 235 certification authority certificates. 236 </p> 237 </td> 238</tr> 239<tr> 240<td> 241 <p> 242 <a class="link" href="ssl__context/set_options.html" title="ssl::context::set_options"><span class="bold"><strong>set_options</strong></span></a> 243 </p> 244 </td> 245<td> 246 <p> 247 Set options on the context. 248 </p> 249 </td> 250</tr> 251<tr> 252<td> 253 <p> 254 <a class="link" href="ssl__context/set_password_callback.html" title="ssl::context::set_password_callback"><span class="bold"><strong>set_password_callback</strong></span></a> 255 </p> 256 </td> 257<td> 258 <p> 259 Set the password callback. 260 </p> 261 </td> 262</tr> 263<tr> 264<td> 265 <p> 266 <a class="link" href="ssl__context/set_verify_callback.html" title="ssl::context::set_verify_callback"><span class="bold"><strong>set_verify_callback</strong></span></a> 267 </p> 268 </td> 269<td> 270 <p> 271 Set the callback used to verify peer certificates. 272 </p> 273 </td> 274</tr> 275<tr> 276<td> 277 <p> 278 <a class="link" href="ssl__context/set_verify_depth.html" title="ssl::context::set_verify_depth"><span class="bold"><strong>set_verify_depth</strong></span></a> 279 </p> 280 </td> 281<td> 282 <p> 283 Set the peer verification depth. 284 </p> 285 </td> 286</tr> 287<tr> 288<td> 289 <p> 290 <a class="link" href="ssl__context/set_verify_mode.html" title="ssl::context::set_verify_mode"><span class="bold"><strong>set_verify_mode</strong></span></a> 291 </p> 292 </td> 293<td> 294 <p> 295 Set the peer verification mode. 296 </p> 297 </td> 298</tr> 299<tr> 300<td> 301 <p> 302 <a class="link" href="ssl__context/use_certificate.html" title="ssl::context::use_certificate"><span class="bold"><strong>use_certificate</strong></span></a> 303 </p> 304 </td> 305<td> 306 <p> 307 Use a certificate from a memory buffer. 308 </p> 309 </td> 310</tr> 311<tr> 312<td> 313 <p> 314 <a class="link" href="ssl__context/use_certificate_chain.html" title="ssl::context::use_certificate_chain"><span class="bold"><strong>use_certificate_chain</strong></span></a> 315 </p> 316 </td> 317<td> 318 <p> 319 Use a certificate chain from a memory buffer. 320 </p> 321 </td> 322</tr> 323<tr> 324<td> 325 <p> 326 <a class="link" href="ssl__context/use_certificate_chain_file.html" title="ssl::context::use_certificate_chain_file"><span class="bold"><strong>use_certificate_chain_file</strong></span></a> 327 </p> 328 </td> 329<td> 330 <p> 331 Use a certificate chain from a file. 332 </p> 333 </td> 334</tr> 335<tr> 336<td> 337 <p> 338 <a class="link" href="ssl__context/use_certificate_file.html" title="ssl::context::use_certificate_file"><span class="bold"><strong>use_certificate_file</strong></span></a> 339 </p> 340 </td> 341<td> 342 <p> 343 Use a certificate from a file. 344 </p> 345 </td> 346</tr> 347<tr> 348<td> 349 <p> 350 <a class="link" href="ssl__context/use_private_key.html" title="ssl::context::use_private_key"><span class="bold"><strong>use_private_key</strong></span></a> 351 </p> 352 </td> 353<td> 354 <p> 355 Use a private key from a memory buffer. 356 </p> 357 </td> 358</tr> 359<tr> 360<td> 361 <p> 362 <a class="link" href="ssl__context/use_private_key_file.html" title="ssl::context::use_private_key_file"><span class="bold"><strong>use_private_key_file</strong></span></a> 363 </p> 364 </td> 365<td> 366 <p> 367 Use a private key from a file. 368 </p> 369 </td> 370</tr> 371<tr> 372<td> 373 <p> 374 <a class="link" href="ssl__context/use_rsa_private_key.html" title="ssl::context::use_rsa_private_key"><span class="bold"><strong>use_rsa_private_key</strong></span></a> 375 </p> 376 </td> 377<td> 378 <p> 379 Use an RSA private key from a memory buffer. 380 </p> 381 </td> 382</tr> 383<tr> 384<td> 385 <p> 386 <a class="link" href="ssl__context/use_rsa_private_key_file.html" title="ssl::context::use_rsa_private_key_file"><span class="bold"><strong>use_rsa_private_key_file</strong></span></a> 387 </p> 388 </td> 389<td> 390 <p> 391 Use an RSA private key from a file. 392 </p> 393 </td> 394</tr> 395<tr> 396<td> 397 <p> 398 <a class="link" href="ssl__context/use_tmp_dh.html" title="ssl::context::use_tmp_dh"><span class="bold"><strong>use_tmp_dh</strong></span></a> 399 </p> 400 </td> 401<td> 402 <p> 403 Use the specified memory buffer to obtain the temporary Diffie-Hellman 404 parameters. 405 </p> 406 </td> 407</tr> 408<tr> 409<td> 410 <p> 411 <a class="link" href="ssl__context/use_tmp_dh_file.html" title="ssl::context::use_tmp_dh_file"><span class="bold"><strong>use_tmp_dh_file</strong></span></a> 412 </p> 413 </td> 414<td> 415 <p> 416 Use the specified file to obtain the temporary Diffie-Hellman parameters. 417 </p> 418 </td> 419</tr> 420<tr> 421<td> 422 <p> 423 <a class="link" href="ssl__context/_context.html" title="ssl::context::~context"><span class="bold"><strong>~context</strong></span></a> <span class="silver">[destructor]</span> 424 </p> 425 </td> 426<td> 427 <p> 428 Destructor. 429 </p> 430 </td> 431</tr> 432</tbody> 433</table></div> 434<h5> 435<a name="boost_asio.reference.ssl__context.h2"></a> 436 <span class="phrase"><a name="boost_asio.reference.ssl__context.data_members"></a></span><a class="link" href="ssl__context.html#boost_asio.reference.ssl__context.data_members">Data 437 Members</a> 438 </h5> 439<div class="informaltable"><table class="table"> 440<colgroup> 441<col> 442<col> 443</colgroup> 444<thead><tr> 445<th> 446 <p> 447 Name 448 </p> 449 </th> 450<th> 451 <p> 452 Description 453 </p> 454 </th> 455</tr></thead> 456<tbody> 457<tr> 458<td> 459 <p> 460 <a class="link" href="ssl__context/default_workarounds.html" title="ssl::context::default_workarounds"><span class="bold"><strong>default_workarounds</strong></span></a> <span class="silver">[static]</span> 461 </p> 462 </td> 463<td> 464 <p> 465 Implement various bug workarounds. 466 </p> 467 </td> 468</tr> 469<tr> 470<td> 471 <p> 472 <a class="link" href="ssl__context/no_compression.html" title="ssl::context::no_compression"><span class="bold"><strong>no_compression</strong></span></a> <span class="silver">[static]</span> 473 </p> 474 </td> 475<td> 476 <p> 477 Disable compression. Compression is disabled by default. 478 </p> 479 </td> 480</tr> 481<tr> 482<td> 483 <p> 484 <a class="link" href="ssl__context/no_sslv2.html" title="ssl::context::no_sslv2"><span class="bold"><strong>no_sslv2</strong></span></a> <span class="silver">[static]</span> 485 </p> 486 </td> 487<td> 488 <p> 489 Disable SSL v2. 490 </p> 491 </td> 492</tr> 493<tr> 494<td> 495 <p> 496 <a class="link" href="ssl__context/no_sslv3.html" title="ssl::context::no_sslv3"><span class="bold"><strong>no_sslv3</strong></span></a> <span class="silver">[static]</span> 497 </p> 498 </td> 499<td> 500 <p> 501 Disable SSL v3. 502 </p> 503 </td> 504</tr> 505<tr> 506<td> 507 <p> 508 <a class="link" href="ssl__context/no_tlsv1.html" title="ssl::context::no_tlsv1"><span class="bold"><strong>no_tlsv1</strong></span></a> <span class="silver">[static]</span> 509 </p> 510 </td> 511<td> 512 <p> 513 Disable TLS v1. 514 </p> 515 </td> 516</tr> 517<tr> 518<td> 519 <p> 520 <a class="link" href="ssl__context/no_tlsv1_1.html" title="ssl::context::no_tlsv1_1"><span class="bold"><strong>no_tlsv1_1</strong></span></a> <span class="silver">[static]</span> 521 </p> 522 </td> 523<td> 524 <p> 525 Disable TLS v1.1. 526 </p> 527 </td> 528</tr> 529<tr> 530<td> 531 <p> 532 <a class="link" href="ssl__context/no_tlsv1_2.html" title="ssl::context::no_tlsv1_2"><span class="bold"><strong>no_tlsv1_2</strong></span></a> <span class="silver">[static]</span> 533 </p> 534 </td> 535<td> 536 <p> 537 Disable TLS v1.2. 538 </p> 539 </td> 540</tr> 541<tr> 542<td> 543 <p> 544 <a class="link" href="ssl__context/no_tlsv1_3.html" title="ssl::context::no_tlsv1_3"><span class="bold"><strong>no_tlsv1_3</strong></span></a> <span class="silver">[static]</span> 545 </p> 546 </td> 547<td> 548 <p> 549 Disable TLS v1.3. 550 </p> 551 </td> 552</tr> 553<tr> 554<td> 555 <p> 556 <a class="link" href="ssl__context/single_dh_use.html" title="ssl::context::single_dh_use"><span class="bold"><strong>single_dh_use</strong></span></a> <span class="silver">[static]</span> 557 </p> 558 </td> 559<td> 560 <p> 561 Always create a new key when using tmp_dh parameters. 562 </p> 563 </td> 564</tr> 565</tbody> 566</table></div> 567<h5> 568<a name="boost_asio.reference.ssl__context.h3"></a> 569 <span class="phrase"><a name="boost_asio.reference.ssl__context.requirements"></a></span><a class="link" href="ssl__context.html#boost_asio.reference.ssl__context.requirements">Requirements</a> 570 </h5> 571<p> 572 <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/context.hpp</code> 573 </p> 574<p> 575 <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code> 576 </p> 577</div> 578<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 579<td align="left"></td> 580<td align="right"><div class="copyright-footer">Copyright © 2003-2020 Christopher M. 581 Kohlhoff<p> 582 Distributed under the Boost Software License, Version 1.0. (See accompanying 583 file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) 584 </p> 585</div></td> 586</tr></table> 587<hr> 588<div class="spirit-nav"> 589<a accesskey="p" href="spawn/overload7.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__context/add_certificate_authority.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> 590</div> 591</body> 592</html> 593