class PkiExpress::RSASignatureAlgorithm

Public Class Methods

new(digest_algorithm) click to toggle source
Calls superclass method PkiExpress::SignatureAlgorithm::new
# File lib/pki_express/pk_algorithms.rb, line 100
def initialize(digest_algorithm)
  case digest_algorithm
  when DigestAlgorithm.md5
    xml_uri = xml_uri = 'http://www.w3.org/2001/04/xmldsig-more#rsa-md5'
    oid = Oids::MD5_WITH_RSA
  when DigestAlgorithm.sha1
    xml_uri = 'http://www.w3.org/2000/09/xmldsig#rsa-sha1'
    oid = Oids::SHA1_WITH_RSA
  when DigestAlgorithm.sha256
    xml_uri = 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha256'
    oid = Oids::SHA256_WITH_RSA
  when DigestAlgorithm.sha384
    xml_uri = 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha384'
    oid = Oids::SHA384_WITH_RSA
  when DigestAlgorithm.sha512
    xml_uri = 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha512'
    oid = Oids::SHA512_WITH_RSA
  else
    raise 'Unsupported digest algorithms: ' + digest_algorithm.oid
  end

  super(
    digest_algorithm.name + " with RSA",
    oid,
    xml_uri,
    digest_algorithm,
    PKAlgorithms::RSA)
end