class Aws::S3::EncryptionV2::Materials
def initialize(options = {})
(**options)
-
:description
(String
) -- -
:key
(required, OpenSSL::PKey::RSA, String
) --
def initialize(options = {}) @key = validate_key(options[:key]) @description = validate_desc(options[:description]) end
def validate_desc(description)
def validate_desc(description) Json.load(description) description rescue Json::ParseError, EncodingError msg = 'expected description to be a valid JSON document string' raise ArgumentError, msg end
def validate_key(key)
def validate_key(key) case key when OpenSSL::PKey::RSA then key when String if [32, 24, 16].include?(key.bytesize) key else msg = 'invalid key, symmetric key required to be 16, 24, or '\ '32 bytes in length, saw length ' + key.bytesize.to_s raise ArgumentError, msg end else msg = 'invalid encryption key, expected an OpenSSL::PKey::RSA key '\ '(for asymmetric encryption) or a String (for symmetric '\ 'encryption).' raise ArgumentError, msg end end