DANE: improved error handling

pull/214/head
M66B 2 years ago
parent 1e69eac4d5
commit c101e67900

@ -354,14 +354,22 @@ public class DnsHelper {
public void close() throws SecurityException { public void close() throws SecurityException {
} }
}; };
String clazz = DaneVerifier.class.getName(); String clazz = DaneVerifier.class.getName();
Logger.getLogger(clazz).addHandler(handler); try {
Log.w("DANE verify " + server + ":" + port); Logger.getLogger(clazz).addHandler(handler);
boolean verified = new DaneVerifier().verifyCertificateChain(chain, server, port); Log.w("DANE verify " + server + ":" + port);
Log.w("DANE verified=" + verified + " " + server + ":" + port); boolean verified = new DaneVerifier().verifyCertificateChain(chain, server, port);
Logger.getLogger(clazz).removeHandler(handler); Log.w("DANE verified=" + verified + " " + server + ":" + port);
if (!verified) if (!verified)
throw new CertificateException("DANE missing or invalid"); throw new CertificateException("DANE missing or invalid");
} catch (CertificateException ex) {
throw ex;
} catch (Throwable ex) {
throw new CertificateException("DANE error", ex);
} finally {
Logger.getLogger(clazz).removeHandler(handler);
}
} }
private static List<String> getDnsServers(Context context) { private static List<String> getDnsServers(Context context) {

Loading…
Cancel
Save