class EcdsaSignature::Auth

Public Class Methods

new(key) click to toggle source
# File lib/ecdsa_signature.rb, line 10
def initialize(key)
        @key = key
end

Public Instance Methods

sign(data, key = '') click to toggle source
# File lib/ecdsa_signature.rb, line 14
def sign(data, key = '')
        @key ||= key 
        signature data
end

Private Instance Methods

signature(data) click to toggle source
# File lib/ecdsa_signature.rb, line 21
def signature(data)
        digest = Digest::SHA2.digest(data)
        group = ECDSA::Group::Secp256k1
        sign = nil
        
        while sign.nil?
          temp_key = 1 + SecureRandom.random_number(group.order - 1)
          sign = ECDSA.sign(group, @key, digest, temp_key)
        end
        
        sign
end