Class: WSS4R::Tokenresolver::DatabaseResolver
- Defined in:
- lib/wss4r/tokenresolver/databaseresolver.rb
Instance Method Summary collapse
- #certificate_by_subject(subject) ⇒ Object
-
#initialize(database_file) ⇒ DatabaseResolver
constructor
A new instance of DatabaseResolver.
- #private_key(certificate) ⇒ Object
Methods inherited from Resolver
Constructor Details
#initialize(database_file) ⇒ DatabaseResolver
Returns a new instance of DatabaseResolver.
15 16 17 |
# File 'lib/wss4r/tokenresolver/databaseresolver.rb', line 15 def initialize(database_file) @db = SQLite3::Database.new(database_file) end |
Instance Method Details
#certificate_by_subject(subject) ⇒ Object
31 32 33 34 35 36 37 38 39 40 |
# File 'lib/wss4r/tokenresolver/databaseresolver.rb', line 31 def certificate_by_subject(subject) select = "select * from certificates where subject = '#{subject}'" rows = @db.execute(select) return nil if (rows == nil || rows.size() == 0) cert_data = rows[0][2] cert_data = Base64.decode64(cert_data) cert = Certificate.new(cert_data) return cert if cert return nil end |
#private_key(certificate) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/wss4r/tokenresolver/databaseresolver.rb', line 19 def private_key(certificate) cert_data = Base64.encode64(certificate.to_der()) select = "select * from certificates where cert_data = '#{cert_data}'" rows = @db.execute(select) return nil if (rows == nil || rows.size() == 0) private_key_data = rows[0][3] private_key_data = Base64.decode64(private_key_data) private_key = RSA.new(private_key_data) return private_key if private_key return nil end |