Method: JOSE::JWK::KTY_oct#signer

Defined in:
lib/jose/jwk/kty_oct.rb

#signer(fields = nil) ⇒ Object



95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'lib/jose/jwk/kty_oct.rb', line 95

def signer(fields = nil)
  if fields and fields['use'] == 'sig' and not fields['alg'].nil?
    return JOSE::Map['alg' => fields['alg']]
  else
    bitsize = (oct.bytesize * 8)
    alg = if bitsize < 384
      'HS256'
    elsif bitsize < 512
      'HS384'
    else
      'HS512'
    end
    return JOSE::Map['alg' => alg]
  end
end