sym 2.6.3 → 2.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b8adac417a1a9a351450a8ae059f225888e7b879
4
- data.tar.gz: 63fc6a18b5f455433960d47f74cbd1132b645fa4
3
+ metadata.gz: 7b37f317d0ff96c9cf5a96c63df07c09bb44b416
4
+ data.tar.gz: cc8ca5879102dffbdc67e4c6e813a6d7711bd3aa
5
5
  SHA512:
6
- metadata.gz: 93d4ea799ed150b26039848545401fa53818f348f8f9255b983213e30b05f241c3510b320e21507c52756b520972586788f380c45c34fd9714dac16859e4a5c3
7
- data.tar.gz: a7052d5ed8d08a02e0dc80dfb2bb9fcd00f50ffbb01a2a70b40a74e222051c9c74b840ca7678f4ac6e7b3f460fa195307d073c20247d4f16b0b46cd69f5bb713
6
+ metadata.gz: c638780011463e131e754ec7fc0ee5a1d71f8b3ab6063c3c117123a24639f5e9fb8da981c6e81781681fd966380571ba0fccf5b9883f885ec5b21bf9e8697b7c
7
+ data.tar.gz: 82ada53242e4d3ae2350c893edec7da3446e0a740357fda4e11d3e4a2ebb53c29597f429f6ee54c110aefcca86c50b1967eaf3706eaa1ed27c82bff5a0a3dc52
@@ -5,10 +5,10 @@ env:
5
5
  services:
6
6
  - memcached
7
7
  rvm:
8
- - 2.2.6
9
- - 2.3.3
10
- - 2.4.0
11
- - jruby-9.1.7.0
8
+ - 2.2.7
9
+ - 2.3.4
10
+ - 2.4.1
11
+ - jruby-9.1.9.0
12
12
  notifications:
13
13
  email:
14
14
  recipients:
@@ -2,7 +2,14 @@
2
2
 
3
3
  ## [HEAD](https://github.com/kigster/sym/tree/HEAD)
4
4
 
