class SesameOs2::Sign
Attributes
secret_key[R]
Public Class Methods
create(secret_key:)
click to toggle source
# File lib/sesame_os2/sign.rb, line 8 def create(secret_key:) new(secret_key: secret_key).create end
new(secret_key:)
click to toggle source
# File lib/sesame_os2/sign.rb, line 3 def initialize(secret_key:) @secret_key = secret_key end
Public Instance Methods
create()
click to toggle source
# File lib/sesame_os2/sign.rb, line 13 def create digest.unpack1("H*") end
Private Instance Methods
cmac()
click to toggle source
# File lib/sesame_os2/sign.rb, line 29 def cmac Digest::CMAC.new(OpenSSL::Cipher.new("aes-128-cbc"), key).tap do |c| c.update([message].pack("H*")) end end
digest()
click to toggle source
# File lib/sesame_os2/sign.rb, line 35 def digest cmac.digest end
key()
click to toggle source
# File lib/sesame_os2/sign.rb, line 25 def key [secret_key].pack("H*") end
message()
click to toggle source
# File lib/sesame_os2/sign.rb, line 21 def message [Time.now.to_i].pack("i*").unpack1("H*")[2, 8] end