class RestPki::RSASignatureAlgorithm

Public Class Methods

new(digest_algorithm) click to toggle source
Calls superclass method RestPki::SignatureAlgorithm::new
# File lib/rest_pki/pk_algorithms.rb, line 83
def initialize(digest_algorithm)
    name = "#{digest_algorithm.name} with RSA"
    pk_algorithm = PKAlgorithm.RSA
    oid = nil
    xml_uri = nil
    case digest_algorithm
    when DigestAlgorithm.MD5
        oid = Oids.oids["MD5_WITH_RSA"]
        xml_uri = 'http://www.w3.org/2001/04/xmldsig-more#rsa-md5'
    when DigestAlgorithm.SHA1
        oid = Oids.oids["SHA1_WITH_RSA"]
        xml_uri = 'http://www.w3.org/2000/09/xmldsig#rsa-sha1'
    when DigestAlgorithm.SHA256
        oid = Oids.oids["SHA256_WITH_RSA"]
        xml_uri = 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha256'
    when DigestAlgorithm.SHA384
        oid = Oids.oids["SHA384_WITH_RSA"]
        xml_uri = 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha384'
    when DigestAlgorithm.SHA512
        oid = Oids.oids["SHA512_WITH_RSA"]
        xml_uri = 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha512'
    else
        raise "Unsupported digest algorithm: #{digest_algorithm}"
    end

    super(name, oid, xml_uri, digest_algorithm, pk_algorithm)
end