217: def ssl_store(purpose = OpenSSL::X509::PURPOSE_ANY)
218: unless defined?(@ssl_store) and @ssl_store
219: @ssl_store = OpenSSL::X509::Store.new
220: @ssl_store.purpose = purpose
221:
222:
223:
224: @ssl_store.add_file(Puppet[:localcacert])
225:
226:
227: if crl = Puppet::SSL::CertificateRevocationList.find("ca")
228: @ssl_store.flags = OpenSSL::X509::V_FLAG_CRL_CHECK_ALL|OpenSSL::X509::V_FLAG_CRL_CHECK
229: @ssl_store.add_crl(crl.content)
230: end
231: return @ssl_store
232: end
233: @ssl_store
234: end