signiert ist. Ich möchte die onReceivedSslError()
einer WebViewClient
überschreiben. Hier möchte ich überprüfen, ob das error.getCertificate()
Zertifikat von einer selbstsignierten CA signiert ist und nur in diesem Fall, rufen Sie die handler.proceed()
. In Pseudo-Code:Überprüfen Sie in der onReceivedSslError() - Methode eines WebViewClient, wenn ein Zertifikat von einer bestimmten selbstsignierten CA
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
SslCertificate serverCertificate = error.getCertificate();
if (/* signed from my self-signed CA */) {
handler.proceed();
}
else {
super.onReceivedSslError(view, handler, error);
}
}
Der öffentliche Schlüssel meines CA in einer BouncyCastle Ressource gespeichert wird aufgerufen rootca.bks
. Wie kann ich?
Das ist keine gute Lösung. Jeder kann diesen Namen "fälschen". Da wir den öffentlichen Schlüssel der Stammzertifizierungsstelle haben, ist es die richtige Lösung zu überprüfen, ob das Zertifikat von ihm signiert ist. Und das bringt uns zurück zur ursprünglichen Frage ... – Dev
Guten Morgen! nur zur Selbstinformation, wie könnte das irgendjemand einstellen? Für diesen Wert gibt es keine festgelegten Methoden. Grüße – Oldskultxo
sowieso, wenn Sie die Weg-Bedingung ändern, könnte es Ihr Problem zu beheben, nur überprüfen, ob ... getDName gleich Ihrem bekannten Zertifizierer Einheit. Oder vielleicht verstehe ich dein Problem nicht ok. Entschuldigung, wenn das das Problem ist – Oldskultxo