Class: Minisign::PublicKey
- Inherits:
-
Object
- Object
- Minisign::PublicKey
- Includes:
- Utils
- Defined in:
- lib/minisign/public_key.rb
Overview
The public key used to verify signatures
Instance Method Summary collapse
-
#initialize(str) ⇒ PublicKey
constructor
Read a minisign public key.
-
#key_id ⇒ String
The key id.
-
#to_s ⇒ String
The public key that can be written to a file.
-
#verify(signature, message) ⇒ String
Verify a message’s signature.
Methods included from Utils
#blake2b256, #blake2b512, #derive_key, #xor
Constructor Details
#initialize(str) ⇒ PublicKey
Read a minisign public key
14 15 16 17 |
# File 'lib/minisign/public_key.rb', line 14 def initialize(str) @lines = str.split("\n") @decoded = Base64.strict_decode64(@lines.last) end |
Instance Method Details
#key_id ⇒ String
Returns the key id.
23 24 25 |
# File 'lib/minisign/public_key.rb', line 23 def key_id key_id_binary_string.bytes.map { |c| c.to_s(16) }.reverse.join.upcase end |
#to_s ⇒ String
43 44 45 |
# File 'lib/minisign/public_key.rb', line 43 def to_s "untrusted comment: #{untrusted_comment}\n#{key_data}\n" end |
#verify(signature, message) ⇒ String
Verify a message’s signature
35 36 37 38 39 40 |
# File 'lib/minisign/public_key.rb', line 35 def verify(signature, ) assert_matching_key_ids!(signature.key_id, key_id) (signature.signature, ) verify_comment_signature(signature.trusted_comment_signature, signature.signature + signature.trusted_comment) "Signature and comment signature verified\nTrusted comment: #{signature.trusted_comment}" end |