Skip to content

Commit 246a542

Browse files
committed
Minor UI changes
1 parent cf358a1 commit 246a542

File tree

4 files changed

+14
-9
lines changed

4 files changed

+14
-9
lines changed

lib/src/main/java/at/bitfire/cert4android/CertificateDetails.kt

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,19 @@ import java.security.spec.MGF1ParameterSpec.SHA256
66
import java.text.DateFormat
77

88
/**
9-
* Certificate details.
10-
* Create with [CertificateDetails.create] and use with [TrustCertificateDialog]
9+
* Human-readable certificate details.
10+
*
11+
* Usually created with [CertificateDetails.fromX509] and used by [TrustCertificateDialog].
1112
*/
1213
data class CertificateDetails(
1314
val issuedFor: String? = null,
1415
val issuedBy: String? = null,
1516
val validFrom: String? = null,
1617
val validTo: String? = null,
1718
val sha1: String? = null,
18-
val sha256: String? = null,
19+
val sha256: String? = null
1920
) {
21+
2022
companion object {
2123

2224
/**
@@ -25,7 +27,7 @@ data class CertificateDetails(
2527
* @param cert X509Certificate
2628
* @return CertificateDetails
2729
*/
28-
fun create(cert: X509Certificate): CertificateDetails? {
30+
fun fromX509(cert: X509Certificate): CertificateDetails {
2931
val subject = cert.subjectAlternativeNames?.let { altNames ->
3032
val sb = StringBuilder()
3133
for (altName in altNames) {
@@ -42,9 +44,10 @@ data class CertificateDetails(
4244
issuedBy = cert.issuerDN.toString(),
4345
validFrom = timeFormatter.format(cert.notBefore),
4446
validTo = timeFormatter.format(cert.notAfter),
45-
sha1 = "SHA1: " + CertUtils.fingerprint(cert, SHA1.digestAlgorithm),
46-
sha256 = "SHA256: " + CertUtils.fingerprint(cert, SHA256.digestAlgorithm)
47+
sha1 = CertUtils.fingerprint(cert, SHA1.digestAlgorithm),
48+
sha256 = CertUtils.fingerprint(cert, SHA256.digestAlgorithm)
4749
)
4850
}
4951
}
52+
5053
}

lib/src/main/java/at/bitfire/cert4android/TrustCertificateDialog.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ fun TrustCertificateDialog(
7979

8080
if (sha1 != null)
8181
Text(
82-
text = sha1,
82+
text = stringResource(R.string.trust_certificate_fingerprint_sha1, sha1),
8383
style = MaterialTheme.typography.bodyMedium,
8484
modifier = modifier
8585
.fillMaxWidth()
@@ -88,7 +88,7 @@ fun TrustCertificateDialog(
8888

8989
if (sha256 != null)
9090
Text(
91-
text = sha256,
91+
text = stringResource(R.string.trust_certificate_fingerprint_sha256, sha256),
9292
style = MaterialTheme.typography.bodyMedium,
9393
modifier = modifier
9494
.fillMaxWidth()

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
<string name="trust_certificate_validity_period">Validity period</string>
99
<string name="trust_certificate_validity_period_value">%1$s – %2$s (will not be enforced)</string>
1010
<string name="trust_certificate_fingerprints">Fingerprints</string>
11+
<string name="trust_certificate_fingerprint_sha1">SHA-1: %s</string>
12+
<string name="trust_certificate_fingerprint_sha256">SHA-256: %s</string>
1113
<string name="trust_certificate_fingerprint_verified">I have manually verified the whole fingerprint.</string>
1214
<string name="trust_certificate_accept">Accept</string>
1315
<string name="trust_certificate_reject">Reject</string>

sample-app/src/main/java/at/bitfire/cert4android/demo/MainActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ class MainActivity : ComponentActivity() {
170170
userDecision = CompletableDeferred()
171171

172172
// Show TrustDecisionDialog with certificate details to user
173-
_certificateDetailsFlow.value = CertificateDetails.create(cert)
173+
_certificateDetailsFlow.value = CertificateDetails.fromX509(cert)
174174

175175
// Wait for user decision and return it
176176
userDecision.await()

0 commit comments

Comments
 (0)