class OpenSSL::SignatureAlgorithm::Base
Attributes
signing_key[R]
verify_key[R]
Public Instance Methods
compatible_verify_key?(verify_key)
click to toggle source
# File lib/openssl/signature_algorithm/base.rb, line 23 def compatible_verify_key?(verify_key) verify_key.respond_to?(:verify) end
sign(data)
click to toggle source
# File lib/openssl/signature_algorithm/base.rb, line 27 def sign(data) signing_key.sign(hash_function, data) end
verify(signature, verification_data)
click to toggle source
# File lib/openssl/signature_algorithm/base.rb, line 31 def verify(signature, verification_data) formatted_signature = if respond_to?(:formatted_signature, true) formatted_signature(signature) else signature end verify_key.verify(hash_function, formatted_signature, verification_data) || raise(OpenSSL::SignatureAlgorithm::SignatureVerificationError, "Signature verification failed") end
verify_key=(key)
click to toggle source
# File lib/openssl/signature_algorithm/base.rb, line 15 def verify_key=(key) if compatible_verify_key?(key) @verify_key = key else raise(OpenSSL::SignatureAlgorithm::VerifyKeyError, "Incompatible verify key for algorithm") end end