The public key counterpart to an Ed25519 SigningKey for producing digital signatures. Like the name says, VerifyKeys can be used to verify that a given digital signature is authentic.
For more information on the Ed25519 digital signature system, please see the SigningKey documentation.
Class Method Summary collapseThe size of signatures verified by the VerifyKey class.
Create a new VerifyKey object from a public key.
The crypto primitive this VerifyKey class uses for signatures.
The size of signatures verified by the VerifyKey instance.
Return the raw key in byte format.
Return a new curve25519 (x25519) public key converted from this key.
Verify a signature for a given message.
Verify a signature for a given signed message.
sodium_constant, sodium_function, sodium_function_with_return_code, sodium_primitive, sodium_type
Methods included from RbNaCl::Serializable Methods included from KeyComparator Constructor Details #initialize(key) ⇒ RbNaCl::VerifyKeyCreate a new VerifyKey object from a public key.
35 36 37 38
# File 'lib/rbnacl/signatures/ed25519/verify_key.rb', line 35 def initialize(key) @key = key.to_str Util.check_length(@key, Ed25519::VERIFYKEYBYTES, "key") endClass Method Details .signature_bytes ⇒ Integer
The size of signatures verified by the VerifyKey class
96 97 98
# File 'lib/rbnacl/signatures/ed25519/verify_key.rb', line 96 def self.signature_bytes Ed25519::SIGNATUREBYTES endInstance Method Details #primitive ⇒ Symbol
The crypto primitive this VerifyKey class uses for signatures
89 90 91
# File 'lib/rbnacl/signatures/ed25519/verify_key.rb', line 89 def primitive self.class.primitive end#signature_bytes ⇒ Integer
The size of signatures verified by the VerifyKey instance
103 104 105
# File 'lib/rbnacl/signatures/ed25519/verify_key.rb', line 103 def signature_bytes Ed25519::SIGNATUREBYTES end#to_bytes ⇒ String
Return the raw key in byte format
82 83 84
# File 'lib/rbnacl/signatures/ed25519/verify_key.rb', line 82 def to_bytes @key end#verify(signature, message) ⇒ Boolean
Verify a signature for a given message
Raises if the signature is invalid.
51 52 53 54 55
# File 'lib/rbnacl/signatures/ed25519/verify_key.rb', line 51 def verify(signature, message) signature = signature.to_str Util.check_length(signature, signature_bytes, "signature") verify_attached(signature + message) end#verify_attached(signed_message) ⇒ Boolean
Verify a signature for a given signed message
Raises if the signature is invalid.
66 67 68 69 70 71 72 73 74 75 76 77
# File 'lib/rbnacl/signatures/ed25519/verify_key.rb', line 66 def verify_attached(signed_message) raise LengthError, "Signed message can not be nil" if signed_message.nil? raise LengthError, "Signed message can not be shorter than a signature" if signed_message.bytesize <= signature_bytes buffer = Util.zeros(signed_message.bytesize) buffer_len = Util.zeros(FFI::Type::LONG_LONG.size) success = self.class.sign_ed25519_open(buffer, buffer_len, signed_message, signed_message.bytesize, @key) raise(BadSignatureError, "signature was forged/corrupt") unless success true end
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4