Sha256: 4b2f9dfb87db1d96afc11fe2881bc4c6cfc8642788dcd0519cac018dc7b2632e

Contents?: true

Size: 443 Bytes

Versions: 2

Compression:

Stored size: 443 Bytes

Contents

require 'openssl'
require 'base64'

module XSignature
  class Base64SignatureValidator < SignatureValidator

    def self.signature(secret:, nonce:, body:, method:, request_uri:)
      sha512    = OpenSSL::Digest::SHA512.new
      request   = "#{method.to_s.upcase}#{request_uri}#{sha512.digest("#{nonce}#{body}")}"
      signature = OpenSSL::HMAC.digest(sha512, secret.to_s, request)
      Base64.strict_encode64(signature)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
x-signature-0.1.1 lib/x-signature/base64_signature_validator.rb
x-signature-0.1.0 lib/x-signature/base64_signature_validator.rb