class PkiExpress::DigestAlgorithm

Attributes

api_model[RW]
byte_length[RW]
name[RW]
oid[RW]
xml_uri[RW]

Public Class Methods

get_instance_by_api_model(api_model) click to toggle source
# File lib/pki_express/digest_algorithm.rb, line 110
def get_instance_by_api_model(api_model)
  algorithms = get_algorithms
  unless algorithms.select{|v| v.api_model.downcase == api_model.downcase}.empty?
    return algorithms.select{|v| v.api_model.downcase == api_model.downcase}.first
  end
  raise 'Unrecognized digest algorithm: ' + api_model
end
get_instance_by_name(name) click to toggle source
# File lib/pki_express/digest_algorithm.rb, line 86
def get_instance_by_name(name)
  algorithms = get_algorithms
  unless algorithms.select{|v| v.name == name}.empty?
    return algorithms.select{|v| v.name == name}.first
  end
  raise 'Unrecognized digest algorithm name: ' + name
end
get_instance_by_oid(oid) click to toggle source
# File lib/pki_express/digest_algorithm.rb, line 94
def get_instance_by_oid(oid)
  algorithms = get_algorithms
  unless algorithms.select{|v| v.oid == oid}.empty?
    return algorithms.select{|v| v.oid == oid}.first
  end
  raise 'Unrecognized digest algorithm oid: ' + oid
end
get_instance_by_xml_uri(xml_uri) click to toggle source
# File lib/pki_express/digest_algorithm.rb, line 102
def get_instance_by_xml_uri(xml_uri)
  algorithms = get_algorithms
  unless algorithms.select{|v| v.xml_uri == xml_uri}.empty?
    return algorithms.select{|v| v.xml_uri == xml_uri}.first
  end
  raise 'Unrecognized digest algorithm XML URI: ' + xml_uri
end
md5() click to toggle source
# File lib/pki_express/digest_algorithm.rb, line 20
def self.md5
  unless @md5
    @md5 = new(
      DigestAlgorithms::MD5,
      Oids::MD5,
      16,
      'md5',
      'http://www.w3.org/2001/04/xmldsig-more#md5')
  end
  @md5
end
sha1() click to toggle source
# File lib/pki_express/digest_algorithm.rb, line 32
def self.sha1
  unless @sha1
    @sha1 = new(
      DigestAlgorithms::SHA1,
      Oids::SHA1,
      20,
      'sha1',
      'http://www.w3.org/2000/09/xmldsig#sha1')
  end
  @sha1
end
sha256() click to toggle source
# File lib/pki_express/digest_algorithm.rb, line 44
def self.sha256
  unless @sha256
    @sha256 = new(
      DigestAlgorithms::SHA256,
      Oids::SHA256,
      32,
      'sha256',
      'http://www.w3.org/2001/04/xmlenc#sha256')
  end
  @sha256
end
sha384() click to toggle source
# File lib/pki_express/digest_algorithm.rb, line 56
def self.sha384
  unless @sha384
    @sha384 = new(
      DigestAlgorithms::SHA384,
      Oids::SHA384,
      48,
      'sha384',
      'http://www.w3.org/2001/04/xmldsig-more#sha384')
  end
  @sha384
end
sha512() click to toggle source
# File lib/pki_express/digest_algorithm.rb, line 68
def self.sha512
  unless @sha512
    @sha512 = new(
      DigestAlgorithms::SHA512,
      Oids::SHA512,
      64,
      'sha512',
      'http://www.w3.org/2001/04/xmlenc#sha512')
  end
  @sha512
end

Private Class Methods

get_algorithms() click to toggle source
# File lib/pki_express/digest_algorithm.rb, line 80
def self.get_algorithms
  return [md5, sha1, sha256, sha384, sha512]
end
new(name, oid, byte_length, api_model, xml_uri) click to toggle source
# File lib/pki_express/digest_algorithm.rb, line 12
def initialize(name, oid, byte_length, api_model, xml_uri)
  @name = name
  @oid = oid
  @byte_length = byte_length
  @api_model = api_model
  @xml_uri = xml_uri
end