class YamlVault::Main
Public Class Methods
from_file(filename, keys, cryptor_name = nil, prefix = nil, suffix = nil, **options)
click to toggle source
# File lib/yaml_vault.rb, line 14 def from_file(filename, keys, cryptor_name = nil, prefix = nil, suffix = nil, **options) yaml_content = ERB.new(File.read(filename)).result new(yaml_content, keys, cryptor_name, prefix, suffix, **options) end
new( yaml_content, keys, cryptor_name = nil, prefix = nil, suffix = nil, passphrase: nil, sign_passphrase: nil, salt: nil, cipher: "aes-256-cbc", key_len: 32, signature_key_len: 64, digest: "SHA256", aws_kms_key_id: nil, aws_region: nil, aws_access_key_id: nil, aws_secret_access_key: nil, aws_profile: nil, gcp_kms_resource_id: nil, gcp_credential_file: nil )
click to toggle source
# File lib/yaml_vault.rb, line 22 def initialize( yaml_content, keys, cryptor_name = nil, prefix = nil, suffix = nil, passphrase: nil, sign_passphrase: nil, salt: nil, cipher: "aes-256-cbc", key_len: 32, signature_key_len: 64, digest: "SHA256", aws_kms_key_id: nil, aws_region: nil, aws_access_key_id: nil, aws_secret_access_key: nil, aws_profile: nil, gcp_kms_resource_id: nil, gcp_credential_file: nil ) @yaml = yaml_content @keys = keys @prefix = prefix @suffix = suffix @passphrase = passphrase @sign_passphrase = sign_passphrase @salt = salt.to_s @cipher = cipher @key_len = key_len @signature_key_len = signature_key_len @digest = digest @aws_kms_key_id = aws_kms_key_id @aws_region = aws_region @aws_access_key_id = aws_access_key_id @aws_secret_access_key = aws_secret_access_key @aws_profile = aws_profile @gcp_kms_resource_id = gcp_kms_resource_id @gcp_credential_file = gcp_credential_file @cryptor = get_cryptor(cryptor_name) end
Public Instance Methods
decrypt()
click to toggle source
# File lib/yaml_vault.rb, line 58 def decrypt parser = YAML::Parser.new(YamlVault::YAMLTreeBuilder.new(@keys, @prefix, @suffix, @cryptor, :decrypt)) parser.parse(@yaml).handler.root end
decrypt_hash()
click to toggle source
# File lib/yaml_vault.rb, line 67 def decrypt_hash decrypt.to_ruby[0] end
decrypt_yaml()
click to toggle source
# File lib/yaml_vault.rb, line 75 def decrypt_yaml decrypt.to_yaml end
encrypt()
click to toggle source
# File lib/yaml_vault.rb, line 53 def encrypt parser = YAML::Parser.new(YamlVault::YAMLTreeBuilder.new(@keys, @prefix, @suffix, @cryptor, :encrypt)) parser.parse(@yaml).handler.root end
encrypt_hash()
click to toggle source
# File lib/yaml_vault.rb, line 63 def encrypt_hash encrypt.to_ruby[0] end
encrypt_yaml()
click to toggle source
# File lib/yaml_vault.rb, line 71 def encrypt_yaml encrypt.to_yaml end
Private Instance Methods
get_cryptor(name)
click to toggle source
# File lib/yaml_vault.rb, line 81 def get_cryptor(name) case name when "simple" ValueCryptor::Simple.new(@passphrase, @sign_passphrase, @salt, @cipher, @digest, @key_len, @signature_key_len) when "aws-kms", "kms" ValueCryptor::KMS.new(@aws_kms_key_id, region: @aws_region, aws_access_key_id: @aws_access_key_id, aws_secret_access_key: @aws_secret_access_key, aws_profile: @aws_profile) when "gcp-kms" ValueCryptor::GCPKMS.new(@gcp_kms_resource_id, @gcp_credential_file) else ValueCryptor::Simple.new(@passphrase, @sign_passphrase, @salt, @cipher, @digest, @key_len, @signature_key_len) end end