apple_certs_info 0.2.1 → 0.3.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: d832e03b2b9b9bc4258931131ac30b37cc98fff25e42566adcecae71b48634c0
4
- data.tar.gz: ff2ca0720578dc99224e3740e75b9a4d97dff1e4d4694ade8e347f17dfa0b392
3
+ metadata.gz: 68d3c3b54444d29ee89642ab3cc5a4c140d4ebd8d3285109c8f58ce523dec0fc
4
+ data.tar.gz: affc1729365659a246ae3af13ce77883eefb74b35d51938dd750733584e75bd2
5
5
  SHA512:
6
- metadata.gz: 16c615e264bc2867d2cd579dd6e80093b19677cef36747853c01286dfcf3319969d154fbb2e2a203724b6e9c8bd3582c0e609edf9a0c5231efe74130cbc9b9d6
7
- data.tar.gz: a143ac10d7c70e5ebe9f8f957f83c13b204feac3bbec525c1465fc7b25d2b28f43fa5937b94a29221725597a3d86f63b6a77535ba2a1e3ef1237520463022242
6
+ metadata.gz: d62764bd66bf50b64c9ef1749ab36a0c187448e180b63545d25df0f5f525daf0b8054940dc6cbf32a7bcdda338bf1f639596473637bf242289561547fc8b5b00
7
+ data.tar.gz: 14a074228da2d5cb4f69147df2bd14c69136a9645dcce6f12cf38cffe16a682b0e8d6f9338c209b8c9722391e05f24cce0d6b0e400a00c0c3446c4ee8e29cd72
@@ -108,28 +108,28 @@
108
108
  </library>
109
109
  </orderEntry>
110
110
  <orderEntry type="module-library">
111
- <library name="rspec-mocks (vbundled(3.10.1)) [path][gem]" type="rubylib">
111
+ <library name="rspec-mocks (vbundled(3.10.2)) [path][gem]" type="rubylib">
112
112
  <properties>
113
113
  <option name="version" value="4" />
114
114
  </properties>
115
115
  <CLASSES>
116
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.10.1/lib" />
116
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.10.2/lib" />
117
117
  </CLASSES>
118
118
  <SOURCES>
119
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.10.1/lib" />
119
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.10.2/lib" />
120
120
  </SOURCES>
121
121
  </library>
122
122
  </orderEntry>
123
123
  <orderEntry type="module-library">
124
- <library name="rspec-support (vbundled(3.10.1)) [path][gem]" type="rubylib">
124
+ <library name="rspec-support (vbundled(3.10.2)) [path][gem]" type="rubylib">
125
125
  <properties>
126
126
  <option name="version" value="4" />
127
127
  </properties>
128
128
  <CLASSES>
129
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.10.1/lib" />
129
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.10.2/lib" />
130
130
  </CLASSES>
131
131
  <SOURCES>
132
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.10.1/lib" />
132
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.10.2/lib" />
133
133
  </SOURCES>
134
134
  </library>
135
135
  </orderEntry>
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- apple_certs_info (0.2.1)
4
+ apple_certs_info (0.3.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -13,6 +13,17 @@ module AppleCertsInfo
13
13
  @debug_log
14
14
  end
15
15
 
16
+ # Remove duplicate certificate
17
+ # remove first data
18
+ def self.remove_duplicate_certificate
19
+ list = certificate_development_list.concat(certificate_distribution_list)
20
+
21
+ duplicate_cname = list.group_by{ |e| e[:cname] }.select { |k, v| v.size > 1 }.map(&:first)
22
+ duplicate_cname.each do |cname|
23
+ delete_first_match_keychain(name: cname)
24
+ end
25
+ end
26
+
16
27
  # Check Certificate file for iPhone Developer /Apple Development in the KeyChain
17
28
  # @param days: limit days
18
29
  # @return:
@@ -127,12 +138,12 @@ module AppleCertsInfo
127
138
  expire_datetime_match.each do |original_datetime|
128
139
  expire_datetime = Time.parse(original_datetime.first)
129
140
  limit_days = calc_limit_days(datetime: expire_datetime)
130
- cname = cname_match[1]
141
+ cname = cname_match[1] # cname is same
131
142
 
132
143
  info << {
133
- :expire_datetime => expire_datetime,
134
- :limit_days => limit_days,
135
- :cname => cname
144
+ :expire_datetime => expire_datetime,
145
+ :limit_days => limit_days,
146
+ :cname => cname,
136
147
  }
137
148
  end
138
149
  rescue StandardError => e
@@ -146,8 +157,20 @@ module AppleCertsInfo
146
157
 
147
158
 
148
159
  private
160
+ def self.delete_first_match_keychain(name:)
161
+ result = `security find-certificate -a -c "#{name}" -Z`
162
+ sha_match = result.match(/SHA-1 hash: (.*)/)
163
+ keychain_path = result.match(/keychain: (.*)/)
164
+ raise "not exits sha-1" if sha_match.nil?
165
+ raise "not exits keychain_path" if keychain_path.nil?
166
+ sha1 = sha_match[1]
167
+ puts "Delete #{name} / SHA-1: #{sha1}"
168
+
169
+ result = `security delete-certificate -Z #{sha1} #{keychain_path[1]}`
170
+ end
171
+
149
172
  def self.certificate_list_for(name:)
150
- result = `security find-certificate -a -c "#{name}"`
173
+ result = `security find-certificate -a -c "#{name}" -Z`
151
174
  name_match_list = result.scan(/.*alis".*=\"(.*)\".*/)
152
175
  puts(name_match_list) if @debug_log == true
153
176
 
@@ -1,3 +1,3 @@
1
1
  module AppleCertsInfo
2
- VERSION = "0.2.1"
2
+ VERSION = "0.3.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: apple_certs_info
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - tarappo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-02-18 00:00:00.000000000 Z
11
+ date: 2021-02-19 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: