Sha256: 22b681f3df99786c074d9552e4a87b9145112305d258c4517991252236b2d963
Contents?: true
Size: 1.47 KB
Versions: 2
Compression:
Stored size: 1.47 KB
Contents
# frozen_string_literal: true require "cose/algorithm/ecdsa" require "cose/algorithm/hmac" require "cose/algorithm/rsa_pss" module COSE module Algorithm @registered_by_id = {} @registered_by_name = {} def self.register(algorithm) @registered_by_id[algorithm.id] = algorithm @registered_by_name[algorithm.name] = algorithm end def self.find(id_or_name) by_id(id_or_name) || by_name(id_or_name) end def self.by_id(id) @registered_by_id[id] end def self.by_name(name) @registered_by_name[name] end register(ECDSA.new(-7, "ES256", hash_function: "SHA256", curve_name: "P-256")) register(ECDSA.new(-35, "ES384", hash_function: "SHA384", curve_name: "P-384")) register(ECDSA.new(-36, "ES512", hash_function: "SHA512", curve_name: "P-521")) register(ECDSA.new(-47, "ES256K", hash_function: "SHA256", curve_name: "secp256k1")) register(RSAPSS.new(-37, "PS256", hash_function: "SHA256", salt_length: 32)) register(RSAPSS.new(-38, "PS384", hash_function: "SHA384", salt_length: 48)) register(RSAPSS.new(-39, "PS512", hash_function: "SHA512", salt_length: 64)) register(HMAC.new(4, "HMAC 256/64", hash_function: "SHA256", tag_length: 64)) register(HMAC.new(5, "HMAC 256/256", hash_function: "SHA256", tag_length: 256)) register(HMAC.new(6, "HMAC 384/384", hash_function: "SHA384", tag_length: 384)) register(HMAC.new(7, "HMAC 512/512", hash_function: "SHA512", tag_length: 512)) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
cose-1.2.1 | lib/cose/algorithm.rb |
cose-1.2.0 | lib/cose/algorithm.rb |