Class: Minisign::PublicKey
- Inherits:
-
Object
- Object
- Minisign::PublicKey
- Defined in:
- lib/minisign.rb
Overview
Parse ed25519 verify key from minisign public key
Instance Method Summary collapse
-
#initialize(str) ⇒ PublicKey
constructor
A new instance of PublicKey.
- #verify(sig, message) ⇒ Object
Constructor Details
#initialize(str) ⇒ PublicKey
Returns a new instance of PublicKey.
22 23 24 25 |
# File 'lib/minisign.rb', line 22 def initialize(str) @public_key = Base64.strict_decode64(str)[10..] @verify_key = Ed25519::VerifyKey.new(@public_key) end |
Instance Method Details
#verify(sig, message) ⇒ Object
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/minisign.rb', line 27 def verify(sig, ) blake = OpenSSL::Digest.new('BLAKE2b512') @verify_key.verify(sig.signature, blake.digest()) begin @verify_key.verify(sig.comment_signature, sig.signature + sig.comment) rescue Ed25519::VerifyError raise 'Comment signature verification failed' end "Signature and comment signature verified\nTrusted comment: #{sig.comment}" end |