class Aspera::FaspexGW
this class answers the Faspex /send API and creates a package on Aspera
on Cloud
Public Class Methods
new(a_aoc_api_user,a_workspace_id)
click to toggle source
# File lib/aspera/faspex_gw.rb, line 165 def initialize(a_aoc_api_user,a_workspace_id) webrick_options = { :app => FaspexGW, :Port => 9443, :Logger => Log.log, #:DocumentRoot => Cli::Main.gem_root, :SSLEnable => true, :SSLVerifyClient => OpenSSL::SSL::VERIFY_NONE, } case 2 when 0 # generate self signed cert webrick_options[:SSLCertName] = [ [ 'CN',WEBrick::Utils::getservername ] ] Log.log.error(">>>#{webrick_options[:SSLCertName]}") when 1 fill_self_signed_cert(webrick_options) when 2 webrick_options[:SSLPrivateKey] =OpenSSL::PKey::RSA.new(File.read('/Users/laurent/workspace/Tools/certificate/myserver.key')) webrick_options[:SSLCertificate] = OpenSSL::X509::Certificate.new(File.read('/Users/laurent/workspace/Tools/certificate/myserver.crt')) end Log.log.info("Server started on port #{webrick_options[:Port]}") @server = WEBrick::HTTPServer.new(webrick_options) @server.mount('/aspera/faspex', FxGwServlet,a_aoc_api_user,a_workspace_id) @server.mount('/newuser', NewUserServlet) trap('INT') {@server.shutdown} end
Public Instance Methods
fill_self_signed_cert(options)
click to toggle source
# File lib/aspera/faspex_gw.rb, line 142 def fill_self_signed_cert(options) key = OpenSSL::PKey::RSA.new(4096) cert = OpenSSL::X509::Certificate.new cert.subject = cert.issuer = OpenSSL::X509::Name.parse("/C=FR/O=Test/OU=Test/CN=Test") cert.not_before = Time.now cert.not_after = Time.now + 365 * 24 * 60 * 60 cert.public_key = key.public_key cert.serial = 0x0 cert.version = 2 ef = OpenSSL::X509::ExtensionFactory.new ef.issuer_certificate = cert ef.subject_certificate = cert cert.extensions = [ ef.create_extension("basicConstraints","CA:TRUE", true), ef.create_extension("subjectKeyIdentifier", "hash"), # ef.create_extension("keyUsage", "cRLSign,keyCertSign", true), ] cert.add_extension(ef.create_extension("authorityKeyIdentifier","keyid:always,issuer:always")) cert.sign(key, OpenSSL::Digest::SHA256.new) options[:SSLPrivateKey] = key options[:SSLCertificate] = cert end
start_server()
click to toggle source
# File lib/aspera/faspex_gw.rb, line 192 def start_server @server.start end