Sha256: 120c75218afd3830fcc9627d86ef07527cad44fd6e176a0706544b472b3f48c3
Contents?: true
Size: 1.02 KB
Versions: 1
Compression:
Stored size: 1.02 KB
Contents
require "ba_upload/version" require "openssl" if OpenSSL::VERSION >= '3.0.0' && defined?(OpenSSL::Provider) # import legacy OpenSSL::Provider.load("legacy") end module BaUpload def self.export_certificate(file_path:, passphrase:) cert = OpenSSL::PKCS12.new(File.read(file_path), passphrase) { key: Tempfile.new(['key','.pem']).tap{|f| f.write(cert.key.to_s); f.flush}, cert: Tempfile.new(['cert','.pem']).tap{|f| f.write(cert.certificate.to_s); f.flush}, ca_cert: Tempfile.new(['ca_cert','.pem']).tap{|f| f.write(cert.ca_certs.reverse.join("\n")); f.flush } } end def self.open_connection(file_path:, passphrase:) cert = BaUpload.export_certificate(file_path: file_path, passphrase: passphrase) BaUpload::Connection.new(cert[:key], cert[:cert], cert[:ca_cert]) end def self.open(file_path:, passphrase:, &block) conn = BaUpload.open_connection(file_path: file_path, passphrase: passphrase) block.call(conn) ensure conn.shutdown end end require 'ba_upload/connection'
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ba_upload-0.5.0 | lib/ba_upload.rb |