secure_conf 2.0.0 → 2.1.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
  SHA256:
3
- metadata.gz: 977af3cdc7abe1fce0989ac7ed1e8cfc9d91c4008458638888ec71a4b0129152
4
- data.tar.gz: 22e451c7ab83a730c57011b0423e079c6634fd92ab4770ca570287220fca4d91
3
+ metadata.gz: abe2a25e6dbe9aac46965807a20fcdcf507db1635961c19f86c9f08b1c68c2e2
4
+ data.tar.gz: fcbfd1b8c33ab8b0c3a0708a522b1c49ca4ee07009c9af2596ebefe8e58608ed
5
5
  SHA512:
6
- metadata.gz: 55ee00fef2d53f1a27fc6a7e5ffbed08522701bdf6250665d9b8a5dce65fadaf252b0fd3a02a1817055c168e53a43f6b46775a7c2a92d722a83d9e45ba3dc428
7
- data.tar.gz: 5b43c21c28fdedd803a80ab73dd37de6fda28af5b6e0c6226819c43948dd8ef53816af63c212896a206112b0e7c1f183db416ac8c9bb274ecb0909103cf4b9f8
6
+ metadata.gz: a9e1b112d53d48f6e2eaf445f1faea965e4df0d9b092c8022353bcd53b8b212d9df4fc2883ff496c385e5dcdc2296a9aa898b215e7a41cb982793c7d7131abe4
7
+ data.tar.gz: 90e342f51a1698cad0b71e905f1a481b597fb25c5cdd9aeb281a8d7bee28c0d1fe930abc357ecb0194afbcae5f23366ae6ab986d5a5d1b4a3945b563bf8101f6
data/README.md CHANGED
@@ -32,6 +32,21 @@ Or install it yourself as:
32
32
  p config["enc:pass"]
33
33
  p config["last_access"]
34
34
 
35
+ ## Usage cli
36
+
37
+ % secure_conf.rb read enc:pass
38
+ read
39
+ key: enc:pass
40
+ val: himitsu
41
+
42
+ % secure_conf.rb --help
43
+ Usage: secure_conf.rb [options] method [arguments]...
44
+ --pkey privatekey_path PrivateKey file path (default: ~/.ssh/id_rsa)
45
+ --storage storage_path Storage file path (default: ./secure.yml)
46
+ methods usage:
47
+ secure_conf.rb [options] read key
48
+ secure_conf.rb [options] write key value
49
+ secure_conf.rb [options] delete key
35
50
 
36
51
  ## Development
37
52
 
data/Rakefile CHANGED
@@ -1,6 +1,10 @@
1
1
  require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
2
+ require "rake/testtask"
3
3
 
4
- RSpec::Core::RakeTask.new(:spec)
4
+ Rake::TestTask.new(:test) do |t|
5
+ t.libs << "test"
6
+ t.libs << "lib"
7
+ t.test_files = FileList["test/**/*_test.rb"]
8
+ end
5
9
 
6
- task :default => :spec
10
+ task :default => :test
data/exe/secure_conf.rb CHANGED
@@ -24,7 +24,7 @@ class SecureConfCmd
24
24
 
25
25
  pkey = File.open(@privatekey_path, "r") {|f| f.read}
26
26
 
27
- @config = SecureConf::Config.new(@storage_path, encripter: SecureConf::Encrypter.new(pkey), auto_commit: true)
27
+ @config = SecureConf::Config.new(@storage_path, encrypter: SecureConf::Encrypter.new(pkey), auto_commit: true)
28
28
  end
29
29
  @config
30
30
  end
@@ -3,14 +3,14 @@ require 'delegate'
3
3
  module SecureConf
4
4
  class Config < SimpleDelegator
5
5
  attr_reader :path
6
- attr_reader :encripter
6
+ attr_reader :encrypter
7
7
  attr_reader :serializer
8
8
  attr_reader :storage
9
9
  attr_accessor :auto_commit
10
10
 
11
- def initialize(path, encripter: nil, serializer: nil, storage: nil, auto_commit: false)
11
+ def initialize(path, encrypter: nil, serializer: nil, storage: nil, auto_commit: false)
12
12
  @path = path
13
- @encripter = encripter || SecureConf.default
13
+ @encrypter = encrypter || SecureConf.default
14
14
  @serializer = serializer || Serializer::Marshal
15
15
  @storage = storage || Storage.fetch(path)
16
16
  @auto_commit = auto_commit
@@ -26,7 +26,7 @@ module SecureConf
26
26
 
27
27
  def secure_store(key, value)
28
28
  value = @serializer.dump(value)
29
- plain_store(key, @encripter.encrypt(value))
29
+ plain_store(key, @encrypter.encrypt(value))
30
30
  end
31
31
 
32
32
  def store(key, value)
@@ -47,7 +47,7 @@ module SecureConf
47
47
  def [](key)
48
48
  value = plain_get(key)
49
49
  if value && key.to_s.start_with?("enc:")
50
- value = @encripter.decrypt(value)
50
+ value = @encrypter.decrypt(value)
51
51
  value = @serializer.load(value)
52
52
  end
53
53
  value
@@ -12,7 +12,7 @@ module SecureConf
12
12
  # pem string
13
13
  @h = parse_pem(source)
14
14
 
15
- elsif IO===source
15
+ elsif IO===source || source.respond_to?(:read)
16
16
  # pem io
17
17
  source = source.read
18
18
  @h = parse_pem(source)
@@ -269,7 +269,7 @@ module SecureConf
269
269
  exponent1 = d % (p - 1)
270
270
  exponent2 = d % (q - 1)
271
271
 
272
- sequence = OpenSSL::ASN1::Sequence.new([
272
+ OpenSSL::ASN1::Sequence.new([
273
273
  OpenSSL::ASN1::Integer.new(0),
274
274
  OpenSSL::ASN1::Integer.new(h[:privatekey][:n].unpack("H*")[0].to_i(16)),
275
275
  OpenSSL::ASN1::Integer.new(h[:privatekey][:e].unpack("H*")[0].to_i(16)),
@@ -14,7 +14,9 @@ module SecureConf
14
14
  def self.save(path, obj)
15
15
  h = {}
16
16
  h.replace(obj)
17
- YAML.dump(h, File.open(path, "w"))
17
+ File.open(path, "w") {|f|
18
+ YAML.dump(h, f)
19
+ }
18
20
  end
19
21
  end
20
22
  Yml = Yaml
@@ -1,3 +1,3 @@
1
1
  module SecureConf
2
- VERSION = "2.0.0"
2
+ VERSION = "2.1.0"
3
3
  end
data/secure_conf.gemspec CHANGED
@@ -21,5 +21,5 @@ Gem::Specification.new do |spec|
21
21
 
22
22
  spec.add_development_dependency "bundler", "~> 2.0"
23
23
  spec.add_development_dependency "rake", "~> 12.0"
24
- spec.add_development_dependency "rspec", "~> 3.0"
24
+ spec.add_development_dependency "minitest", "~> 5.0"
25
25
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: secure_conf
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - yoshida
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-04-08 00:00:00.000000000 Z
11
+ date: 2022-04-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -39,19 +39,19 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '12.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rspec
42
+ name: minitest
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '3.0'
47
+ version: '5.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '3.0'
54
+ version: '5.0'
55
55
  description: To encrypt the configuration value.
56
56
  email:
57
57
  - yoshida.eth0@gmail.com