Module: Sym
- Included in:
- App::Commands::BaseCommand, App::Commands::Decrypt, App::Commands::Encrypt, App::Commands::OpenEditor, App::PrivateKey::Decryptor, App::PrivateKey::Handler
- Defined in:
- lib/sym.rb,
lib/sym/app.rb,
lib/sym/data.rb,
lib/sym/errors.rb,
lib/sym/app/cli.rb,
lib/sym/version.rb,
lib/sym/app/args.rb,
lib/sym/constants.rb,
lib/sym/app/output.rb,
lib/sym/application.rb,
lib/sym/app/cli_slop.rb,
lib/sym/app/commands.rb,
lib/sym/app/keychain.rb,
lib/sym/data/decoder.rb,
lib/sym/data/encoder.rb,
lib/sym/configuration.rb,
lib/sym/app/short_name.rb,
lib/sym/cipher_handler.rb,
lib/sym/app/output/base.rb,
lib/sym/app/output/file.rb,
lib/sym/app/output/noop.rb,
lib/sym/app/input/handler.rb,
lib/sym/app/output/stdout.rb,
lib/sym/app/password/cache.rb,
lib/sym/data/wrapper_struct.rb,
lib/sym/app/commands/decrypt.rb,
lib/sym/app/commands/encrypt.rb,
lib/sym/extensions/with_retry.rb,
lib/sym/app/commands/print_key.rb,
lib/sym/app/commands/show_help.rb,
lib/sym/app/password/providers.rb,
lib/sym/app/private_key/handler.rb,
lib/sym/extensions/with_timeout.rb,
lib/sym/app/commands/open_editor.rb,
lib/sym/app/private_key/detector.rb,
lib/sym/extensions/class_methods.rb,
lib/sym/app/commands/base_command.rb,
lib/sym/app/commands/generate_key.rb,
lib/sym/app/commands/show_version.rb,
lib/sym/app/private_key/decryptor.rb,
lib/sym/app/commands/show_examples.rb,
lib/sym/extensions/instance_methods.rb,
lib/sym/app/commands/bash_completion.rb,
lib/sym/app/commands/keychain_add_key.rb,
lib/sym/app/private_key/base64_decoder.rb,
lib/sym/app/private_key/key_source_check.rb,
lib/sym/app/commands/password_protect_key.rb,
lib/sym/app/password/providers/drb_provider.rb,
lib/sym/app/password/providers/memcached_provider.rb
Defined Under Namespace
Modules: App, CipherHandler, Constants, Data, Errors, Extensions
Classes: Application, Configuration
Constant Summary
collapse
- VERSION =
'2.5.3'
- DESCRIPTION =
<<-eof
Sym is a command line utility plus a straightforward Ruby API that makes it easy to
transparently handle sensitive data such as application secrets using symmetric
encryption with a 256bit key.
Unlike many modern encryption tools, sym focuses on the streamlined interface (CLI),
and offers many time-saving features that make encryption/decryption of application
secrets and other sensitive data as seamless as possible.
You can encrypt the key itself with a password, for an additional layer of security.
You can choose to save the key to OS-X Keychain, making it difficult to get the key
when only disk is accessible. Using memcached or DRb sym can cache passwords so that
you don't have to retype it too often. Finally, the -t flag (edit mode) decrypts
the file on the fly, and lets you edit the unencrypted contents in $EDITOR.
Sym can read the key from many sources, including file, environment variable,
keychain, or CLI argument — all of the above become arguments of -k flag: one
flag to define the key no matter where it lives.
Finally, set environment variable SYM_ARGS to common flags you use, and then
have sym read these flags, activating this time-saving feature with -A flag.
Sym uses a symmetric aes-256-cbc cipher with a private key and an IV vector,
and is built atop of OpenSSL.
eof
Class Method Summary
collapse
Class Method Details
.default_key ⇒ Object
134
135
136
|
# File 'lib/sym.rb', line 134
def default_key
File.read(default_key_file) rescue nil
end
|
.default_key? ⇒ Boolean
138
139
140
|
# File 'lib/sym.rb', line 138
def default_key?
File.exist?(default_key_file)
end
|
.default_key_file ⇒ Object
130
131
132
|
# File 'lib/sym.rb', line 130
def default_key_file
config.default_key_file
end
|