Enabled Certificate transparency cache

This commit is contained in:
M66B
2023-12-30 18:02:03 +01:00
parent e570e8fb2d
commit 5f41c30502
2 changed files with 13 additions and 5 deletions

View File

@@ -1,5 +1,6 @@
package eu.faircode.email;
import android.content.Context;
import android.text.TextUtils;
import androidx.annotation.NonNull;
@@ -7,6 +8,7 @@ import androidx.annotation.NonNull;
import com.appmattus.certificatetransparency.CTLogger;
import com.appmattus.certificatetransparency.CTTrustManagerBuilder;
import com.appmattus.certificatetransparency.VerificationResult;
import com.appmattus.certificatetransparency.cache.AndroidDiskCache;
import java.net.InetAddress;
import java.net.UnknownHostException;
@@ -25,7 +27,7 @@ import javax.net.ssl.X509TrustManager;
public class SSLHelper {
static TrustManager[] getTrustManagers(
String server, boolean secure, boolean cert_strict, boolean transparency, boolean check_names, String trustedFingerprint, ITrust intf) {
Context context, String server, boolean secure, boolean cert_strict, boolean transparency, boolean check_names, String trustedFingerprint, ITrust intf) {
TrustManagerFactory tmf;
try {
tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
@@ -55,7 +57,10 @@ public class SSLHelper {
};
final X509TrustManager rtm = (transparency
? new CTTrustManagerBuilder((X509TrustManager) tms[0]).setLogger(logger).build()
? new CTTrustManagerBuilder((X509TrustManager) tms[0])
.setDiskCache(new AndroidDiskCache(context))
.setLogger(logger)
.build()
: (X509TrustManager) tms[0]);
return new TrustManager[]{new X509TrustManager() {