Sha256: 608f9a980e3bd20e14fc2c9c1b4013ce3ef8df096cbb3ba62c430897eaccf05d

Contents?: true

Size: 643 Bytes

Versions: 11

Compression:

Stored size: 643 Bytes

Contents

module Xml
  module Kit
    module Crypto
      class OaepCipher
        ALGORITHMS = {
          'http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p' => true,
        }
        def initialize(algorithm, key)
          @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

11 entries across 11 versions & 1 rubygems

Version Path
xml-kit-0.1.11 lib/xml/kit/crypto/oaep_cipher.rb
xml-kit-0.1.10 lib/xml/kit/crypto/oaep_cipher.rb
xml-kit-0.1.9 lib/xml/kit/crypto/oaep_cipher.rb
xml-kit-0.1.8 lib/xml/kit/crypto/oaep_cipher.rb
xml-kit-0.1.7 lib/xml/kit/crypto/oaep_cipher.rb
xml-kit-0.1.6 lib/xml/kit/crypto/oaep_cipher.rb
xml-kit-0.1.5 lib/xml/kit/crypto/oaep_cipher.rb
xml-kit-0.1.4 lib/xml/kit/crypto/oaep_cipher.rb
xml-kit-0.1.3 lib/xml/kit/crypto/oaep_cipher.rb
xml-kit-0.1.2 lib/xml/kit/crypto/oaep_cipher.rb
xml-kit-0.1.1 lib/xml/kit/crypto/oaep_cipher.rb