apk_analyzer 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/apk_analyzer/analyzer.rb +12 -8
- data/lib/apk_analyzer/version.rb +1 -1
- 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: c9a78dc35d71f81551f39123658300a1b79d18dd
|
4
|
+
data.tar.gz: f16422da7e2bccaaf082c12a83580f9041cceafa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 900e109f394f8e1caedca681c1916bc0124828aaf6f520a13e359a652f15d210d542d696b6277b8b100b819c5f03f345d28d721fbfde2dab316f8cf49987b890
|
7
|
+
data.tar.gz: 0951645dc29a00dece264930df2c37026a91bee1b9e882f022941e11a819ada1191cc68df389114661e572c524f4e236f140ca34a59513db475f78650267d370
|
@@ -68,7 +68,8 @@ module ApkAnalyzer
|
|
68
68
|
|
69
69
|
# Certificate info. Issuer and dates
|
70
70
|
def collect_cert_info
|
71
|
-
|
71
|
+
# Redirect keytool check error to /dev/null
|
72
|
+
os_has_keytool = system('keytool 2>/dev/null')
|
72
73
|
raise 'keytool dependency not satisfied. Make sure that JAVA keytool utility is installed' unless os_has_keytool
|
73
74
|
cert_info = {}
|
74
75
|
certificate_raw = `keytool -printcert -rfc -jarfile #{@apk_path.shellescape}`
|
@@ -190,13 +191,16 @@ module ApkAnalyzer
|
|
190
191
|
|
191
192
|
def cert_extract_issuer(certificate_content, result)
|
192
193
|
subject = `echo "#{certificate_content}" | openssl x509 -noout -in /dev/stdin -subject -nameopt -esc_msb,utf8`
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
result[:
|
197
|
-
result[:
|
198
|
-
result[:
|
199
|
-
result[:
|
194
|
+
# All APK certificate fields are not manadatory. At least one is needed.So to remove trailing carrier return
|
195
|
+
# character, we apply gsub method on the raw subject, and we use it after.
|
196
|
+
raw = subject.gsub(/\n/,'')
|
197
|
+
result[:issuer_raw] = raw
|
198
|
+
result[:cn] = cert_extract_issuer_parameterized(raw, 'CN')
|
199
|
+
result[:ou] = cert_extract_issuer_parameterized(raw, 'OU')
|
200
|
+
result[:o] = cert_extract_issuer_parameterized(raw, 'O')
|
201
|
+
result[:st] = cert_extract_issuer_parameterized(raw, 'ST')
|
202
|
+
result[:l] = cert_extract_issuer_parameterized(raw, 'L')
|
203
|
+
result[:c] = cert_extract_issuer_parameterized(raw, 'C')
|
200
204
|
end
|
201
205
|
|
202
206
|
def cert_extract_issuer_parameterized(subject, param)
|
data/lib/apk_analyzer/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: apk_analyzer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- BACKELITE
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-04-
|
11
|
+
date: 2017-04-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: apktools
|