Skip to content

Commit 6d6b4d8

Browse files
balazsgerleiMartinStyk
authored andcommitted
Add SHA-1 signature to App Details screen
1 parent b680bbb commit 6d6b4d8

7 files changed

Lines changed: 19 additions & 0 deletions

File tree

app/src/main/java/sk/styk/martin/apkanalyzer/ui/appdetail/page/certificate/AppCertificateDetailsFragmentViewModel.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,11 @@ class AppCertificateDetailsFragmentViewModel @AssistedInject constructor(
4343
TextInfo.from(data.certificateHashMd5),
4444
TextInfo.from(R.string.cert_md5_description),
4545
),
46+
DetailInfoAdapter.DetailInfo(
47+
TextInfo.from(R.string.cert_sha1),
48+
TextInfo.from(data.certificateHashSha1),
49+
TextInfo.from(R.string.cert_sha1_description),
50+
),
4651
DetailInfoAdapter.DetailInfo(
4752
TextInfo.from(R.string.cert_sha256),
4853
TextInfo.from(data.certificateHashSha256),

app/src/main/res/values-ja/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@
126126
<string name="start_date">開始 : </string>
127127
<string name="end_date">有効期限 : </string>
128128
<string name="cert_md5">MD5証明書</string>
129+
<string name="cert_sha1">SHA-1証明書</string>
129130
<string name="cert_sha256">SHA-256証明書</string>
130131
<string name="issuer_name">発行者名</string>
131132
<string name="issuer_organization">発行組織</string>
@@ -138,6 +139,7 @@
138139
<string name="start_date_description">証明書の有効期間の開始</string>
139140
<string name="end_date_description">証明書の有効期間の終了</string>
140141
<string name="cert_md5_description">証明書のMD5ハッシュ</string>
142+
<string name="cert_sha1_description">証明書のSHA-1ハッシュ</string>
141143
<string name="cert_sha256_description">証明書のSHA-256ハッシュ</string>
142144
<string name="issuer_name_description">証明書の発行者の名前</string>
143145
<string name="issuer_organization_description">証明書の組織の名前</string>

app/src/main/res/values-zh-rTW/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,7 @@
190190
<string name="start_date">有效日期</string>
191191
<string name="end_date">截止日期</string>
192192
<string name="cert_md5">MD5 憑證</string>
193+
<string name="cert_sha1">SHA-1 憑證</string>
193194
<string name="cert_sha256">SHA-256 憑證</string>
194195
<string name="issuer_name">發行者名稱</string>
195196
<string name="issuer_organization">發行機構</string>
@@ -203,6 +204,7 @@
203204
<string name="start_date_description">憑證生效起始日期。</string>
204205
<string name="end_date_description">憑證效力截止日期。</string>
205206
<string name="cert_md5_description">憑證的 MD5 雜湊值。</string>
207+
<string name="cert_sha1_description">憑證的 SHA-1 雜湊值。</string>
206208
<string name="cert_sha256_description">憑證的 SHA-256 雜湊值。</string>
207209
<string name="issuer_name_description">憑證發行者名稱。</string>
208210
<string name="issuer_organization_description">憑證發行機構名稱。</string>

app/src/main/res/values/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@
154154
<string name="start_date">Valid from</string>
155155
<string name="end_date">Valid to</string>
156156
<string name="cert_md5">Certificate MD5</string>
157+
<string name="cert_sha1">Certificate SHA-1</string>
157158
<string name="cert_sha256">Certificate SHA-256</string>
158159
<string name="issuer_name">Issuer name</string>
159160
<string name="issuer_organization">Issuer organization</string>
@@ -166,6 +167,7 @@
166167
<string name="start_date_description">Start of validity period of the certificate.</string>
167168
<string name="end_date_description">End of validity period of the certificate.</string>
168169
<string name="cert_md5_description">MD5 hash of the certificate.</string>
170+
<string name="cert_sha1_description">SHA-1 hash of the certificate.</string>
169171
<string name="cert_sha256_description">SHA-256 hash of the certificate.</string>
170172
<string name="issuer_name_description">Name of issuer of the certificate</string>
171173
<string name="issuer_organization_description">Name of organization of issuer of the certificate</string>

core/app-analysis-core/src/main/java/sk/styk/martin/apkanalyzer/core/appanalysis/CertificateManager.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,10 @@ class CertificateManager @Inject internal constructor(private val digestManager:
2424
CertificateData(
2525
signAlgorithm = certificate.sigAlgName,
2626
certificateHashMd5 = digestManager.md5Digest(certificate.encoded),
27+
certificateHashSha1 = digestManager.sha1Digest(certificate.encoded),
2728
certificateHashSha256 = digestManager.sha256Digest(certificate.encoded),
2829
publicKeyMd5 = digestManager.md5Digest(digestManager.byteToHexString(certificate.publicKey.encoded)),
30+
publicKeySha1 = digestManager.sha1Digest(digestManager.byteToHexString(certificate.publicKey.encoded)),
2931
publicKeySha256 = digestManager.sha256Digest(digestManager.byteToHexString(certificate.publicKey.encoded)),
3032
startDate = certificate.notBefore,
3133
endDate = certificate.notAfter,

core/app-analysis-core/src/main/java/sk/styk/martin/apkanalyzer/core/appanalysis/model/CertificateData.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@ import java.util.Date
1111
data class CertificateData(
1212
val signAlgorithm: String,
1313
val certificateHashMd5: String,
14+
val certificateHashSha1: String,
1415
val certificateHashSha256: String,
1516
val publicKeyMd5: String,
17+
val publicKeySha1: String,
1618
val publicKeySha256: String,
1719
val startDate: Date,
1820
val endDate: Date,

core/common/src/main/java/sk/styk/martin/apkanalyzer/core/common/digest/DigestManager.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ class DigestManager @Inject constructor() {
1212

1313
fun md5Digest(input: String): String = md5Digest(input.toByteArray())
1414

15+
fun sha1Digest(input: ByteArray): String = computeHash(algorithm = "SHA-1", input)
16+
17+
fun sha1Digest(input: String): String = sha1Digest(input.toByteArray())
18+
1519
fun sha256Digest(input: ByteArray): String = computeHash(algorithm = "SHA-256", input)
1620

1721
fun sha256Digest(input: String): String = sha256Digest(input.toByteArray())

0 commit comments

Comments
 (0)