205: def ssl_store(purpose = OpenSSL::X509::PURPOSE_ANY)
206: unless @ssl_store
207: @ssl_store = OpenSSL::X509::Store.new
208: @ssl_store.purpose = purpose
209:
210:
211:
212: @ssl_store.add_file(Puppet[:localcacert])
213:
214:
215: if crl = Puppet::SSL::CertificateRevocationList.find(CA_NAME)
216: @ssl_store.flags = OpenSSL::X509::V_FLAG_CRL_CHECK_ALL|OpenSSL::X509::V_FLAG_CRL_CHECK if Puppet.settings[:certificate_revocation]
217: @ssl_store.add_crl(crl.content)
218: end
219: return @ssl_store
220: end
221: @ssl_store
222: end