PageRenderTime 29ms CodeModel.GetById 27ms RepoModel.GetById 0ms app.codeStats 0ms

/source/puppet/4.5/reference/yard/Puppet/Util/Windows/RootCerts.html

https://github.com/ahpook/puppet-docs
HTML | 387 lines | 229 code | 158 blank | 0 comment | 0 complexity | de8a95d9a7870bc47ee2ab17ffd378a1 MD5 | raw file
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>
  7. Class: Puppet::Util::Windows::RootCerts
  8. &mdash; Documentation by YARD 0.9.0
  9. </title>
  10. <link rel="stylesheet" href="../../../css/style.css" type="text/css" charset="utf-8" />
  11. <link rel="stylesheet" href="../../../css/common.css" type="text/css" charset="utf-8" />
  12. <script type="text/javascript" charset="utf-8">
  13. pathId = "Puppet::Util::Windows::RootCerts";
  14. relpath = '../../../';
  15. </script>
  16. <script type="text/javascript" charset="utf-8" src="../../../js/jquery.js"></script>
  17. <script type="text/javascript" charset="utf-8" src="../../../js/app.js"></script>
  18. </head>
  19. <body>
  20. <div class="nav_wrap">
  21. <iframe id="nav" src="../../../class_list.html"></iframe>
  22. <div id="resizer"></div>
  23. </div>
  24. <div id="main" tabindex="-1">
  25. <div id="header">
  26. <div id="menu">
  27. <a href="../../../_index.html">Index (R)</a> &raquo;
  28. <span class='title'><span class='object_link'><a href="../../../Puppet.html" title="Puppet (module)">Puppet</a></span></span> &raquo; <span class='title'><span class='object_link'>Util</span></span> &raquo; <span class='title'><span class='object_link'>Windows</span></span>
  29. &raquo;
  30. <span class="title">RootCerts</span>
  31. </div>
  32. <div id="search">
  33. <a class="full_list_link" id="class_list_link"
  34. href="../../../class_list.html">
  35. <svg width="24" height="24">
  36. <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
  37. <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
  38. <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
  39. </svg>
  40. </a>
  41. </div>
  42. <div class="clear"></div>
  43. </div>
  44. <iframe id="search_frame" src="../../../class_list.html"></iframe>
  45. <div id="content"><h1>Class: Puppet::Util::Windows::RootCerts
  46. </h1>
  47. <div class="box_info">
  48. <dl>
  49. <dt>Inherits:</dt>
  50. <dd>
  51. <span class="inheritName"><span class='object_link'>Object</span></span>
  52. <ul class="fullTree">
  53. <li><span class='object_link'>Object</span></li>
  54. <li class="next">Puppet::Util::Windows::RootCerts</li>
  55. </ul>
  56. <a href="#" class="inheritanceTree">show all</a>
  57. </dd>
  58. </dl>
  59. <dl>
  60. <dt>Includes:</dt>
  61. <dd>Enumerable</dd>
  62. </dl>
  63. <dl>
  64. <dt>Defined in:</dt>
  65. <dd>lib/puppet/util/windows/root_certs.rb</dd>
  66. </dl>
  67. </div>
  68. <h2>Overview</h2><div class="docstring">
  69. <div class="discussion">
  70. <p>Represents a collection of trusted root certificates.</p>
  71. </div>
  72. </div>
  73. <div class="tags">
  74. </div>
  75. <h2>
  76. Class Method Summary
  77. <small><a href="#" class="summary_toggle">collapse</a></small>
  78. </h2>
  79. <ul class="summary">
  80. <li class="public ">
  81. <span class="summary_signature">
  82. <a href="#load_certs-class_method" title="load_certs (class method)">.<strong>load_certs</strong> &#x21d2; Array&lt;[OpenSSL::X509::Certificate]&gt; </a>
  83. </span>
  84. <span class="private note title">private</span>
  85. <span class="summary_desc"><div class='inline'><p>Returns an array of root certificates.</p>
  86. </div></span>
  87. </li>
  88. </ul>
  89. <h2>
  90. Instance Method Summary
  91. <small><a href="#" class="summary_toggle">collapse</a></small>
  92. </h2>
  93. <ul class="summary">
  94. <li class="public ">
  95. <span class="summary_signature">
  96. <a href="#each-instance_method" title="#each (instance method)">#<strong>each</strong> {|cert| ... } &#x21d2; Object </a>
  97. </span>
  98. <span class="summary_desc"><div class='inline'><p>Enumerates each root certificate.</p>
  99. </div></span>
  100. </li>
  101. </ul>
  102. <div id="class_method_details" class="method_details_list">
  103. <h2>Class Method Details</h2>
  104. <div class="method_details first">
  105. <h3 class="signature first" id="load_certs-class_method">
  106. .<strong>load_certs</strong> &#x21d2; <tt><span class='object_link'>Array</span>&lt;[OpenSSL::X509::Certificate]&gt;</tt> &nbsp;<span class="private note title">private</span>
  107. </h3><div class="docstring">
  108. <div class="discussion">
  109. <p class="note private">
  110. <strong>This method is part of a private API.</strong>
  111. You should avoid using this method if possible, as it may be removed or be changed in the future.
  112. </p>
  113. <p>Returns an array of root certificates.</p>
  114. </div>
  115. </div>
  116. <div class="tags">
  117. <p class="tag_title">Returns:</p>
  118. <ul class="return">
  119. <li>
  120. <span class='type'>(<tt><span class='object_link'>Array</span>&lt;[OpenSSL::X509::Certificate]&gt;</tt>)</span>
  121. &mdash;
  122. <div class='inline'><p>an array of root certificates</p>
  123. </div>
  124. </li>
  125. </ul>
  126. </div><table class="source_code">
  127. <tr>
  128. <td>
  129. <pre class="lines">
  130. 33
  131. 34
  132. 35
  133. 36
  134. 37
  135. 38
  136. 39
  137. 40
  138. 41
  139. 42
  140. 43
  141. 44
  142. 45
  143. 46
  144. 47
  145. 48
  146. 49
  147. 50
  148. 51
  149. 52
  150. 53
  151. 54
  152. 55</pre>
  153. </td>
  154. <td>
  155. <pre class="code"><span class="info file"># File 'lib/puppet/util/windows/root_certs.rb', line 33</span>
  156. <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_load_certs'>load_certs</span>
  157. <span class='id identifier rubyid_certs'>certs</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
  158. <span class='comment'># This is based on a patch submitted to openssl:
  159. </span> <span class='comment'># https://www.mail-archive.com/openssl-dev@openssl.org/msg26958.html
  160. </span> <span class='id identifier rubyid_ptr'>ptr</span> <span class='op'>=</span> <span class='const'>FFI</span><span class='op'>::</span><span class='const'>Pointer</span><span class='op'>::</span><span class='const'>NULL</span>
  161. <span class='id identifier rubyid_store'>store</span> <span class='op'>=</span> <span class='const'>CertOpenSystemStoreA</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>ROOT</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
  162. <span class='kw'>begin</span>
  163. <span class='kw'>while</span> <span class='lparen'>(</span><span class='id identifier rubyid_ptr'>ptr</span> <span class='op'>=</span> <span class='const'>CertEnumCertificatesInStore</span><span class='lparen'>(</span><span class='id identifier rubyid_store'>store</span><span class='comma'>,</span> <span class='id identifier rubyid_ptr'>ptr</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='kw'>and</span> <span class='kw'>not</span> <span class='id identifier rubyid_ptr'>ptr</span><span class='period'>.</span><span class='id identifier rubyid_null?'>null?</span>
  164. <span class='id identifier rubyid_context'>context</span> <span class='op'>=</span> <span class='const'>CERT_CONTEXT</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_ptr'>ptr</span><span class='rparen'>)</span>
  165. <span class='id identifier rubyid_cert_buf'>cert_buf</span> <span class='op'>=</span> <span class='id identifier rubyid_context'>context</span><span class='lbracket'>[</span><span class='symbol'>:pbCertEncoded</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_read_bytes'>read_bytes</span><span class='lparen'>(</span><span class='id identifier rubyid_context'>context</span><span class='lbracket'>[</span><span class='symbol'>:cbCertEncoded</span><span class='rbracket'>]</span><span class='rparen'>)</span>
  166. <span class='kw'>begin</span>
  167. <span class='id identifier rubyid_certs'>certs</span> <span class='op'>&lt;&lt;</span> <span class='const'>OpenSSL</span><span class='op'>::</span><span class='const'>X509</span><span class='op'>::</span><span class='const'>Certificate</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_cert_buf'>cert_buf</span><span class='rparen'>)</span>
  168. <span class='kw'>rescue</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_detail'>detail</span>
  169. <span class='const'>Puppet</span><span class='period'>.</span><span class='id identifier rubyid_warning'>warning</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Failed to import root certificate: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_detail'>detail</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
  170. <span class='kw'>end</span>
  171. <span class='kw'>end</span>
  172. <span class='kw'>ensure</span>
  173. <span class='const'>CertCloseStore</span><span class='lparen'>(</span><span class='id identifier rubyid_store'>store</span><span class='comma'>,</span> <span class='int'>0</span><span class='rparen'>)</span>
  174. <span class='kw'>end</span>
  175. <span class='id identifier rubyid_certs'>certs</span>
  176. <span class='kw'>end</span></pre>
  177. </td>
  178. </tr>
  179. </table>
  180. </div>
  181. </div>
  182. <div id="instance_method_details" class="method_details_list">
  183. <h2>Instance Method Details</h2>
  184. <div class="method_details first">
  185. <h3 class="signature first" id="each-instance_method">
  186. #<strong>each</strong> {|cert| ... } &#x21d2; <tt><span class='object_link'>Object</span></tt>
  187. </h3><div class="docstring">
  188. <div class="discussion">
  189. <p>Enumerates each root certificate.</p>
  190. </div>
  191. </div>
  192. <div class="tags">
  193. <p class="tag_title">Yield Parameters:</p>
  194. <ul class="yieldparam">
  195. <li>
  196. <span class='name'>cert</span>
  197. <span class='type'>(<tt>OpenSSL::X509::Certificate</tt>)</span>
  198. &mdash;
  199. <div class='inline'><p>each root certificate</p>
  200. </div>
  201. </li>
  202. </ul>
  203. </div><table class="source_code">
  204. <tr>
  205. <td>
  206. <pre class="lines">
  207. 19
  208. 20
  209. 21</pre>
  210. </td>
  211. <td>
  212. <pre class="code"><span class="info file"># File 'lib/puppet/util/windows/root_certs.rb', line 19</span>
  213. <span class='kw'>def</span> <span class='id identifier rubyid_each'>each</span>
  214. <span class='ivar'>@roots</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_cert'>cert</span><span class='op'>|</span> <span class='kw'>yield</span> <span class='id identifier rubyid_cert'>cert</span><span class='rbrace'>}</span>
  215. <span class='kw'>end</span></pre>
  216. </td>
  217. </tr>
  218. </table>
  219. </div>
  220. </div>
  221. </div>
  222. <div id="footer">
  223. Generated on Thu Jul 7 12:40:40 2016 by
  224. <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
  225. 0.9.0 (ruby-2.0.0).
  226. </div>
  227. </div>
  228. </body>
  229. </html>