5
- [Changes since the last tag](https://github.com/kigster/sym/compare/v2.6.3...HEAD)
5
+ [Changes since the last tag](https://github.com/kigster/sym/compare/v2.7.0...HEAD)
6
+
7
+ ## [v2.7.0](https://github.com/kigster/sym/tree/v2.7.0) (2017-06-23)
8
+ [Full Changelog](https://github.com/kigster/sym/compare/v2.6.3...v2.7.0)
9
+
10
+ * Changing -t flag to expect a file argument, removing the need
11
+ for "-f file" in addition to "-t"
12
+ * Adding 'irbtools' to development gems.
6
13
 
7
14
  ## [v2.6.3](https://github.com/kigster/sym/tree/v2.6.3) (2017-03-13)
8
15
  [Full Changelog](https://github.com/kigster/sym/compare/v2.6.2...v2.6.3)
data/README.md CHANGED
@@ -1,38 +1,48 @@
1
- # Sym — Light Weight Symmetric Encryption for Humans
1
+ # Sym — Light-weight Symmetric Encryption for Humans
2
2
 
3
- <hr/>
4
- [![Gitter](https://img.shields.io/gitter/room/gitterHQ/gitter.svg)](https://gitter.im/kigster/sym)
5
3
  [![Gem Version](https://badge.fury.io/rb/sym.svg)](https://badge.fury.io/rb/sym)
6
4
  [![Downloads](http://ruby-gem-downloads-badge.herokuapp.com/sym?type=total)](https://rubygems.org/gems/sym)
7
- [![Documentation](http://inch-ci.org/github/kigster/sym.png)](http://inch-ci.org/github/kigster/sym)
8
5
 
9
6
  [![Build Status](https://travis-ci.org/kigster/sym.svg?branch=master)](https://travis-ci.org/kigster/sym)
10
7
  [![Code Climate](https://codeclimate.com/github/kigster/sym/badges/gpa.svg)](https://codeclimate.com/github/kigster/sym)
11
8
  [![Test Coverage](https://codeclimate.com/github/kigster/sym/badges/coverage.svg)](https://codeclimate.com/github/kigster/sym/coverage)
12
9
  [![Issue Count](https://codeclimate.com/github/kigster/sym/badges/issue_count.svg)](https://codeclimate.com/github/kigster/sym)
13
10
 
14
- <hr/>
11
+ [![Gitter](https://img.shields.io/gitter/room/gitterHQ/gitter.svg)](https://gitter.im/kigster/sym)
12
+
13
+ ---
15
14
 
16
- **March 10th, 2017**: Please read the blog post [Dead Simple Encryption with Sym](http://kig.re/2017/03/10/dead-simple-encryption-with-sym.html) launching this tool and a library. Please leave comments or questions in the discussion thread at the bottom of that post. Thanks!
15
+ **March 10th, 2017**. Please checkout the post "**[Dead Simple Encryption with Sym](http://kig.re/2017/03/10/dead-simple-encryption-with-sym.html)**" that announces this library, and provides further in-depth discussion.
16
+
17
+ [![Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=FSFYYNEQ8RKWU)
18
+
19
+ Your donation of absolutely any amount is very much appreciated.
20
+
21
+ ---
17
22
 
18
23
  ## Description
19
24
 
20
25
  <div style="padding 40px; margin: 40px; font-size: 13pt;">
21
26
 
22
- <strong>sym</strong> is a command line utility and a Ruby API that makes it <em>trivial to encrypt and decrypt sensitive data</em>. Unlike many other existing encryption tools, <strong>sym</strong> focuses on usability and streamlined interface (CLI), with the goal of making encryption easy and transparent. The result? There is no longer any excuse for keeping your application secrets unencrypted or outside of your repo.<br /><br />
27
+ <p><strong>sym</strong> is an open source command line utility and Ruby API which makes it very <em>easy to add reliable encryption and decryption</em> of sensitive data to an application or a project written in any language.</p>
28
+
29
+ <p>Unlike many existing encryption tools, <strong>sym</strong> focuses on narrowing the gap between convenience and security, by offering enhanced usability and a streamlined ruby API and a CLI. The primary goal of the library is to make encryption very easy and transparent. </p>
23
30
 
24
- <strong>sym</strong> uses <em>symmetric Encryption</em> which simply means that you will be using the same 256-bit key to encrypt and decrypt data. In addition to the private key, the encryption uses an IV vector. The library completely hides `iv` generation from the user, and automatically generates a random `iv` per encryption. Finally, each key can be uniquely password-protected (encrypted) and stored in OS-X Keychain, environment variable or a file.
31
+ <p><strong>sym</strong> uses the <em><a href="https://en.wikipedia.org/wiki/Symmetric-key_algorithm">Symmetric Encryption</a></em> algorithm. This means that the same key is used to encrypt and decrypt data. In addition to the key, the encryption uses a randomized IV vector, which is automatically generated per each encryption and serialized with the data. Result of encryption is zlib-compressed, and base64 encoded, to be suitable for storage as string. The generated keys are also base64-encoded for convenience.</p>
32
+
33
+ <p>Finally, the library offers encryption using any regular password, and in particular supports password-protected encryption keys. The key can be specified by a filename, environment variable, or OS-X Keychain password entry name, or as is.</p>
25
34
 
26
35
  </div>
27
36
 
28
37
  ## Supported Ruby Versions
29
38
 
30
- Sym currently builds and runs on the following ruby versions, which can be verified on Travis CI:
31
39
  [![Build Status](https://travis-ci.org/kigster/sym.svg?branch=master)](https://travis-ci.org/kigster/sym)
32
40
 
41
+ Sym currently builds and runs on the following ruby versions:
42
+
33
43
  * 2.2.5
34
44
  * 2.3.3
35
- * 2.4.0
45
+ * 2.4.1
36
46
  * jruby-9.1.7.0
37
47
 
38
48
  ### Motivation
@@ -41,9 +51,10 @@ The main goal when writing this tool was to streamline and simplify handling of
41
51
 
42
52
  Most common use-cases include:
43
53
 
44
- * __Encrypting/decrypting of application secrets__, so that the encrypted secrets can be safely checked into the git repository and distributed, and yet without much of the added headache that this often requires
54
+ * __Encrypting/decrypting of application secrets files__, so that the encrypted secrets can be safely checked into the git repository and distributed, and yet without much of the added headache that this often requires
45
55
  * __Secure message transfer between any number of receipients__
46
- * __General purpose encryption/decryption with a single encryption key__, optionally itself re-encrypted with a password.
56
+ * __General purpose encryption/decryption with a 256-bit encryption key__, optionally itself re-encrypted with a password.
57
+ * __General purpose encryption/decryption with an arbitrary password__.
47
58
 
48
59
  __Sym__ is a layer built on top of the [`OpenSSL`](https://www.openssl.org/) library, and, hopefully, makes encryption more accessible to every-day developers, QA, and dev-ops folks, engaged in deploying applications.
49
60
 
@@ -51,23 +62,27 @@ __Sym__ is a layer built on top of the [`OpenSSL`](https://www.openssl.org/) lib
51
62
 
52
63
  This gem includes two primary components:
53
64
 
54
- 1. [Rich command line interface CLI](#cli) with many features to streamline encryption/decryption.
55
- 2. Ruby API:
56
- * [Basic Encryption/Decryption API](#rubyapi) is activated by including `Sym` module in a class, it adds easy to use `encr`/`decr` methods.
57
- * [Application API](#rubyapi-app) is activated by instantiating `Sym::Application`, and using the instance to drive sym's complete set of functionality, as if it was invoked from the CLI.
58
- * [Sym::MagicFile API](#magic-file) is a convenience class allowing you to read encrypted files in your ruby code with a couple of lines of code.
59
- * [Sym::Configuration](#rubyapi-config) class for overriding default cipher, and many other parameters such as compression, cache location, zlib compression, and more.
65
+ 1. **[Rich command line interface CLI](#cli)** with many features to streamline encryption/decryption, and to be integrated into the deployment flow.<br /><br />
66
+ 2. Ruby APIs:
67
+ * **[Key Generation, Encryption & Decryption API](#rubyapi)**
68
+ - is activated by including `Sym` module in a class, it adds easy to use `encr`/`decr` methods.
69
+ * **[Application API to shadow the CLI usage](#rubyapi-app)**
70
+ - You can instantiate `Sym::Application` class with a hash representing CLI arguments, and then call it's `#execute` method to mimic CLI execution.
71
+ * **[Sym::MagicFile API](#magic-file)**
72
+ - This is a convenience class allowing you to encrypt/decrypt files in your ruby code with just couple of lines of code.
73
+ * **[Sym::Configuration](#rubyapi-config)**
74
+ - Use this class to override the default cipher, and configure other parameters such as compression, password caching, and more.
60
75
 
61
76
  ### Massive Time Savers
62
77
 
63
- What are the time savers that we mentioned earlier?
78
+ **Sym** tries very hard to get out of your way, to make it *feel* as if your encrypted files are as easy to work with as the unencrypted files. It accomplishes this transparency with the following features:
64
79
 
65
- * By using Mac OS-X Keychain, `sym` offers a simple yet secure way of storing the key on a local machine, much more secure then storing it on a file system.
66
- * By using a password cache (`-c`) via an in-memory provider such as `memcached` or `drb`, `sym` invocations take advantage of password cache, and only ask for a password once per a configurable time period.
67
- * By using `SYM_ARGS` environment variable, where common flags can be saved.
80
+ * By using **Mac OS-X Keychain**, `sym` offers a simple yet secure way of storing the key on a local machine, much more secure then storing it on a file system.
81
+ * By using a **password cache** (`-c`) via an in-memory provider such as `memcached` or `drb`, `sym` invocations take advantage of password cache, and only ask for a password once per a configurable time period.
82
+ * By using **`SYM_ARGS` environment variable** you can save common flags and they will be applied whenever `-A` flag is activated.
68
83
  * By reading a key from the default key source file `~/.sym.key` which requires no flags at all.
69
- * By utilizing the `--negate` option to quickly encrypt a regular file, or decrypt an encrypted file with extension `.enc`.
70
- * By using the `-t` (edit) mode, that opens an encrypted file in your `$EDITOR`, and replaces the encrypted version upon save & exit.
84
+ * By utilizing the **`--negate` option to quickly encrypt a regular file**, or decrypt an encrypted file with extension `.enc`.
85
+ * By using the **`-t file` (edit) mode**, that opens an encrypted file in your `$EDITOR`, and replaces the encrypted version upon save & exit.
71
86
 
72
87
  As you can see, we really tried to build a tool that provides good security for application secrets, including password-based encryption, but does not annoyingly ask for password every time. With `--edit` option, and `--negate` options you can treat encrypted files like regular files.
73
88
 
@@ -116,8 +131,8 @@ Should you choose to install it (this part is optional), you will be able to use
116
131
  4. Finally, we are ready to encrypt. The data to be encrypted can be read from a file with `-f filename`, or it can be read from STDIN, or a passed on the command line with `-s string`. For example, `sym -e -k ~/.key -f /etc/passwd` will encrypt the file and print the encrypted contents to STDOUT.
117
132
  4. Instead of printing to STDOUT, the output can be saved to a file with `-o <file>` or a simple redirect or a pipe.
118
133
  5. Encrypted file can later be decrypted with `sym -d ...` assuming the same key it was encrypted with.
119
- 6. Encrypted file with extension `.enc` can be automatically decrypted with `-n/--negate` option; if the file does not end with `.enc`, it is encrypted and `.enc` extension added to the resulting file.
120
- 7. With `-t` flag you can open in VIM (or `$EDITOR`) any encrypted file and edit it. Once you save it, the file gets re-encrypted and replaces the previous version. A backup can be created with `-b` option. See the section on [inline editing](#inline)
134
+ 6. Encrypted file with extension `.enc` can be automatically decrypted with `-n/--negate file` option; if the file does not end with `.enc`, it is encrypted and `.enc` extension added to the resulting file.
135
+ 7. With `-t/--edit file` flag you can edit an encrypted file in VIM (or `$EDITOR`) any encrypted file and edit it. Once you save it, the file gets re-encrypted and replaces the previous version. A backup can be created with `-b` option. See the section on [inline editing](#inline)
121
136
 
122
137
  A sample session that uses Mac OS-X Keychain to store the password-protected key.
123
138
 
@@ -159,7 +174,7 @@ The `sym` CLI tool supports one particularly interesting mode, that streamlines
159
174
 
160
175
  Instead of decrypting data anytime you need to change it into a new file and then manually re-encrypting the result, you can use the shortcut flag `-t` (for "edi**t**"), which decrypts your data into a temporary file, automatically opening it with an `$EDITOR`.
161
176
 
162
- sym -t -f config/application/secrets.yml.enc -k ~/.key
177
+ sym -t config/application/secrets.yml.enc -k ~/.key
163
178
 
164
179
  > This is one of those time-saving features that can make a difference in making encryption feel easy and transparent.
165
180
 
@@ -174,7 +189,7 @@ Here is a full command that opens a file specified by `-f | --file`, using the k
174
189
 
175
190
  Example: here we edit an encrypted file in `vim`, while using interactive mode to paste the key (`-i | --interactive`), and then creating a backup file (`-b | --backup`) upon save:
176
191
 
177
- sym -tibf data.enc
192
+ sym -ibt data.enc
178
193
  # => Private Key: ••••••••••••••••••••••••••••••••••••••••••••
179
194
  #
180
195
  # => Diff:
@@ -383,9 +398,9 @@ You can use the generated private key by passing an argument to the `-k` flag.
383
398
 
384
399
  #### Inline Editing
385
400
 
386
- The `sym` CLI tool supports one particularly interesting mode, that streamlines handling of encrypted files. The mode is called __edit mode__, and is activated with the `-t` flag.
401
+ The `sym` CLI tool supports one particularly interesting mode, that streamlines handling of encrypted files. The mode is called __edit mode__, and is activated with the `-t file` flag.
387
402
 
388
- In this mode `sym` can decrypt the file, and open the result in an `$EDITOR`. Once you make any changes, and save it (exiting the editor), `sym` will automatically diff the new and old content, and if different will save encrypt it and overwrite the original file.
403
+ In this mode `sym` will automaticaly decrypt the encrypted file into a temporary file, and then open it in `$EDITOR`. Once you quit the editor, `sym` will automatically diff the new and old content, and if it is different, `sym` will re-encrypt the new contents and overwrite the original file. You can create an optional backup by adding `-b` flag.
389
404
 
390
405
  > NOTE: this mode does not seem to work with GUI editors such as Atom or TextMate. Since `sym` waits for the editor process to complete, GUI editors "complete" immediately upon starting a windowed application.
391
406
  In this mode several flags are of importance:
@@ -393,7 +408,7 @@ In this mode several flags are of importance:
393
408
  -b (--backup) – will create a backup of the original file
394
409
  -v (--verbose) - will show additional info about file sizes
395
410
 
396
- Here is a full command that opens a file specified by `-f | --file`, using the key specified in `-k | --keyfile`, in the editor defined by the `$EDITOR` environment variable (or if not set – defaults to `/bin/vi`)".
411
+ Here is a full command that opens a file specified by `-t | --edit file`, using the key specified in `-k | --keyfile`, in the editor defined by the `$EDITOR` environment variable (or if not set – defaults to `/bin/vi`)".
397
412
 
398
413
  To edit an encrypted file in `$EDITOR`, while asking to paste the key (`-i | --interactive`), while creating a backup file (`-b | --backup`):
399
414
 
@@ -571,21 +586,29 @@ Bug reports and pull requests are welcome on GitHub at [https://github.com/kigst
571
586
 
572
587
  ### License
573
588
 
574
- `Sym` library is &copy; 2016-2017 Konstantin Gredeskoul.
575
-
576
- The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
589
+ **Sym** library is &copy; 2016-2017 Konstantin Gredeskoul.
577
590
 
578
- The library is designed to be a layer on top of [`OpenSSL`](https://www.openssl.org/), distributed under the [Apache Style license](https://www.openssl.org/source/license.txt).
591
+ The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT). The library is designed to be a layer on top of [`OpenSSL`](https://www.openssl.org/), distributed under the [Apache Style license](https://www.openssl.org/source/license.txt).
579
592
 
580
593
  ### Acknowledgements
581
594
 
582
- While [Konstantin Gredeskoul](http:/kig.re) is the primary developer of this library, contributions are very much encouraged. Any pull requests will be reviewed promptly. Please submit feature requests, bugs, or a good word :)
595
+ * The blog post [(Symmetric) Encryption With Ruby (and Rails)](http://stuff-things.net/2015/02/12/symmetric-encryption-with-ruby-and-rails/) provided the inspiration for this gem.
596
+ * We'd like to thank [Spike Ilacqua](http://stuff-things.net/spike/), the author of the [strongbox](https://github.com/spikex/strongbox) gem, for providing very easy-to-read code examples of symmetric encryption.
597
+ * We'd like to thank [Wissam Jarjoui](https://github.com/bosswissam) for support and inspiration, as well as testing of the early versions of this gem.
598
+
583
599
 
584
600
  #### Contributors:
585
601
 
586
- * [Wissam Jarjoui](https://github.com/bosswissam)
587
- * Megan Mathews
588
- * Barry Anderson
602
+ Contributions of any kind are very much welcome from anyone.
603
+
604
+ Any pull requests will be reviewed promptly.
605
+
606
+ Please submit feature requests, bugs, or donations :)
607
+
608
+ * [Konstantin Gredeskoul](http:/kig.re) (primary developer)
609
+ * [Wissam Jarjoui](https://github.com/bosswissam) (testing, inspiration)
610
+ * [Megan Mathews](https://github.com/meganmmathews) (UX, CLI suggestions)
611
+ * [Barry Anderson](https://twitter.com/z3ndrag0n) (sanity checking, review)
589
612
 
590
613
 
591
614
 
data/SYM-CLI.md CHANGED
@@ -138,6 +138,6 @@ sym -gpcx staging.key
138
138
  sym -e -c -k staging.key -n etc/passwords.enc
139
139
  ————————————————————————————————————————————————————————————————————————————————
140
140
  # use the new key to inline-edit the encrypted file:
141
- sym -k mykey -tf sym.yml.enc
141
+ sym -k mykey -t sym.yml.enc
142
142
  ————————————————————————————————————————————————————————————————————————————————
143
143
  ```
@@ -252,7 +252,7 @@ symit() {
252
252
  return $(symit::exit 5)
253
253
  }
254
254
 
255
- command="sym -ck ${cli__opts[key]} -tf ${file}"
255
+ command="sym -ck ${cli__opts[key]} -t ${file}"
256
256
 
257
257
  [[ ${cli_opts[dry_run]} ]] && printf "[dry_run] "
258
258
 
@@ -29,11 +29,11 @@ module Sym
29
29
  o.separator ''
30
30
  o.separator ' Auto-detect mode based on a special file extension '.dark + '".enc"'.dark.bold
31
31
  o.separator ' '
32
- o.separator ' sym -n/--negate '.green.bold + key_spec + ' file[.enc] '.green
32
+ o.separator ' sym '.green.bold + key_spec + ' -n/--negate file[.enc] '.green.bold
33
33
  o.separator ' '
34
34
  o.separator ' Edit an encrypted file in $EDITOR '.dark
35
35
  o.separator ' '
36
- o.separator ' sym -t/--edit '.green.bold + key_spec + ' -f file [ -b/--backup ]'.green.bold
36
+ o.separator ' sym '.green.bold + key_spec + ' -t/--edit file[.enc] [ -b/--backup ]'.green.bold
37
37
  o.separator ' '
38
38
  o.separator ' Save commonly used flags in a BASH variable. Below we save the KeyChain '.dark
39
39
  o.separator ' "staging" as the default key name, and enable password caching.'.dark
@@ -48,7 +48,7 @@ module Sym
48
48
  o.separator 'Modes:'.yellow
49
49
  o.bool '-e', '--encrypt', ' encrypt mode'
50
50
  o.bool '-d', '--decrypt', ' decrypt mode'
51
- o.bool '-t', '--edit', ' edit encrypted file in an $EDITOR'
51
+ o.string '-t', '--edit', '[file] '.blue + ' edit encrypted file in an $EDITOR', default: nil
52
52
  o.string '-n', '--negate', '[file] '.blue + " encrypts any regular #{'file'.green} into #{'file.enc'.green}" + "\n" +
53
53
  " conversely decrypts #{'file.enc'.green} into #{'file'.green}."
54
54
  o.separator ' '
@@ -43,8 +43,8 @@ module Sym
43
43
  output << example(comment: 'decrypt an encrypted file and print it to STDOUT:',
44
44
  command: 'sym -ck production.key -df secrets.yml.enc')
45
45
 
46
- output << example(comment: 'edit an encrypted file in $EDITOR, use default key file, create file backup',
47
- command: 'sym -tbf secrets.enc',
46
+ output << example(comment: 'edit an encrypted file in $EDITOR, use default key file, create a backup',
47
+ command: 'sym -bt secrets.enc',
48
48
  result: '
49
49
  Private Key: ••••••••••••••••••••••••••••••••••••••••••••
50
50
  Saved encrypted content to sym.enc.
@@ -64,7 +64,7 @@ Diff:
64
64
  command: 'sym -e -c -k staging.key -n etc/passwords.enc')
65
65
 
66
66
  output << example(comment: 'use the new key to inline-edit the encrypted file:',
67
- command: 'sym -k mykey -tf sym.yml.enc')
67
+ command: 'sym -k mykey -t sym.yml.enc')
68
68
  end
69
69
 
70
70
  output.flatten.compact.join("\n")
@@ -42,6 +42,7 @@ module Sym
42
42
  self.opts = opts.is_a?(Hash) ? opts : opts.to_hash
43
43
 
44
44
  process_negated_option(opts[:negate]) if opts[:negate]
45
+ process_edit_option
45
46
 
46
47
  self.args = ::Sym::App::Args.new(self.provided_options)
47
48
 
@@ -184,6 +185,13 @@ module Sym
184
185
  self.password_cache = Sym::App::Password::Cache.instance.configure(args)
185
186
  end
186
187
 
188
+ def process_edit_option
189
+ if opts[:edit] && opts[:edit].is_a?(String) && opts[:file].nil?
190
+ opts[:file] = opts[:edit]
191
+ opts[:edit] = true
192
+ end
193
+ end
194
+
187
195
  def process_negated_option(file)
188
196
  opts.delete(:negate)
189
197
  opts[:file] = file
@@ -1,5 +1,5 @@
1
1
  module Sym
2
- VERSION = '2.6.3'
2
+ VERSION = '2.7.0'
3
3
  DESCRIPTION = <<-eof
4
4
  Sym is a ruby library (gem) that offers both the command line interface (CLI) and a set of rich Ruby APIs, which make it rather trivial to add encryption and decryption of sensitive data to your development or deployment flow. As a layer of additional security, you can encrypt the private key itself with a password. Unlike many other existing encryption tools, Sym focuses on getting out of the way — by offering its streamlined interface, hoping to make encryption of application secrets nearly completely transparent to the developers. For the data encryption Sym uses a symmetric 256-bit key with the AES-256-CBC cipher, same cipher as used by the US Government. For password-protecting the key Sym uses AES-128-CBC cipher. The resulting data is zlib-compressed and base64-encoded. The keys are also base64 encoded for easy copying/pasting/etc.
5
5
 
@@ -55,6 +55,7 @@ EOF
55
55
 
56
56
  spec.add_development_dependency 'codeclimate-test-reporter', '~> 1.0'
57
57
  spec.add_development_dependency 'simplecov'
58
+ spec.add_development_dependency 'irbtools'
58
59
  spec.add_development_dependency 'aruba'
59
60
  spec.add_development_dependency 'bundler', '~> 1'
60
61
  spec.add_development_dependency 'rake'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sym
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.3
4
+ version: 2.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Konstantin Gredeskoul
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-03-13 00:00:00.000000000 Z
11
+ date: 2017-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colored2
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: irbtools
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: aruba
127
141
  requirement: !ruby/object:Gem::Requirement
@@ -257,6 +271,10 @@ files:
257
271
  - bin/setup
258
272
  - bin/sym.completion
259
273
  - bin/sym.symit
274
+ - design/sym-class-dependency-future-refactor.png
275
+ - design/sym-class-dependency.graffle
276
+ - design/sym-class-dependency.pdf
277
+ - design/sym-class-dependency.png
260
278
  - exe/keychain
261
279
  - exe/sym
262
280
  - lib/sym.rb
@@ -337,7 +355,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
337
355
  version: '0'
338
356
  requirements: []
339
357
  rubyforge_project:
340
- rubygems_version: 2.5.2
358
+ rubygems_version: 2.6.11
341
359
  signing_key:
342
360
  specification_version: 4
343
361
  summary: Dead-simple and easy to use encryption library on top of OpenSSL, offering