grpc__security_8h.html 88 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.6"/>
  7. <title>GRPC Core: include/grpc/grpc_security.h File Reference</title>
  8. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  9. <script type="text/javascript" src="jquery.js"></script>
  10. <script type="text/javascript" src="dynsections.js"></script>
  11. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  12. <script type="text/javascript" src="search/search.js"></script>
  13. <script type="text/javascript">
  14. $(document).ready(function() { searchBox.OnSelectItem(0); });
  15. </script>
  16. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  17. </head>
  18. <body>
  19. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  20. <div id="titlearea">
  21. <table cellspacing="0" cellpadding="0">
  22. <tbody>
  23. <tr style="height: 56px;">
  24. <td style="padding-left: 0.5em;">
  25. <div id="projectname">GRPC Core
  26. &#160;<span id="projectnumber">4.0.0</span>
  27. </div>
  28. </td>
  29. </tr>
  30. </tbody>
  31. </table>
  32. </div>
  33. <!-- end header part -->
  34. <!-- Generated by Doxygen 1.8.6 -->
  35. <script type="text/javascript">
  36. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  37. </script>
  38. <div id="navrow1" class="tabs">
  39. <ul class="tablist">
  40. <li><a href="index.html"><span>Main&#160;Page</span></a></li>
  41. <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
  42. <li><a href="modules.html"><span>Modules</span></a></li>
  43. <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
  44. <li class="current"><a href="files.html"><span>Files</span></a></li>
  45. <li>
  46. <div id="MSearchBox" class="MSearchBoxInactive">
  47. <span class="left">
  48. <img id="MSearchSelect" src="search/mag_sel.png"
  49. onmouseover="return searchBox.OnSearchSelectShow()"
  50. onmouseout="return searchBox.OnSearchSelectHide()"
  51. alt=""/>
  52. <input type="text" id="MSearchField" value="Search" accesskey="S"
  53. onfocus="searchBox.OnSearchFieldFocus(true)"
  54. onblur="searchBox.OnSearchFieldFocus(false)"
  55. onkeyup="searchBox.OnSearchFieldChange(event)"/>
  56. </span><span class="right">
  57. <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
  58. </span>
  59. </div>
  60. </li>
  61. </ul>
  62. </div>
  63. <div id="navrow2" class="tabs2">
  64. <ul class="tablist">
  65. <li><a href="files.html"><span>File&#160;List</span></a></li>
  66. <li><a href="globals.html"><span>Globals</span></a></li>
  67. </ul>
  68. </div>
  69. <!-- window showing the filter options -->
  70. <div id="MSearchSelectWindow"
  71. onmouseover="return searchBox.OnSearchSelectShow()"
  72. onmouseout="return searchBox.OnSearchSelectHide()"
  73. onkeydown="return searchBox.OnSearchSelectKey(event)">
  74. <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
  75. <!-- iframe showing the search results (closed by default) -->
  76. <div id="MSearchResultsWindow">
  77. <iframe src="javascript:void(0)" frameborder="0"
  78. name="MSearchResults" id="MSearchResults">
  79. </iframe>
  80. </div>
  81. <div id="nav-path" class="navpath">
  82. <ul>
  83. <li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li> </ul>
  84. </div>
  85. </div><!-- top -->
  86. <div class="header">
  87. <div class="summary">
  88. <a href="#nested-classes">Data Structures</a> &#124;
  89. <a href="#typedef-members">Typedefs</a> &#124;
  90. <a href="#func-members">Functions</a> </div>
  91. <div class="headertitle">
  92. <div class="title">grpc_security.h File Reference</div> </div>
  93. </div><!--header-->
  94. <div class="contents">
  95. <div class="textblock"><code>#include &lt;<a class="el" href="grpc_8h_source.html">grpc/grpc.h</a>&gt;</code><br/>
  96. <code>#include &lt;<a class="el" href="grpc__security__constants_8h_source.html">grpc/grpc_security_constants.h</a>&gt;</code><br/>
  97. <code>#include &lt;<a class="el" href="status_8h_source.html">grpc/status.h</a>&gt;</code><br/>
  98. </div>
  99. <p><a href="grpc__security_8h_source.html">Go to the source code of this file.</a></p>
  100. <table class="memberdecls">
  101. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
  102. Data Structures</h2></td></tr>
  103. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a></td></tr>
  104. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  105. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__auth__property.html">grpc_auth_property</a></td></tr>
  106. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">value, if not NULL, is guaranteed to be NULL terminated. <a href="structgrpc__auth__property.html#details">More...</a><br/></td></tr>
  107. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  108. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a></td></tr>
  109. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Object that holds a private key / certificate chain pair in PEM format. <a href="structgrpc__ssl__pem__key__cert__pair.html#details">More...</a><br/></td></tr>
  110. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  111. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__auth__metadata__context.html">grpc_auth_metadata_context</a></td></tr>
  112. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Context that can be used by metadata credentials plugin in order to create auth related metadata. <a href="structgrpc__auth__metadata__context.html#details">More...</a><br/></td></tr>
  113. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  114. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__metadata__credentials__plugin.html">grpc_metadata_credentials_plugin</a></td></tr>
  115. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">grpc_metadata_credentials plugin is an API user provided structure used to create grpc_credentials objects that can be set on a channel (composed) or a call. <a href="structgrpc__metadata__credentials__plugin.html#details">More...</a><br/></td></tr>
  116. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  117. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__auth__metadata__processor.html">grpc_auth_metadata_processor</a></td></tr>
  118. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pluggable server-side metadata processor object. <a href="structgrpc__auth__metadata__processor.html#details">More...</a><br/></td></tr>
  119. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  120. </table><table class="memberdecls">
  121. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
  122. Typedefs</h2></td></tr>
  123. <tr class="memitem:aa13f0724cb7ff99995d7f0881c01d553"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a></td></tr>
  124. <tr class="memdesc:aa13f0724cb7ff99995d7f0881c01d553"><td class="mdescLeft">&#160;</td><td class="mdescRight">&mdash; Authentication Context. <a href="#aa13f0724cb7ff99995d7f0881c01d553">More...</a><br/></td></tr>
  125. <tr class="separator:aa13f0724cb7ff99995d7f0881c01d553"><td class="memSeparator" colspan="2">&#160;</td></tr>
  126. <tr class="memitem:a26981fdcb987d885b25d34c7dc66e4cf"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
  127. <a class="el" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a26981fdcb987d885b25d34c7dc66e4cf">grpc_auth_property_iterator</a></td></tr>
  128. <tr class="separator:a26981fdcb987d885b25d34c7dc66e4cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
  129. <tr class="memitem:a010fe7d27deaa2ea50b765b48dbad429"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structgrpc__auth__property.html">grpc_auth_property</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a010fe7d27deaa2ea50b765b48dbad429">grpc_auth_property</a></td></tr>
  130. <tr class="memdesc:a010fe7d27deaa2ea50b765b48dbad429"><td class="mdescLeft">&#160;</td><td class="mdescRight">value, if not NULL, is guaranteed to be NULL terminated. <a href="#a010fe7d27deaa2ea50b765b48dbad429">More...</a><br/></td></tr>
  131. <tr class="separator:a010fe7d27deaa2ea50b765b48dbad429"><td class="memSeparator" colspan="2">&#160;</td></tr>
  132. <tr class="memitem:ab4ed40ea84a2f70ffd81a84bd8ee634b"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
  133. <a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a></td></tr>
  134. <tr class="memdesc:ab4ed40ea84a2f70ffd81a84bd8ee634b"><td class="mdescLeft">&#160;</td><td class="mdescRight">&mdash; grpc_channel_credentials object. <a href="#ab4ed40ea84a2f70ffd81a84bd8ee634b">More...</a><br/></td></tr>
  135. <tr class="separator:ab4ed40ea84a2f70ffd81a84bd8ee634b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  136. <tr class="memitem:a005f46357a959bbfbb7b1241a933ef43"><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/>
  137. <a class="el" href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68c">grpc_ssl_roots_override_result</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a005f46357a959bbfbb7b1241a933ef43">grpc_ssl_roots_override_callback</a> )(char **pem_root_certs)</td></tr>
  138. <tr class="memdesc:a005f46357a959bbfbb7b1241a933ef43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback for getting the SSL roots override from the application. <a href="#a005f46357a959bbfbb7b1241a933ef43">More...</a><br/></td></tr>
  139. <tr class="separator:a005f46357a959bbfbb7b1241a933ef43"><td class="memSeparator" colspan="2">&#160;</td></tr>
  140. <tr class="memitem:a2350ef1b38c4f69d0ff8510dcbe40072"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
  141. <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a></td></tr>
  142. <tr class="memdesc:a2350ef1b38c4f69d0ff8510dcbe40072"><td class="mdescLeft">&#160;</td><td class="mdescRight">&mdash; grpc_call_credentials object. <a href="#a2350ef1b38c4f69d0ff8510dcbe40072">More...</a><br/></td></tr>
  143. <tr class="separator:a2350ef1b38c4f69d0ff8510dcbe40072"><td class="memSeparator" colspan="2">&#160;</td></tr>
  144. <tr class="memitem:acc59d2e9577dc4429895b9cd89450106"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#acc59d2e9577dc4429895b9cd89450106">grpc_credentials_plugin_metadata_cb</a> )(void *user_data, const <a class="el" href="structgrpc__metadata.html">grpc_metadata</a> *creds_md, size_t num_creds_md, <a class="el" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> status, const char *error_details)</td></tr>
  145. <tr class="memdesc:acc59d2e9577dc4429895b9cd89450106"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function to be called by the metadata credentials plugin implementation when the metadata is ready. <a href="#acc59d2e9577dc4429895b9cd89450106">More...</a><br/></td></tr>
  146. <tr class="separator:acc59d2e9577dc4429895b9cd89450106"><td class="memSeparator" colspan="2">&#160;</td></tr>
  147. <tr class="memitem:aa724192e56fdc03827846f16752deccc"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
  148. <a class="el" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a></td></tr>
  149. <tr class="memdesc:aa724192e56fdc03827846f16752deccc"><td class="mdescLeft">&#160;</td><td class="mdescRight">&mdash; grpc_server_credentials object. <a href="#aa724192e56fdc03827846f16752deccc">More...</a><br/></td></tr>
  150. <tr class="separator:aa724192e56fdc03827846f16752deccc"><td class="memSeparator" colspan="2">&#160;</td></tr>
  151. <tr class="memitem:a54decefff49649afe0c5a3056d0734f1"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a54decefff49649afe0c5a3056d0734f1">grpc_process_auth_metadata_done_cb</a> )(void *user_data, const <a class="el" href="structgrpc__metadata.html">grpc_metadata</a> *consumed_md, size_t num_consumed_md, const <a class="el" href="structgrpc__metadata.html">grpc_metadata</a> *response_md, size_t num_response_md, <a class="el" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> status, const char *error_details)</td></tr>
  152. <tr class="memdesc:a54decefff49649afe0c5a3056d0734f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">&mdash; Auth Metadata Processing &mdash; <a href="#a54decefff49649afe0c5a3056d0734f1">More...</a><br/></td></tr>
  153. <tr class="separator:a54decefff49649afe0c5a3056d0734f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  154. </table><table class="memberdecls">
  155. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
  156. Functions</h2></td></tr>
  157. <tr class="memitem:a064c4dc355a3720cd2bcf6e3ddfb3e05"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> const <a class="el" href="structgrpc__auth__property.html">grpc_auth_property</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a064c4dc355a3720cd2bcf6e3ddfb3e05">grpc_auth_property_iterator_next</a> (<a class="el" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a> *it)</td></tr>
  158. <tr class="memdesc:a064c4dc355a3720cd2bcf6e3ddfb3e05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns NULL when the iterator is at the end. <a href="#a064c4dc355a3720cd2bcf6e3ddfb3e05">More...</a><br/></td></tr>
  159. <tr class="separator:a064c4dc355a3720cd2bcf6e3ddfb3e05"><td class="memSeparator" colspan="2">&#160;</td></tr>
  160. <tr class="memitem:aedee02a7f6ed58e9bd41b00a518350c2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#aedee02a7f6ed58e9bd41b00a518350c2">grpc_auth_context_property_iterator</a> (const <a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx)</td></tr>
  161. <tr class="memdesc:aedee02a7f6ed58e9bd41b00a518350c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterates over the auth context. <a href="#aedee02a7f6ed58e9bd41b00a518350c2">More...</a><br/></td></tr>
  162. <tr class="separator:aedee02a7f6ed58e9bd41b00a518350c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  163. <tr class="memitem:a4d6409cf4a261297cd327bd49e72fcea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a4d6409cf4a261297cd327bd49e72fcea">grpc_auth_context_peer_identity</a> (const <a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx)</td></tr>
  164. <tr class="memdesc:a4d6409cf4a261297cd327bd49e72fcea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the peer identity. <a href="#a4d6409cf4a261297cd327bd49e72fcea">More...</a><br/></td></tr>
  165. <tr class="separator:a4d6409cf4a261297cd327bd49e72fcea"><td class="memSeparator" colspan="2">&#160;</td></tr>
  166. <tr class="memitem:a9d3ce2db2aa6fb1c21dd2789ee7c2d18"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a9d3ce2db2aa6fb1c21dd2789ee7c2d18">grpc_auth_context_find_properties_by_name</a> (const <a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx, const char *name)</td></tr>
  167. <tr class="memdesc:a9d3ce2db2aa6fb1c21dd2789ee7c2d18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds a property in the context. <a href="#a9d3ce2db2aa6fb1c21dd2789ee7c2d18">More...</a><br/></td></tr>
  168. <tr class="separator:a9d3ce2db2aa6fb1c21dd2789ee7c2d18"><td class="memSeparator" colspan="2">&#160;</td></tr>
  169. <tr class="memitem:a5a627008e49efec12fb97c25b5da4628"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a5a627008e49efec12fb97c25b5da4628">grpc_auth_context_peer_identity_property_name</a> (const <a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx)</td></tr>
  170. <tr class="memdesc:a5a627008e49efec12fb97c25b5da4628"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the name of the property that indicates the peer identity. <a href="#a5a627008e49efec12fb97c25b5da4628">More...</a><br/></td></tr>
  171. <tr class="separator:a5a627008e49efec12fb97c25b5da4628"><td class="memSeparator" colspan="2">&#160;</td></tr>
  172. <tr class="memitem:a5bb56dbcba0b0c54e3c6da0635391959"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a5bb56dbcba0b0c54e3c6da0635391959">grpc_auth_context_peer_is_authenticated</a> (const <a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx)</td></tr>
  173. <tr class="memdesc:a5bb56dbcba0b0c54e3c6da0635391959"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns 1 if the peer is authenticated, 0 otherwise. <a href="#a5bb56dbcba0b0c54e3c6da0635391959">More...</a><br/></td></tr>
  174. <tr class="separator:a5bb56dbcba0b0c54e3c6da0635391959"><td class="memSeparator" colspan="2">&#160;</td></tr>
  175. <tr class="memitem:a3c1860cddc9edaa7f657a98a35b77e80"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a3c1860cddc9edaa7f657a98a35b77e80">grpc_call_auth_context</a> (<a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call)</td></tr>
  176. <tr class="memdesc:a3c1860cddc9edaa7f657a98a35b77e80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the auth context from the call. <a href="#a3c1860cddc9edaa7f657a98a35b77e80">More...</a><br/></td></tr>
  177. <tr class="separator:a3c1860cddc9edaa7f657a98a35b77e80"><td class="memSeparator" colspan="2">&#160;</td></tr>
  178. <tr class="memitem:aa9dbfdabaca2ab86c9d7e71cbc81d3d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#aa9dbfdabaca2ab86c9d7e71cbc81d3d4">grpc_auth_context_release</a> (<a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *context)</td></tr>
  179. <tr class="memdesc:aa9dbfdabaca2ab86c9d7e71cbc81d3d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases the auth context returned from grpc_call_auth_context. <a href="#aa9dbfdabaca2ab86c9d7e71cbc81d3d4">More...</a><br/></td></tr>
  180. <tr class="separator:aa9dbfdabaca2ab86c9d7e71cbc81d3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  181. <tr class="memitem:a93f543166de70abb3a725bdca1d79996"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a93f543166de70abb3a725bdca1d79996">grpc_auth_context_add_property</a> (<a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx, const char *name, const char *value, size_t value_length)</td></tr>
  182. <tr class="memdesc:a93f543166de70abb3a725bdca1d79996"><td class="mdescLeft">&#160;</td><td class="mdescRight">&ndash; The following auth context methods should only be called by a server metadata processor to set properties extracted from auth metadata. <a href="#a93f543166de70abb3a725bdca1d79996">More...</a><br/></td></tr>
  183. <tr class="separator:a93f543166de70abb3a725bdca1d79996"><td class="memSeparator" colspan="2">&#160;</td></tr>
  184. <tr class="memitem:a73068ca89b430bb9004f8c3e86a2886a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a73068ca89b430bb9004f8c3e86a2886a">grpc_auth_context_add_cstring_property</a> (<a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx, const char *name, const char *value)</td></tr>
  185. <tr class="memdesc:a73068ca89b430bb9004f8c3e86a2886a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a C string property. <a href="#a73068ca89b430bb9004f8c3e86a2886a">More...</a><br/></td></tr>
  186. <tr class="separator:a73068ca89b430bb9004f8c3e86a2886a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  187. <tr class="memitem:a9cff913051370085b7cc58aa3ccbd4a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a9cff913051370085b7cc58aa3ccbd4a4">grpc_auth_context_set_peer_identity_property_name</a> (<a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx, const char *name)</td></tr>
  188. <tr class="memdesc:a9cff913051370085b7cc58aa3ccbd4a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the property name. <a href="#a9cff913051370085b7cc58aa3ccbd4a4">More...</a><br/></td></tr>
  189. <tr class="separator:a9cff913051370085b7cc58aa3ccbd4a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  190. <tr class="memitem:a5a32645c900c2b50bc89fa11ebdc5a07"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a5a32645c900c2b50bc89fa11ebdc5a07">grpc_channel_credentials_release</a> (<a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> *creds)</td></tr>
  191. <tr class="memdesc:a5a32645c900c2b50bc89fa11ebdc5a07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases a channel credentials object. <a href="#a5a32645c900c2b50bc89fa11ebdc5a07">More...</a><br/></td></tr>
  192. <tr class="separator:a5a32645c900c2b50bc89fa11ebdc5a07"><td class="memSeparator" colspan="2">&#160;</td></tr>
  193. <tr class="memitem:a68183d792830190c3e14504557d57ad7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a68183d792830190c3e14504557d57ad7">grpc_google_default_credentials_create</a> (void)</td></tr>
  194. <tr class="memdesc:a68183d792830190c3e14504557d57ad7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates default credentials to connect to a google gRPC service. <a href="#a68183d792830190c3e14504557d57ad7">More...</a><br/></td></tr>
  195. <tr class="separator:a68183d792830190c3e14504557d57ad7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  196. <tr class="memitem:a44c23e47832d9cc27bb56822d66bf436"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a44c23e47832d9cc27bb56822d66bf436">grpc_set_ssl_roots_override_callback</a> (<a class="el" href="grpc__security_8h.html#a005f46357a959bbfbb7b1241a933ef43">grpc_ssl_roots_override_callback</a> cb)</td></tr>
  197. <tr class="memdesc:a44c23e47832d9cc27bb56822d66bf436"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup a callback to override the default TLS/SSL roots. <a href="#a44c23e47832d9cc27bb56822d66bf436">More...</a><br/></td></tr>
  198. <tr class="separator:a44c23e47832d9cc27bb56822d66bf436"><td class="memSeparator" colspan="2">&#160;</td></tr>
  199. <tr class="memitem:a2dfd4a555352ff0e449ce9c38abd2f21"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a2dfd4a555352ff0e449ce9c38abd2f21">grpc_ssl_credentials_create</a> (const char *pem_root_certs, <a class="el" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a> *pem_key_cert_pair, void *reserved)</td></tr>
  200. <tr class="memdesc:a2dfd4a555352ff0e449ce9c38abd2f21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an SSL credentials object. <a href="#a2dfd4a555352ff0e449ce9c38abd2f21">More...</a><br/></td></tr>
  201. <tr class="separator:a2dfd4a555352ff0e449ce9c38abd2f21"><td class="memSeparator" colspan="2">&#160;</td></tr>
  202. <tr class="memitem:aeb21611154f3defe05e4eac4cc25af5a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#aeb21611154f3defe05e4eac4cc25af5a">grpc_call_credentials_release</a> (<a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *creds)</td></tr>
  203. <tr class="memdesc:aeb21611154f3defe05e4eac4cc25af5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases a call credentials object. <a href="#aeb21611154f3defe05e4eac4cc25af5a">More...</a><br/></td></tr>
  204. <tr class="separator:aeb21611154f3defe05e4eac4cc25af5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  205. <tr class="memitem:a8e4b35968eac741831a708224e207348"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a8e4b35968eac741831a708224e207348">grpc_composite_channel_credentials_create</a> (<a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> *channel_creds, <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *call_creds, void *reserved)</td></tr>
  206. <tr class="memdesc:a8e4b35968eac741831a708224e207348"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a composite channel credentials object. <a href="#a8e4b35968eac741831a708224e207348">More...</a><br/></td></tr>
  207. <tr class="separator:a8e4b35968eac741831a708224e207348"><td class="memSeparator" colspan="2">&#160;</td></tr>
  208. <tr class="memitem:a5fb84795d5b0306006fdb8d316262a82"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a5fb84795d5b0306006fdb8d316262a82">grpc_composite_call_credentials_create</a> (<a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *creds1, <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *creds2, void *reserved)</td></tr>
  209. <tr class="memdesc:a5fb84795d5b0306006fdb8d316262a82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a composite call credentials object. <a href="#a5fb84795d5b0306006fdb8d316262a82">More...</a><br/></td></tr>
  210. <tr class="separator:a5fb84795d5b0306006fdb8d316262a82"><td class="memSeparator" colspan="2">&#160;</td></tr>
  211. <tr class="memitem:af66841ff2c26a95ff9cd18ea2cdf38cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#af66841ff2c26a95ff9cd18ea2cdf38cb">grpc_google_compute_engine_credentials_create</a> (void *reserved)</td></tr>
  212. <tr class="memdesc:af66841ff2c26a95ff9cd18ea2cdf38cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a compute engine credentials object for connecting to Google. <a href="#af66841ff2c26a95ff9cd18ea2cdf38cb">More...</a><br/></td></tr>
  213. <tr class="separator:af66841ff2c26a95ff9cd18ea2cdf38cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  214. <tr class="memitem:a8bf68d788a4b95461e77278049f4c73f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="structgpr__timespec.html">gpr_timespec</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a8bf68d788a4b95461e77278049f4c73f">grpc_max_auth_token_lifetime</a> ()</td></tr>
  215. <tr class="separator:a8bf68d788a4b95461e77278049f4c73f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  216. <tr class="memitem:ae8c4bf6c9657d6e19ea1481c1ea9a5d5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#ae8c4bf6c9657d6e19ea1481c1ea9a5d5">grpc_service_account_jwt_access_credentials_create</a> (const char *json_key, <a class="el" href="structgpr__timespec.html">gpr_timespec</a> token_lifetime, void *reserved)</td></tr>
  217. <tr class="memdesc:ae8c4bf6c9657d6e19ea1481c1ea9a5d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a JWT credentials object. <a href="#ae8c4bf6c9657d6e19ea1481c1ea9a5d5">More...</a><br/></td></tr>
  218. <tr class="separator:ae8c4bf6c9657d6e19ea1481c1ea9a5d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  219. <tr class="memitem:aa2108431aea25ab0e9bef17becff7357"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#aa2108431aea25ab0e9bef17becff7357">grpc_google_refresh_token_credentials_create</a> (const char *json_refresh_token, void *reserved)</td></tr>
  220. <tr class="memdesc:aa2108431aea25ab0e9bef17becff7357"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an Oauth2 Refresh Token credentials object for connecting to Google. <a href="#aa2108431aea25ab0e9bef17becff7357">More...</a><br/></td></tr>
  221. <tr class="separator:aa2108431aea25ab0e9bef17becff7357"><td class="memSeparator" colspan="2">&#160;</td></tr>
  222. <tr class="memitem:aa64d5173a15c51fdb2d80c3c187157ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#aa64d5173a15c51fdb2d80c3c187157ca">grpc_access_token_credentials_create</a> (const char *access_token, void *reserved)</td></tr>
  223. <tr class="memdesc:aa64d5173a15c51fdb2d80c3c187157ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an Oauth2 Access Token credentials with an access token that was aquired by an out of band mechanism. <a href="#aa64d5173a15c51fdb2d80c3c187157ca">More...</a><br/></td></tr>
  224. <tr class="separator:aa64d5173a15c51fdb2d80c3c187157ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
  225. <tr class="memitem:a060719c0b294858858dbf41b7ec2abb5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a060719c0b294858858dbf41b7ec2abb5">grpc_google_iam_credentials_create</a> (const char *authorization_token, const char *authority_selector, void *reserved)</td></tr>
  226. <tr class="memdesc:a060719c0b294858858dbf41b7ec2abb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an IAM credentials object for connecting to Google. <a href="#a060719c0b294858858dbf41b7ec2abb5">More...</a><br/></td></tr>
  227. <tr class="separator:a060719c0b294858858dbf41b7ec2abb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  228. <tr class="memitem:aed07d29d954508e9f9da66b547660160"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#aed07d29d954508e9f9da66b547660160">grpc_metadata_credentials_create_from_plugin</a> (<a class="el" href="structgrpc__metadata__credentials__plugin.html">grpc_metadata_credentials_plugin</a> plugin, void *reserved)</td></tr>
  229. <tr class="memdesc:aed07d29d954508e9f9da66b547660160"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a credentials object from a plugin. <a href="#aed07d29d954508e9f9da66b547660160">More...</a><br/></td></tr>
  230. <tr class="separator:aed07d29d954508e9f9da66b547660160"><td class="memSeparator" colspan="2">&#160;</td></tr>
  231. <tr class="memitem:acad1744e2cdf6f9f11723c3450874ca7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#acad1744e2cdf6f9f11723c3450874ca7">grpc_secure_channel_create</a> (<a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> *creds, const char *target, const <a class="el" href="structgrpc__channel__args.html">grpc_channel_args</a> *args, void *reserved)</td></tr>
  232. <tr class="memdesc:acad1744e2cdf6f9f11723c3450874ca7"><td class="mdescLeft">&#160;</td><td class="mdescRight">&mdash; Secure channel creation. <a href="#acad1744e2cdf6f9f11723c3450874ca7">More...</a><br/></td></tr>
  233. <tr class="separator:acad1744e2cdf6f9f11723c3450874ca7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  234. <tr class="memitem:a8d8e443300d9a94fa5fe7ef76c77fd38"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a8d8e443300d9a94fa5fe7ef76c77fd38">grpc_server_credentials_release</a> (<a class="el" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a> *creds)</td></tr>
  235. <tr class="memdesc:a8d8e443300d9a94fa5fe7ef76c77fd38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases a server_credentials object. <a href="#a8d8e443300d9a94fa5fe7ef76c77fd38">More...</a><br/></td></tr>
  236. <tr class="separator:a8d8e443300d9a94fa5fe7ef76c77fd38"><td class="memSeparator" colspan="2">&#160;</td></tr>
  237. <tr class="memitem:adde6c7d191f88997fd82fd8b54f9420e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#adde6c7d191f88997fd82fd8b54f9420e">grpc_ssl_server_credentials_create</a> (const char *pem_root_certs, <a class="el" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a> *pem_key_cert_pairs, size_t num_key_cert_pairs, int force_client_auth, void *reserved)</td></tr>
  238. <tr class="memdesc:adde6c7d191f88997fd82fd8b54f9420e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deprecated in favor of grpc_ssl_server_credentials_create_ex. <a href="#adde6c7d191f88997fd82fd8b54f9420e">More...</a><br/></td></tr>
  239. <tr class="separator:adde6c7d191f88997fd82fd8b54f9420e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  240. <tr class="memitem:a5f8a4204d09f2b10a3986d25b6583a08"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a5f8a4204d09f2b10a3986d25b6583a08">grpc_ssl_server_credentials_create_ex</a> (const char *pem_root_certs, <a class="el" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a> *pem_key_cert_pairs, size_t num_key_cert_pairs, <a class="el" href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09">grpc_ssl_client_certificate_request_type</a> client_certificate_request, void *reserved)</td></tr>
  241. <tr class="memdesc:a5f8a4204d09f2b10a3986d25b6583a08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as grpc_ssl_server_credentials_create method except uses grpc_ssl_client_certificate_request_type enum to support more ways to authenticate client cerificates. <a href="#a5f8a4204d09f2b10a3986d25b6583a08">More...</a><br/></td></tr>
  242. <tr class="separator:a5f8a4204d09f2b10a3986d25b6583a08"><td class="memSeparator" colspan="2">&#160;</td></tr>
  243. <tr class="memitem:a53278c0894e787a5f3bb1092d0fdc3f6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a53278c0894e787a5f3bb1092d0fdc3f6">grpc_server_add_secure_http2_port</a> (<a class="el" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server, const char *addr, <a class="el" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a> *creds)</td></tr>
  244. <tr class="memdesc:a53278c0894e787a5f3bb1092d0fdc3f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">&mdash; Server-side secure ports. <a href="#a53278c0894e787a5f3bb1092d0fdc3f6">More...</a><br/></td></tr>
  245. <tr class="separator:a53278c0894e787a5f3bb1092d0fdc3f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  246. <tr class="memitem:ab065a653f78111065e91a579fd2ce2d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#ab065a653f78111065e91a579fd2ce2d2">grpc_call_set_credentials</a> (<a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call, <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *creds)</td></tr>
  247. <tr class="memdesc:ab065a653f78111065e91a579fd2ce2d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">&mdash; Call specific credentials. <a href="#ab065a653f78111065e91a579fd2ce2d2">More...</a><br/></td></tr>
  248. <tr class="separator:ab065a653f78111065e91a579fd2ce2d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  249. <tr class="memitem:a37da13e43ccc9b19e9f1a6051feaedc3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a37da13e43ccc9b19e9f1a6051feaedc3">grpc_server_credentials_set_auth_metadata_processor</a> (<a class="el" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a> *creds, <a class="el" href="structgrpc__auth__metadata__processor.html">grpc_auth_metadata_processor</a> processor)</td></tr>
  250. <tr class="separator:a37da13e43ccc9b19e9f1a6051feaedc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  251. </table>
  252. <h2 class="groupheader">Typedef Documentation</h2>
  253. <a class="anchor" id="aa13f0724cb7ff99995d7f0881c01d553"></a>
  254. <div class="memitem">
  255. <div class="memproto">
  256. <table class="memname">
  257. <tr>
  258. <td class="memname">typedef struct <a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> <a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a></td>
  259. </tr>
  260. </table>
  261. </div><div class="memdoc">
  262. <p>&mdash; Authentication Context. </p>
  263. <hr/>
  264. </div>
  265. </div>
  266. <a class="anchor" id="a010fe7d27deaa2ea50b765b48dbad429"></a>
  267. <div class="memitem">
  268. <div class="memproto">
  269. <table class="memname">
  270. <tr>
  271. <td class="memname">typedef struct <a class="el" href="structgrpc__auth__property.html">grpc_auth_property</a> <a class="el" href="structgrpc__auth__property.html">grpc_auth_property</a></td>
  272. </tr>
  273. </table>
  274. </div><div class="memdoc">
  275. <p>value, if not NULL, is guaranteed to be NULL terminated. </p>
  276. </div>
  277. </div>
  278. <a class="anchor" id="a26981fdcb987d885b25d34c7dc66e4cf"></a>
  279. <div class="memitem">
  280. <div class="memproto">
  281. <table class="memname">
  282. <tr>
  283. <td class="memname">typedef struct <a class="el" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a> <a class="el" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a></td>
  284. </tr>
  285. </table>
  286. </div><div class="memdoc">
  287. </div>
  288. </div>
  289. <a class="anchor" id="a2350ef1b38c4f69d0ff8510dcbe40072"></a>
  290. <div class="memitem">
  291. <div class="memproto">
  292. <table class="memname">
  293. <tr>
  294. <td class="memname">typedef struct <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a></td>
  295. </tr>
  296. </table>
  297. </div><div class="memdoc">
  298. <p>&mdash; grpc_call_credentials object. </p>
  299. <p>A call credentials object represents a way to authenticate on a particular call. These credentials can be composed with a channel credentials object so that they are sent with every call on this channel. </p>
  300. </div>
  301. </div>
  302. <a class="anchor" id="ab4ed40ea84a2f70ffd81a84bd8ee634b"></a>
  303. <div class="memitem">
  304. <div class="memproto">
  305. <table class="memname">
  306. <tr>
  307. <td class="memname">typedef struct <a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> <a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a></td>
  308. </tr>
  309. </table>
  310. </div><div class="memdoc">
  311. <p>&mdash; grpc_channel_credentials object. </p>
  312. <hr/>
  313. <p>A channel credentials object represents a way to authenticate a client on a channel. </p>
  314. </div>
  315. </div>
  316. <a class="anchor" id="acc59d2e9577dc4429895b9cd89450106"></a>
  317. <div class="memitem">
  318. <div class="memproto">
  319. <table class="memname">
  320. <tr>
  321. <td class="memname">typedef void(* grpc_credentials_plugin_metadata_cb)(void *user_data, const <a class="el" href="structgrpc__metadata.html">grpc_metadata</a> *creds_md, size_t num_creds_md, <a class="el" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> status, const char *error_details)</td>
  322. </tr>
  323. </table>
  324. </div><div class="memdoc">
  325. <p>Callback function to be called by the metadata credentials plugin implementation when the metadata is ready. </p>
  326. <ul>
  327. <li>user_data is the opaque pointer that was passed in the get_metadata method of the <a class="el" href="structgrpc__metadata__credentials__plugin.html" title="grpc_metadata_credentials plugin is an API user provided structure used to create grpc_credentials ob...">grpc_metadata_credentials_plugin</a> (see below).</li>
  328. <li>creds_md is an array of credentials metadata produced by the plugin. It may be set to NULL in case of an error.</li>
  329. <li>num_creds_md is the number of items in the creds_md array.</li>
  330. <li>status must be GRPC_STATUS_OK in case of success or another specific error code otherwise.</li>
  331. <li>error_details contains details about the error if any. In case of success it should be NULL and will be otherwise ignored. </li>
  332. </ul>
  333. </div>
  334. </div>
  335. <a class="anchor" id="a54decefff49649afe0c5a3056d0734f1"></a>
  336. <div class="memitem">
  337. <div class="memproto">
  338. <table class="memname">
  339. <tr>
  340. <td class="memname">typedef void(* grpc_process_auth_metadata_done_cb)(void *user_data, const <a class="el" href="structgrpc__metadata.html">grpc_metadata</a> *consumed_md, size_t num_consumed_md, const <a class="el" href="structgrpc__metadata.html">grpc_metadata</a> *response_md, size_t num_response_md, <a class="el" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> status, const char *error_details)</td>
  341. </tr>
  342. </table>
  343. </div><div class="memdoc">
  344. <p>&mdash; Auth Metadata Processing &mdash; </p>
  345. <p>Callback function that is called when the metadata processing is done.</p>
  346. <ul>
  347. <li>Consumed metadata will be removed from the set of metadata available on the call. consumed_md may be NULL if no metadata has been consumed.</li>
  348. <li>Response metadata will be set on the response. response_md may be NULL.</li>
  349. <li>status is GRPC_STATUS_OK for success or a specific status for an error. Common error status for auth metadata processing is either GRPC_STATUS_UNAUTHENTICATED in case of an authentication failure or GRPC_STATUS PERMISSION_DENIED in case of an authorization failure.</li>
  350. <li>error_details gives details about the error. May be NULL. </li>
  351. </ul>
  352. </div>
  353. </div>
  354. <a class="anchor" id="aa724192e56fdc03827846f16752deccc"></a>
  355. <div class="memitem">
  356. <div class="memproto">
  357. <table class="memname">
  358. <tr>
  359. <td class="memname">typedef struct <a class="el" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a> <a class="el" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a></td>
  360. </tr>
  361. </table>
  362. </div><div class="memdoc">
  363. <p>&mdash; grpc_server_credentials object. </p>
  364. <hr/>
  365. <p>A server credentials object represents a way to authenticate a server. </p>
  366. </div>
  367. </div>
  368. <a class="anchor" id="a005f46357a959bbfbb7b1241a933ef43"></a>
  369. <div class="memitem">
  370. <div class="memproto">
  371. <table class="memname">
  372. <tr>
  373. <td class="memname">typedef <a class="el" href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68c">grpc_ssl_roots_override_result</a>(* grpc_ssl_roots_override_callback)(char **pem_root_certs)</td>
  374. </tr>
  375. </table>
  376. </div><div class="memdoc">
  377. <p>Callback for getting the SSL roots override from the application. </p>
  378. <p>In case of success, *pem_roots_certs must be set to a NULL terminated string containing the list of PEM encoded root certificates. The ownership is passed to the core and freed (laster by the core) with gpr_free. If this function fails and GRPC_DEFAULT_SSL_ROOTS_FILE_PATH environment is set to a valid path, it will override the roots specified this func </p>
  379. </div>
  380. </div>
  381. <h2 class="groupheader">Function Documentation</h2>
  382. <a class="anchor" id="aa64d5173a15c51fdb2d80c3c187157ca"></a>
  383. <div class="memitem">
  384. <div class="memproto">
  385. <table class="memname">
  386. <tr>
  387. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>* grpc_access_token_credentials_create </td>
  388. <td>(</td>
  389. <td class="paramtype">const char *&#160;</td>
  390. <td class="paramname"><em>access_token</em>, </td>
  391. </tr>
  392. <tr>
  393. <td class="paramkey"></td>
  394. <td></td>
  395. <td class="paramtype">void *&#160;</td>
  396. <td class="paramname"><em>reserved</em>&#160;</td>
  397. </tr>
  398. <tr>
  399. <td></td>
  400. <td>)</td>
  401. <td></td><td></td>
  402. </tr>
  403. </table>
  404. </div><div class="memdoc">
  405. <p>Creates an Oauth2 Access Token credentials with an access token that was aquired by an out of band mechanism. </p>
  406. </div>
  407. </div>
  408. <a class="anchor" id="a73068ca89b430bb9004f8c3e86a2886a"></a>
  409. <div class="memitem">
  410. <div class="memproto">
  411. <table class="memname">
  412. <tr>
  413. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void grpc_auth_context_add_cstring_property </td>
  414. <td>(</td>
  415. <td class="paramtype"><a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *&#160;</td>
  416. <td class="paramname"><em>ctx</em>, </td>
  417. </tr>
  418. <tr>
  419. <td class="paramkey"></td>
  420. <td></td>
  421. <td class="paramtype">const char *&#160;</td>
  422. <td class="paramname"><em>name</em>, </td>
  423. </tr>
  424. <tr>
  425. <td class="paramkey"></td>
  426. <td></td>
  427. <td class="paramtype">const char *&#160;</td>
  428. <td class="paramname"><em>value</em>&#160;</td>
  429. </tr>
  430. <tr>
  431. <td></td>
  432. <td>)</td>
  433. <td></td><td></td>
  434. </tr>
  435. </table>
  436. </div><div class="memdoc">
  437. <p>Add a C string property. </p>
  438. </div>
  439. </div>
  440. <a class="anchor" id="a93f543166de70abb3a725bdca1d79996"></a>
  441. <div class="memitem">
  442. <div class="memproto">
  443. <table class="memname">
  444. <tr>
  445. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void grpc_auth_context_add_property </td>
  446. <td>(</td>
  447. <td class="paramtype"><a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *&#160;</td>
  448. <td class="paramname"><em>ctx</em>, </td>
  449. </tr>
  450. <tr>
  451. <td class="paramkey"></td>
  452. <td></td>
  453. <td class="paramtype">const char *&#160;</td>
  454. <td class="paramname"><em>name</em>, </td>
  455. </tr>
  456. <tr>
  457. <td class="paramkey"></td>
  458. <td></td>
  459. <td class="paramtype">const char *&#160;</td>
  460. <td class="paramname"><em>value</em>, </td>
  461. </tr>
  462. <tr>
  463. <td class="paramkey"></td>
  464. <td></td>
  465. <td class="paramtype">size_t&#160;</td>
  466. <td class="paramname"><em>value_length</em>&#160;</td>
  467. </tr>
  468. <tr>
  469. <td></td>
  470. <td>)</td>
  471. <td></td><td></td>
  472. </tr>
  473. </table>
  474. </div><div class="memdoc">
  475. <p>&ndash; The following auth context methods should only be called by a server metadata processor to set properties extracted from auth metadata. </p>
  476. <p>&ndash; Add a property. </p>
  477. </div>
  478. </div>
  479. <a class="anchor" id="a9d3ce2db2aa6fb1c21dd2789ee7c2d18"></a>
  480. <div class="memitem">
  481. <div class="memproto">
  482. <table class="memname">
  483. <tr>
  484. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a> grpc_auth_context_find_properties_by_name </td>
  485. <td>(</td>
  486. <td class="paramtype">const <a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *&#160;</td>
  487. <td class="paramname"><em>ctx</em>, </td>
  488. </tr>
  489. <tr>
  490. <td class="paramkey"></td>
  491. <td></td>
  492. <td class="paramtype">const char *&#160;</td>
  493. <td class="paramname"><em>name</em>&#160;</td>
  494. </tr>
  495. <tr>
  496. <td></td>
  497. <td>)</td>
  498. <td></td><td></td>
  499. </tr>
  500. </table>
  501. </div><div class="memdoc">
  502. <p>Finds a property in the context. </p>
  503. <p>May return an empty iterator (first _next will return NULL) if no property with this name was found in the context. </p>
  504. </div>
  505. </div>
  506. <a class="anchor" id="a4d6409cf4a261297cd327bd49e72fcea"></a>
  507. <div class="memitem">
  508. <div class="memproto">
  509. <table class="memname">
  510. <tr>
  511. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a> grpc_auth_context_peer_identity </td>
  512. <td>(</td>
  513. <td class="paramtype">const <a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *&#160;</td>
  514. <td class="paramname"><em>ctx</em></td><td>)</td>
  515. <td></td>
  516. </tr>
  517. </table>
  518. </div><div class="memdoc">
  519. <p>Gets the peer identity. </p>
  520. <p>Returns an empty iterator (first _next will return NULL) if the peer is not authenticated. </p>
  521. </div>
  522. </div>
  523. <a class="anchor" id="a5a627008e49efec12fb97c25b5da4628"></a>
  524. <div class="memitem">
  525. <div class="memproto">
  526. <table class="memname">
  527. <tr>
  528. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> const char* grpc_auth_context_peer_identity_property_name </td>
  529. <td>(</td>
  530. <td class="paramtype">const <a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *&#160;</td>
  531. <td class="paramname"><em>ctx</em></td><td>)</td>
  532. <td></td>
  533. </tr>
  534. </table>
  535. </div><div class="memdoc">
  536. <p>Gets the name of the property that indicates the peer identity. </p>
  537. <p>Will return NULL if the peer is not authenticated. </p>
  538. </div>
  539. </div>
  540. <a class="anchor" id="a5bb56dbcba0b0c54e3c6da0635391959"></a>
  541. <div class="memitem">
  542. <div class="memproto">
  543. <table class="memname">
  544. <tr>
  545. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> int grpc_auth_context_peer_is_authenticated </td>
  546. <td>(</td>
  547. <td class="paramtype">const <a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *&#160;</td>
  548. <td class="paramname"><em>ctx</em></td><td>)</td>
  549. <td></td>
  550. </tr>
  551. </table>
  552. </div><div class="memdoc">
  553. <p>Returns 1 if the peer is authenticated, 0 otherwise. </p>
  554. </div>
  555. </div>
  556. <a class="anchor" id="aedee02a7f6ed58e9bd41b00a518350c2"></a>
  557. <div class="memitem">
  558. <div class="memproto">
  559. <table class="memname">
  560. <tr>
  561. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a> grpc_auth_context_property_iterator </td>
  562. <td>(</td>
  563. <td class="paramtype">const <a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *&#160;</td>
  564. <td class="paramname"><em>ctx</em></td><td>)</td>
  565. <td></td>
  566. </tr>
  567. </table>
  568. </div><div class="memdoc">
  569. <p>Iterates over the auth context. </p>
  570. </div>
  571. </div>
  572. <a class="anchor" id="aa9dbfdabaca2ab86c9d7e71cbc81d3d4"></a>
  573. <div class="memitem">
  574. <div class="memproto">
  575. <table class="memname">
  576. <tr>
  577. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void grpc_auth_context_release </td>
  578. <td>(</td>
  579. <td class="paramtype"><a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *&#160;</td>
  580. <td class="paramname"><em>context</em></td><td>)</td>
  581. <td></td>
  582. </tr>
  583. </table>
  584. </div><div class="memdoc">
  585. <p>Releases the auth context returned from grpc_call_auth_context. </p>
  586. </div>
  587. </div>
  588. <a class="anchor" id="a9cff913051370085b7cc58aa3ccbd4a4"></a>
  589. <div class="memitem">
  590. <div class="memproto">
  591. <table class="memname">
  592. <tr>
  593. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> int grpc_auth_context_set_peer_identity_property_name </td>
  594. <td>(</td>
  595. <td class="paramtype"><a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *&#160;</td>
  596. <td class="paramname"><em>ctx</em>, </td>
  597. </tr>
  598. <tr>
  599. <td class="paramkey"></td>
  600. <td></td>
  601. <td class="paramtype">const char *&#160;</td>
  602. <td class="paramname"><em>name</em>&#160;</td>
  603. </tr>
  604. <tr>
  605. <td></td>
  606. <td>)</td>
  607. <td></td><td></td>
  608. </tr>
  609. </table>
  610. </div><div class="memdoc">
  611. <p>Sets the property name. </p>
  612. <p>Returns 1 if successful or 0 in case of failure (which means that no property with this name exists). </p>
  613. </div>
  614. </div>
  615. <a class="anchor" id="a064c4dc355a3720cd2bcf6e3ddfb3e05"></a>
  616. <div class="memitem">
  617. <div class="memproto">
  618. <table class="memname">
  619. <tr>
  620. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> const <a class="el" href="structgrpc__auth__property.html">grpc_auth_property</a>* grpc_auth_property_iterator_next </td>
  621. <td>(</td>
  622. <td class="paramtype"><a class="el" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a> *&#160;</td>
  623. <td class="paramname"><em>it</em></td><td>)</td>
  624. <td></td>
  625. </tr>
  626. </table>
  627. </div><div class="memdoc">
  628. <p>Returns NULL when the iterator is at the end. </p>
  629. </div>
  630. </div>
  631. <a class="anchor" id="a3c1860cddc9edaa7f657a98a35b77e80"></a>
  632. <div class="memitem">
  633. <div class="memproto">
  634. <table class="memname">
  635. <tr>
  636. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a>* grpc_call_auth_context </td>
  637. <td>(</td>
  638. <td class="paramtype"><a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *&#160;</td>
  639. <td class="paramname"><em>call</em></td><td>)</td>
  640. <td></td>
  641. </tr>
  642. </table>
  643. </div><div class="memdoc">
  644. <p>Gets the auth context from the call. </p>
  645. <p>Caller needs to call grpc_auth_context_release on the returned context. </p>
  646. </div>
  647. </div>
  648. <a class="anchor" id="aeb21611154f3defe05e4eac4cc25af5a"></a>
  649. <div class="memitem">
  650. <div class="memproto">
  651. <table class="memname">
  652. <tr>
  653. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void grpc_call_credentials_release </td>
  654. <td>(</td>
  655. <td class="paramtype"><a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *&#160;</td>
  656. <td class="paramname"><em>creds</em></td><td>)</td>
  657. <td></td>
  658. </tr>
  659. </table>
  660. </div><div class="memdoc">
  661. <p>Releases a call credentials object. </p>
  662. <p>The creator of the credentials object is responsible for its release. </p>
  663. </div>
  664. </div>
  665. <a class="anchor" id="ab065a653f78111065e91a579fd2ce2d2"></a>
  666. <div class="memitem">
  667. <div class="memproto">
  668. <table class="memname">
  669. <tr>
  670. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> grpc_call_set_credentials </td>
  671. <td>(</td>
  672. <td class="paramtype"><a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *&#160;</td>
  673. <td class="paramname"><em>call</em>, </td>
  674. </tr>
  675. <tr>
  676. <td class="paramkey"></td>
  677. <td></td>
  678. <td class="paramtype"><a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *&#160;</td>
  679. <td class="paramname"><em>creds</em>&#160;</td>
  680. </tr>
  681. <tr>
  682. <td></td>
  683. <td>)</td>
  684. <td></td><td></td>
  685. </tr>
  686. </table>
  687. </div><div class="memdoc">
  688. <p>&mdash; Call specific credentials. </p>
  689. <hr/>
  690. <p> Sets a credentials to a call. Can only be called on the client side before grpc_call_start_batch. </p>
  691. </div>
  692. </div>
  693. <a class="anchor" id="a5a32645c900c2b50bc89fa11ebdc5a07"></a>
  694. <div class="memitem">
  695. <div class="memproto">
  696. <table class="memname">
  697. <tr>
  698. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void grpc_channel_credentials_release </td>
  699. <td>(</td>
  700. <td class="paramtype"><a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> *&#160;</td>
  701. <td class="paramname"><em>creds</em></td><td>)</td>
  702. <td></td>
  703. </tr>
  704. </table>
  705. </div><div class="memdoc">
  706. <p>Releases a channel credentials object. </p>
  707. <p>The creator of the credentials object is responsible for its release. </p>
  708. </div>
  709. </div>
  710. <a class="anchor" id="a5fb84795d5b0306006fdb8d316262a82"></a>
  711. <div class="memitem">
  712. <div class="memproto">
  713. <table class="memname">
  714. <tr>
  715. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>* grpc_composite_call_credentials_create </td>
  716. <td>(</td>
  717. <td class="paramtype"><a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *&#160;</td>
  718. <td class="paramname"><em>creds1</em>, </td>
  719. </tr>
  720. <tr>
  721. <td class="paramkey"></td>
  722. <td></td>
  723. <td class="paramtype"><a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *&#160;</td>
  724. <td class="paramname"><em>creds2</em>, </td>
  725. </tr>
  726. <tr>
  727. <td class="paramkey"></td>
  728. <td></td>
  729. <td class="paramtype">void *&#160;</td>
  730. <td class="paramname"><em>reserved</em>&#160;</td>
  731. </tr>
  732. <tr>
  733. <td></td>
  734. <td>)</td>
  735. <td></td><td></td>
  736. </tr>
  737. </table>
  738. </div><div class="memdoc">
  739. <p>Creates a composite call credentials object. </p>
  740. </div>
  741. </div>
  742. <a class="anchor" id="a8e4b35968eac741831a708224e207348"></a>
  743. <div class="memitem">
  744. <div class="memproto">
  745. <table class="memname">
  746. <tr>
  747. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a>* grpc_composite_channel_credentials_create </td>
  748. <td>(</td>
  749. <td class="paramtype"><a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> *&#160;</td>
  750. <td class="paramname"><em>channel_creds</em>, </td>
  751. </tr>
  752. <tr>
  753. <td class="paramkey"></td>
  754. <td></td>
  755. <td class="paramtype"><a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *&#160;</td>
  756. <td class="paramname"><em>call_creds</em>, </td>
  757. </tr>
  758. <tr>
  759. <td class="paramkey"></td>
  760. <td></td>
  761. <td class="paramtype">void *&#160;</td>
  762. <td class="paramname"><em>reserved</em>&#160;</td>
  763. </tr>
  764. <tr>
  765. <td></td>
  766. <td>)</td>
  767. <td></td><td></td>
  768. </tr>
  769. </table>
  770. </div><div class="memdoc">
  771. <p>Creates a composite channel credentials object. </p>
  772. </div>
  773. </div>
  774. <a class="anchor" id="af66841ff2c26a95ff9cd18ea2cdf38cb"></a>
  775. <div class="memitem">
  776. <div class="memproto">
  777. <table class="memname">
  778. <tr>
  779. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>* grpc_google_compute_engine_credentials_create </td>
  780. <td>(</td>
  781. <td class="paramtype">void *&#160;</td>
  782. <td class="paramname"><em>reserved</em></td><td>)</td>
  783. <td></td>
  784. </tr>
  785. </table>
  786. </div><div class="memdoc">
  787. <p>Creates a compute engine credentials object for connecting to Google. </p>
  788. <p>WARNING: Do NOT use this credentials to connect to a non-google service as this could result in an oauth2 token leak. </p>
  789. </div>
  790. </div>
  791. <a class="anchor" id="a68183d792830190c3e14504557d57ad7"></a>
  792. <div class="memitem">
  793. <div class="memproto">
  794. <table class="memname">
  795. <tr>
  796. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a>* grpc_google_default_credentials_create </td>
  797. <td>(</td>
  798. <td class="paramtype">void&#160;</td>
  799. <td class="paramname"></td><td>)</td>
  800. <td></td>
  801. </tr>
  802. </table>
  803. </div><div class="memdoc">
  804. <p>Creates default credentials to connect to a google gRPC service. </p>
  805. <p>WARNING: Do NOT use this credentials to connect to a non-google service as this could result in an oauth2 token leak. </p>
  806. </div>
  807. </div>
  808. <a class="anchor" id="a060719c0b294858858dbf41b7ec2abb5"></a>
  809. <div class="memitem">
  810. <div class="memproto">
  811. <table class="memname">
  812. <tr>
  813. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>* grpc_google_iam_credentials_create </td>
  814. <td>(</td>
  815. <td class="paramtype">const char *&#160;</td>
  816. <td class="paramname"><em>authorization_token</em>, </td>
  817. </tr>
  818. <tr>
  819. <td class="paramkey"></td>
  820. <td></td>
  821. <td class="paramtype">const char *&#160;</td>
  822. <td class="paramname"><em>authority_selector</em>, </td>
  823. </tr>
  824. <tr>
  825. <td class="paramkey"></td>
  826. <td></td>
  827. <td class="paramtype">void *&#160;</td>
  828. <td class="paramname"><em>reserved</em>&#160;</td>
  829. </tr>
  830. <tr>
  831. <td></td>
  832. <td>)</td>
  833. <td></td><td></td>
  834. </tr>
  835. </table>
  836. </div><div class="memdoc">
  837. <p>Creates an IAM credentials object for connecting to Google. </p>
  838. </div>
  839. </div>
  840. <a class="anchor" id="aa2108431aea25ab0e9bef17becff7357"></a>
  841. <div class="memitem">
  842. <div class="memproto">
  843. <table class="memname">
  844. <tr>
  845. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>* grpc_google_refresh_token_credentials_create </td>
  846. <td>(</td>
  847. <td class="paramtype">const char *&#160;</td>
  848. <td class="paramname"><em>json_refresh_token</em>, </td>
  849. </tr>
  850. <tr>
  851. <td class="paramkey"></td>
  852. <td></td>
  853. <td class="paramtype">void *&#160;</td>
  854. <td class="paramname"><em>reserved</em>&#160;</td>
  855. </tr>
  856. <tr>
  857. <td></td>
  858. <td>)</td>
  859. <td></td><td></td>
  860. </tr>
  861. </table>
  862. </div><div class="memdoc">
  863. <p>Creates an Oauth2 Refresh Token credentials object for connecting to Google. </p>
  864. <p>May return NULL if the input is invalid. WARNING: Do NOT use this credentials to connect to a non-google service as this could result in an oauth2 token leak.</p>
  865. <ul>
  866. <li>json_refresh_token is the JSON string containing the refresh token itself along with a client_id and client_secret. </li>
  867. </ul>
  868. </div>
  869. </div>
  870. <a class="anchor" id="a8bf68d788a4b95461e77278049f4c73f"></a>
  871. <div class="memitem">
  872. <div class="memproto">
  873. <table class="memname">
  874. <tr>
  875. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="structgpr__timespec.html">gpr_timespec</a> grpc_max_auth_token_lifetime </td>
  876. <td>(</td>
  877. <td class="paramname"></td><td>)</td>
  878. <td></td>
  879. </tr>
  880. </table>
  881. </div><div class="memdoc">
  882. </div>
  883. </div>
  884. <a class="anchor" id="aed07d29d954508e9f9da66b547660160"></a>
  885. <div class="memitem">
  886. <div class="memproto">
  887. <table class="memname">
  888. <tr>
  889. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>* grpc_metadata_credentials_create_from_plugin </td>
  890. <td>(</td>
  891. <td class="paramtype"><a class="el" href="structgrpc__metadata__credentials__plugin.html">grpc_metadata_credentials_plugin</a>&#160;</td>
  892. <td class="paramname"><em>plugin</em>, </td>
  893. </tr>
  894. <tr>
  895. <td class="paramkey"></td>
  896. <td></td>
  897. <td class="paramtype">void *&#160;</td>
  898. <td class="paramname"><em>reserved</em>&#160;</td>
  899. </tr>
  900. <tr>
  901. <td></td>
  902. <td>)</td>
  903. <td></td><td></td>
  904. </tr>
  905. </table>
  906. </div><div class="memdoc">
  907. <p>Creates a credentials object from a plugin. </p>
  908. </div>
  909. </div>
  910. <a class="anchor" id="acad1744e2cdf6f9f11723c3450874ca7"></a>
  911. <div class="memitem">
  912. <div class="memproto">
  913. <table class="memname">
  914. <tr>
  915. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a>* grpc_secure_channel_create </td>
  916. <td>(</td>
  917. <td class="paramtype"><a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> *&#160;</td>
  918. <td class="paramname"><em>creds</em>, </td>
  919. </tr>
  920. <tr>
  921. <td class="paramkey"></td>
  922. <td></td>
  923. <td class="paramtype">const char *&#160;</td>
  924. <td class="paramname"><em>target</em>, </td>
  925. </tr>
  926. <tr>
  927. <td class="paramkey"></td>
  928. <td></td>
  929. <td class="paramtype">const <a class="el" href="structgrpc__channel__args.html">grpc_channel_args</a> *&#160;</td>
  930. <td class="paramname"><em>args</em>, </td>
  931. </tr>
  932. <tr>
  933. <td class="paramkey"></td>
  934. <td></td>
  935. <td class="paramtype">void *&#160;</td>
  936. <td class="paramname"><em>reserved</em>&#160;</td>
  937. </tr>
  938. <tr>
  939. <td></td>
  940. <td>)</td>
  941. <td></td><td></td>
  942. </tr>
  943. </table>
  944. </div><div class="memdoc">
  945. <p>&mdash; Secure channel creation. </p>
  946. <hr/>
  947. <p> Creates a secure channel using the passed-in credentials. </p>
  948. </div>
  949. </div>
  950. <a class="anchor" id="a53278c0894e787a5f3bb1092d0fdc3f6"></a>
  951. <div class="memitem">
  952. <div class="memproto">
  953. <table class="memname">
  954. <tr>
  955. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> int grpc_server_add_secure_http2_port </td>
  956. <td>(</td>
  957. <td class="paramtype"><a class="el" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *&#160;</td>
  958. <td class="paramname"><em>server</em>, </td>
  959. </tr>
  960. <tr>
  961. <td class="paramkey"></td>
  962. <td></td>
  963. <td class="paramtype">const char *&#160;</td>
  964. <td class="paramname"><em>addr</em>, </td>
  965. </tr>
  966. <tr>
  967. <td class="paramkey"></td>
  968. <td></td>
  969. <td class="paramtype"><a class="el" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a> *&#160;</td>
  970. <td class="paramname"><em>creds</em>&#160;</td>
  971. </tr>
  972. <tr>
  973. <td></td>
  974. <td>)</td>
  975. <td></td><td></td>
  976. </tr>
  977. </table>
  978. </div><div class="memdoc">
  979. <p>&mdash; Server-side secure ports. </p>
  980. <hr/>
  981. <p> Add a HTTP2 over an encrypted link over tcp listener. Returns bound port number on success, 0 on failure. REQUIRES: server not started </p>
  982. </div>
  983. </div>
  984. <a class="anchor" id="a8d8e443300d9a94fa5fe7ef76c77fd38"></a>
  985. <div class="memitem">
  986. <div class="memproto">
  987. <table class="memname">
  988. <tr>
  989. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void grpc_server_credentials_release </td>
  990. <td>(</td>
  991. <td class="paramtype"><a class="el" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a> *&#160;</td>
  992. <td class="paramname"><em>creds</em></td><td>)</td>
  993. <td></td>
  994. </tr>
  995. </table>
  996. </div><div class="memdoc">
  997. <p>Releases a server_credentials object. </p>
  998. <p>The creator of the server_credentials object is responsible for its release. </p>
  999. </div>
  1000. </div>
  1001. <a class="anchor" id="a37da13e43ccc9b19e9f1a6051feaedc3"></a>
  1002. <div class="memitem">
  1003. <div class="memproto">
  1004. <table class="memname">
  1005. <tr>
  1006. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void grpc_server_credentials_set_auth_metadata_processor </td>
  1007. <td>(</td>
  1008. <td class="paramtype"><a class="el" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a> *&#160;</td>
  1009. <td class="paramname"><em>creds</em>, </td>
  1010. </tr>
  1011. <tr>
  1012. <td class="paramkey"></td>
  1013. <td></td>
  1014. <td class="paramtype"><a class="el" href="structgrpc__auth__metadata__processor.html">grpc_auth_metadata_processor</a>&#160;</td>
  1015. <td class="paramname"><em>processor</em>&#160;</td>
  1016. </tr>
  1017. <tr>
  1018. <td></td>
  1019. <td>)</td>
  1020. <td></td><td></td>
  1021. </tr>
  1022. </table>
  1023. </div><div class="memdoc">
  1024. </div>
  1025. </div>
  1026. <a class="anchor" id="ae8c4bf6c9657d6e19ea1481c1ea9a5d5"></a>
  1027. <div class="memitem">
  1028. <div class="memproto">
  1029. <table class="memname">
  1030. <tr>
  1031. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>* grpc_service_account_jwt_access_credentials_create </td>
  1032. <td>(</td>
  1033. <td class="paramtype">const char *&#160;</td>
  1034. <td class="paramname"><em>json_key</em>, </td>
  1035. </tr>
  1036. <tr>
  1037. <td class="paramkey"></td>
  1038. <td></td>
  1039. <td class="paramtype"><a class="el" href="structgpr__timespec.html">gpr_timespec</a>&#160;</td>
  1040. <td class="paramname"><em>token_lifetime</em>, </td>
  1041. </tr>
  1042. <tr>
  1043. <td class="paramkey"></td>
  1044. <td></td>
  1045. <td class="paramtype">void *&#160;</td>
  1046. <td class="paramname"><em>reserved</em>&#160;</td>
  1047. </tr>
  1048. <tr>
  1049. <td></td>
  1050. <td>)</td>
  1051. <td></td><td></td>
  1052. </tr>
  1053. </table>
  1054. </div><div class="memdoc">
  1055. <p>Creates a JWT credentials object. </p>
  1056. <p>May return NULL if the input is invalid.</p>
  1057. <ul>
  1058. <li>json_key is the JSON key string containing the client's private key.</li>
  1059. <li>token_lifetime is the lifetime of each Json Web Token (JWT) created with this credentials. It should not exceed grpc_max_auth_token_lifetime or will be cropped to this value. </li>
  1060. </ul>
  1061. </div>
  1062. </div>
  1063. <a class="anchor" id="a44c23e47832d9cc27bb56822d66bf436"></a>
  1064. <div class="memitem">
  1065. <div class="memproto">
  1066. <table class="memname">
  1067. <tr>
  1068. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void grpc_set_ssl_roots_override_callback </td>
  1069. <td>(</td>
  1070. <td class="paramtype"><a class="el" href="grpc__security_8h.html#a005f46357a959bbfbb7b1241a933ef43">grpc_ssl_roots_override_callback</a>&#160;</td>
  1071. <td class="paramname"><em>cb</em></td><td>)</td>
  1072. <td></td>
  1073. </tr>
  1074. </table>
  1075. </div><div class="memdoc">
  1076. <p>Setup a callback to override the default TLS/SSL roots. </p>
  1077. <p>This function is not thread-safe and must be called at initialization time before any ssl credentials are created to have the desired side effect. If GRPC_DEFAULT_SSL_ROOTS_FILE_PATH environment is set to a valid path, the callback will not be called. </p>
  1078. </div>
  1079. </div>
  1080. <a class="anchor" id="a2dfd4a555352ff0e449ce9c38abd2f21"></a>
  1081. <div class="memitem">
  1082. <div class="memproto">
  1083. <table class="memname">
  1084. <tr>
  1085. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a>* grpc_ssl_credentials_create </td>
  1086. <td>(</td>
  1087. <td class="paramtype">const char *&#160;</td>
  1088. <td class="paramname"><em>pem_root_certs</em>, </td>
  1089. </tr>
  1090. <tr>
  1091. <td class="paramkey"></td>
  1092. <td></td>
  1093. <td class="paramtype"><a class="el" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a> *&#160;</td>
  1094. <td class="paramname"><em>pem_key_cert_pair</em>, </td>
  1095. </tr>
  1096. <tr>
  1097. <td class="paramkey"></td>
  1098. <td></td>
  1099. <td class="paramtype">void *&#160;</td>
  1100. <td class="paramname"><em>reserved</em>&#160;</td>
  1101. </tr>
  1102. <tr>
  1103. <td></td>
  1104. <td>)</td>
  1105. <td></td><td></td>
  1106. </tr>
  1107. </table>
  1108. </div><div class="memdoc">
  1109. <p>Creates an SSL credentials object. </p>
  1110. <ul>
  1111. <li>pem_root_certs is the NULL-terminated string containing the PEM encoding of the server root certificates. If this parameter is NULL, the implementation will first try to dereference the file pointed by the GRPC_DEFAULT_SSL_ROOTS_FILE_PATH environment variable, and if that fails, try to get the roots set by grpc_override_ssl_default_roots. Eventually, if all these fail, it will try to get the roots from a well-known place on disk (in the grpc install directory).</li>
  1112. <li>pem_key_cert_pair is a pointer on the object containing client's private key and certificate chain. This parameter can be NULL if the client does not have such a key/cert pair. </li>
  1113. </ul>
  1114. </div>
  1115. </div>
  1116. <a class="anchor" id="adde6c7d191f88997fd82fd8b54f9420e"></a>
  1117. <div class="memitem">
  1118. <div class="memproto">
  1119. <table class="memname">
  1120. <tr>
  1121. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a>* grpc_ssl_server_credentials_create </td>
  1122. <td>(</td>
  1123. <td class="paramtype">const char *&#160;</td>
  1124. <td class="paramname"><em>pem_root_certs</em>, </td>
  1125. </tr>
  1126. <tr>
  1127. <td class="paramkey"></td>
  1128. <td></td>
  1129. <td class="paramtype"><a class="el" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a> *&#160;</td>
  1130. <td class="paramname"><em>pem_key_cert_pairs</em>, </td>
  1131. </tr>
  1132. <tr>
  1133. <td class="paramkey"></td>
  1134. <td></td>
  1135. <td class="paramtype">size_t&#160;</td>
  1136. <td class="paramname"><em>num_key_cert_pairs</em>, </td>
  1137. </tr>
  1138. <tr>
  1139. <td class="paramkey"></td>
  1140. <td></td>
  1141. <td class="paramtype">int&#160;</td>
  1142. <td class="paramname"><em>force_client_auth</em>, </td>
  1143. </tr>
  1144. <tr>
  1145. <td class="paramkey"></td>
  1146. <td></td>
  1147. <td class="paramtype">void *&#160;</td>
  1148. <td class="paramname"><em>reserved</em>&#160;</td>
  1149. </tr>
  1150. <tr>
  1151. <td></td>
  1152. <td>)</td>
  1153. <td></td><td></td>
  1154. </tr>
  1155. </table>
  1156. </div><div class="memdoc">
  1157. <p>Deprecated in favor of grpc_ssl_server_credentials_create_ex. </p>
  1158. <p>Creates an SSL server_credentials object.</p>
  1159. <ul>
  1160. <li>pem_roots_cert is the NULL-terminated string containing the PEM encoding of the client root certificates. This parameter may be NULL if the server does not want the client to be authenticated with SSL.</li>
  1161. <li>pem_key_cert_pairs is an array private key / certificate chains of the server. This parameter cannot be NULL.</li>
  1162. <li>num_key_cert_pairs indicates the number of items in the private_key_files and cert_chain_files parameters. It should be at least 1.</li>
  1163. <li>force_client_auth, if set to non-zero will force the client to authenticate with an SSL cert. Note that this option is ignored if pem_root_certs is NULL. </li>
  1164. </ul>
  1165. </div>
  1166. </div>
  1167. <a class="anchor" id="a5f8a4204d09f2b10a3986d25b6583a08"></a>
  1168. <div class="memitem">
  1169. <div class="memproto">
  1170. <table class="memname">
  1171. <tr>
  1172. <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a>* grpc_ssl_server_credentials_create_ex </td>
  1173. <td>(</td>
  1174. <td class="paramtype">const char *&#160;</td>
  1175. <td class="paramname"><em>pem_root_certs</em>, </td>
  1176. </tr>
  1177. <tr>
  1178. <td class="paramkey"></td>
  1179. <td></td>
  1180. <td class="paramtype"><a class="el" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a> *&#160;</td>
  1181. <td class="paramname"><em>pem_key_cert_pairs</em>, </td>
  1182. </tr>
  1183. <tr>
  1184. <td class="paramkey"></td>
  1185. <td></td>
  1186. <td class="paramtype">size_t&#160;</td>
  1187. <td class="paramname"><em>num_key_cert_pairs</em>, </td>
  1188. </tr>
  1189. <tr>
  1190. <td class="paramkey"></td>
  1191. <td></td>
  1192. <td class="paramtype"><a class="el" href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09">grpc_ssl_client_certificate_request_type</a>&#160;</td>
  1193. <td class="paramname"><em>client_certificate_request</em>, </td>
  1194. </tr>
  1195. <tr>
  1196. <td class="paramkey"></td>
  1197. <td></td>
  1198. <td class="paramtype">void *&#160;</td>
  1199. <td class="paramname"><em>reserved</em>&#160;</td>
  1200. </tr>
  1201. <tr>
  1202. <td></td>
  1203. <td>)</td>
  1204. <td></td><td></td>
  1205. </tr>
  1206. </table>
  1207. </div><div class="memdoc">
  1208. <p>Same as grpc_ssl_server_credentials_create method except uses grpc_ssl_client_certificate_request_type enum to support more ways to authenticate client cerificates. </p>
  1209. </div>
  1210. </div>
  1211. </div><!-- contents -->
  1212. <!-- start footer part -->
  1213. <hr class="footer"/><address class="footer"><small>
  1214. Generated on Wed Jun 21 2017 14:13:07 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
  1215. <img class="footer" src="doxygen.png" alt="doxygen"/>
  1216. </a> 1.8.6
  1217. </small></address>
  1218. </body>
  1219. </html>