spare_keys 1.0.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/spare_keys.rb +20 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 12c38c87a8453bd4d5ee296abe4403b34d190f53
|
4
|
+
data.tar.gz: e5140c2d52d007e48ef040696556caf0d7567b33
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dc39702fe86ee4814f267f36adeebdf856e3f24e11e899e9e9fa7b1acbcb91bf9a2271b31f94b69e6aa07c73c1cfba584c5547fc3464e0d8ae16a398f1fc1c0c
|
7
|
+
data.tar.gz: 2a1f2801aada5d5ffcdc4c23b22505253f22e6106694b6962cc78c018a794b80e171e3205ab2b870593c495df10b778651a5ba10a5dd686b6da3058ccc26764a
|
data/lib/spare_keys.rb
CHANGED
@@ -44,7 +44,9 @@ class SpareKeys
|
|
44
44
|
require 'securerandom'
|
45
45
|
|
46
46
|
password = SecureRandom.hex
|
47
|
-
|
47
|
+
|
48
|
+
extension = keychain_extension()
|
49
|
+
temp_keychain = Dir::Tmpname.make_tmpname(['spare-keys-', extension], nil)
|
48
50
|
|
49
51
|
`security create-keychain -p "#{password}" #{temp_keychain}`
|
50
52
|
`security unlock-keychain -p "#{password}" #{temp_keychain}`
|
@@ -52,7 +54,7 @@ class SpareKeys
|
|
52
54
|
if block_given?
|
53
55
|
begin
|
54
56
|
use_keychain(temp_keychain, clear_list, type) {
|
55
|
-
yield temp_keychain
|
57
|
+
yield temp_keychain, password
|
56
58
|
}
|
57
59
|
ensure
|
58
60
|
`security delete-keychain #{temp_keychain}`
|
@@ -62,4 +64,20 @@ class SpareKeys
|
|
62
64
|
end
|
63
65
|
end
|
64
66
|
|
67
|
+
private
|
68
|
+
|
69
|
+
def self.keychain_extension()
|
70
|
+
return is_sierra() ? '.keychain-db' : '.keychain'
|
71
|
+
end
|
72
|
+
|
73
|
+
def self.is_sierra()
|
74
|
+
|
75
|
+
osVersion = `sysctl -n kern.osrelease`
|
76
|
+
|
77
|
+
majorOsVersion = Integer(osVersion.split('.')[0])
|
78
|
+
|
79
|
+
return majorOsVersion >= 16 # Sierra
|
80
|
+
|
81
|
+
end
|
82
|
+
|
65
83
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spare_keys
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Richard Szalay
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|