Sha256: f4eccdfb000d47650ac67769dbddb231b17a2bdc999a6c3ce2c0f862fb962150
Contents?: true
Size: 788 Bytes
Versions: 2
Compression:
Stored size: 788 Bytes
Contents
# frozen_string_literal: true module Xml module Kit module Crypto class OaepCipher ALGORITHM = "#{::Xml::Kit::Namespaces::XMLENC}rsa-oaep-mgf1p".freeze ALGORITHMS = { ALGORITHM => true }.freeze attr_reader :algorithm, :key def initialize(algorithm, key) @algorithm = algorithm @key = key end def self.matches?(algorithm) ALGORITHMS[algorithm] end def encrypt(plain_text) @key.public_encrypt(plain_text, padding) end def decrypt(cipher_text) @key.private_decrypt(cipher_text, padding) end private def padding OpenSSL::PKey::RSA::PKCS1_OAEP_PADDING end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
xml-kit-0.3.1 | lib/xml/kit/crypto/oaep_cipher.rb |
xml-kit-0.3.0 | lib/xml/kit/crypto/oaep_cipher.rb |