Class: Aspera::FaspexGW
- Inherits:
-
Object
- Object
- Aspera::FaspexGW
- Defined in:
- lib/aspera/faspex_gw.rb
Overview
this class answers the Faspex /send API and creates a package on Aspera on Cloud
Defined Under Namespace
Classes: FxGwServlet, NewUserServlet
Instance Method Summary collapse
- #fill_self_signed_cert(options) ⇒ Object
-
#initialize(a_aoc_api_user, a_workspace_id) ⇒ FaspexGW
constructor
A new instance of FaspexGW.
- #start_server ⇒ Object
Constructor Details
#initialize(a_aoc_api_user, a_workspace_id) ⇒ FaspexGW
Returns a new instance of FaspexGW.
165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 |
# File 'lib/aspera/faspex_gw.rb', line 165 def initialize(a_aoc_api_user,a_workspace_id) = { :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 [:SSLCertName] = [ [ 'CN',WEBrick::Utils::getservername ] ] Log.log.error(">>>#{[:SSLCertName]}") when 1 fill_self_signed_cert() when 2 [:SSLPrivateKey] =OpenSSL::PKey::RSA.new(File.read('/Users/laurent/workspace/Tools/certificate/myserver.key')) [:SSLCertificate] = OpenSSL::X509::Certificate.new(File.read('/Users/laurent/workspace/Tools/certificate/myserver.crt')) end Log.log.info("Server started on port #{[:Port]}") @server = WEBrick::HTTPServer.new() @server.mount('/aspera/faspex', FxGwServlet,a_aoc_api_user,a_workspace_id) @server.mount('/newuser', NewUserServlet) trap('INT') {@server.shutdown} end |
Instance Method Details
#fill_self_signed_cert(options) ⇒ Object
142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 |
# File 'lib/aspera/faspex_gw.rb', line 142 def fill_self_signed_cert() 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) [:SSLPrivateKey] = key [:SSLCertificate] = cert end |
#start_server ⇒ Object
192 193 194 |
# File 'lib/aspera/faspex_gw.rb', line 192 def start_server @server.start end |