Skip to content

Commit 532ff1d

Browse files
committed
CustomCertStore: find certificate alias instead of relying on tag for removal
1 parent 0669f93 commit 532ff1d

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

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

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -132,22 +132,26 @@ class CustomCertStore internal constructor(
132132

133133
@Synchronized
134134
fun setTrustedByUser(cert: X509Certificate) {
135-
val tag = CertUtils.getTag(cert)
136-
Cert4Android.log.info("Trusted by user: ${cert.subjectDN.name} ($tag)")
135+
val alias = CertUtils.getTag(cert)
136+
Cert4Android.log.info("Trusted by user: ${cert.subjectDN.name} ($alias)")
137137

138-
userKeyStore.setCertificateEntry(tag, cert)
138+
userKeyStore.setCertificateEntry(alias, cert)
139139
saveUserKeyStore()
140140

141141
untrustedCerts -= cert
142142
}
143143

144144
@Synchronized
145145
fun setUntrustedByUser(cert: X509Certificate) {
146-
val tag = CertUtils.getTag(cert)
147-
Cert4Android.log.info("Distrusted by user: ${cert.subjectDN.name} ($tag)")
146+
Cert4Android.log.info("Distrusted by user: ${cert.subjectDN.name}")
148147

149-
userKeyStore.deleteEntry(tag)
150-
saveUserKeyStore()
148+
// find certificate
149+
val alias = userKeyStore.getCertificateAlias(cert)
150+
if (alias != null) {
151+
// and delete, if applicable
152+
userKeyStore.deleteEntry(alias)
153+
saveUserKeyStore()
154+
}
151155

152156
untrustedCerts += cert
153157
}

0 commit comments

Comments
 (0)