Class: Bullion::Models::Challenge
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Bullion::Models::Challenge
- Defined in:
- lib/bullion/models/challenge.rb
Overview
ACMEv2 Challenge model
Instance Method Summary collapse
Instance Method Details
#client ⇒ Object
38 39 40 41 42 43 44 45 46 47 |
# File 'lib/bullion/models/challenge.rb', line 38 def client challenge_class = Bullion.acme.challenge_clients.find { it.acme_type == acme_type } unless challenge_class raise Bullion::Acme::Errors::UnsupportedChallengeType, "Challenge type '#{acme_type}' is not supported by Bullion." end challenge_class.new(self) end |
#identifier ⇒ Object
23 24 25 |
# File 'lib/bullion/models/challenge.rb', line 23 def identifier .identifier["value"] end |
#init_values ⇒ Object
27 28 29 30 |
# File 'lib/bullion/models/challenge.rb', line 27 def init_values self.expires ||= Time.now + (60 * 60) self.token ||= SecureRandom.alphanumeric(48) end |
#thumbprint ⇒ Object
32 33 34 35 36 |
# File 'lib/bullion/models/challenge.rb', line 32 def thumbprint cipher = OpenSSL::Digest.new("SHA256") digest = cipher.digest(lexicographically_ordered_public_key.to_json) Base64.urlsafe_encode64(digest).sub(/[\s=]*\z/, "") end |