Sha256: 5c79b74f5379a483b32ed7ed4220cb9599f11b334bfe72fba0336065ff76be81
Contents?: true
Size: 1.86 KB
Versions: 1
Compression:
Stored size: 1.86 KB
Contents
Envcrypt ========= Encryptor provides an easy way to securely encrypt and decrypt secrets (passwords) that need to be stored for use in automated processes. **Status:** Just have a README! Working on the rest. ## Use Encrypt a secret ````ruby $ envcrypt -p mypassword encrypted: xxx key: xxx ```` Set the key as an environment variable (bash example) ````bash export ENVCRYPT_KEY=xxx ```` Decrypt the password in Ruby code ````ruby require 'envcrypt' encrypted_pwd = "xxx" decrypted_pwd = Envcrypt::decrypt(encrypted_pwd, key: ENV['ENVCRYPT_KEY']) ```` The second argument to decrypt is **optional**. The default `key` is `ENV['ENVCRYPT_KEY']`, but you have to option to set it explicitly if you want to get it from somewhere else. ##### Optional **Need to be able to set a mode so we can use this with Heroku's version of OpenSSL. Not sure exactly how this will work** ##### Using existing keys to encrypt secrets Secrets can also be encrypted using existing keys if you want to use one key to encrypt multiple secrets. ````ruby $ envcrypt -p mypassword -k xxx ```` ## Use case Suppose I've got a web API that only accepts plaintext passwords. I need to store that password in a database or in a file somewhere to automate an interface with the web API. If an attacker somehow gains access to the database or file, I'm screwed if I store the password as plaintext or use some simple obfuscation. Envcrypt allows me to store an encrypted version of the password and decrypt it only when needed. The trick is to access the decryption key from an environment variable. These can be set from the command line before launching the automated process, in a locked down .bashrc file, or as Heroku config variables. Of course, if an attacker was able to get a hold of *both* the password and the decryption keys, you're screwed, but security is all about making it difficult for attackers.
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
envcrypt-0.0.0 | README.md |