Module: BaUpload

Defined in:
lib/ba_upload.rb,
lib/ba_upload/version.rb,
lib/ba_upload/connection.rb,
lib/ba_upload/error_file.rb

Defined Under Namespace

Classes: Connection, ErrorFile

Constant Summary collapse

VERSION =
"0.2.0"

Class Method Summary collapse

Class Method Details

.export_certificate(file_path:, passphrase:) ⇒ Object



5
6
7
8
9
10
11
12
# File 'lib/ba_upload.rb', line 5

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

.open_connection(file_path:, passphrase:) ⇒ Object



14
15
16
17
# File 'lib/ba_upload.rb', line 14

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