Heim häufiges Problem Wie kann eine Ausnahme bei der HTTPS-Zertifikatsüberprüfung gelöst werden?

Wie kann eine Ausnahme bei der HTTPS-Zertifikatsüberprüfung gelöst werden?

Apr 16, 2020 am 10:33 AM
https

Die Überprüfung des HTTPS-Zertifikats ist abnormal. Was soll ich tun, wenn die Überprüfung fehlschlägt? Der folgende Artikel stellt Ihnen die Lösung für das Scheitern des HTTPS-Anforderungsüberprüfungszertifikats vor. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Wie kann eine Ausnahme bei der HTTPS-Zertifikatsüberprüfung gelöst werden?

Fehler: Gültiger Zertifizierungspfad zum angeforderten Ziel konnte nicht gefunden werden

Lösung:

1 zum lokalen Zertifikatsspeicher

2. Allen SSL-Zertifikaten vertrauen

Die beste Lösung könnte darin bestehen, allen SSL-Zertifikaten zu vertrauen, da es manchmal sehr mühsam ist, das Zertifikat jedes Mal manuell zu importieren. Jetzt ist eine Methode gekapselt. Ignorieren Sie einfach das Zertifikat, wenn Sie eine Verbindung zu openConnection herstellen.

SslUtils.java

import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
 
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
 
public class SslUtils {private static void trustAllHttpsCertificates() throws Exception {
    TrustManager[] trustAllCerts = new TrustManager[1];
    TrustManager tm = new miTM();
    trustAllCerts[0] = tm;
    SSLContext sc = SSLContext.getInstance("SSL");
    sc.init(null, trustAllCerts, null);
    HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
}
 
static class miTM implements TrustManager,X509TrustManager {
    public X509Certificate[] getAcceptedIssuers() {
        return null;
    }
 
    public boolean isServerTrusted(X509Certificate[] certs) {
        return true;
    }
 
    public boolean isClientTrusted(X509Certificate[] certs) {
        return true;
    }
 
    public void checkServerTrusted(X509Certificate[] certs, String authType)
            throws CertificateException {
        return;
    }
 
    public void checkClientTrusted(X509Certificate[] certs, String authType)
            throws CertificateException {
        return;
    }
}
 
/**
 * 忽略HTTPS请求的SSL证书,必须在openConnection之前调用
 * @throws Exception
 */
public static void ignoreSsl() throws Exception{
    HostnameVerifier hv = new HostnameVerifier() {
        public boolean verify(String urlHostName, SSLSession session) {
            System.out.println("Warning: URL Host: " + urlHostName + " vs. " + session.getPeerHost());
            return true;
        }
    };
    trustAllHttpsCertificates();
    HttpsURLConnection.setDefaultHostnameVerifier(hv);
}
 
}
Nach dem Login kopieren

SslTest.java:

import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import org.apache.commons.io.IOUtils;
 
public class SslTest {
     
    public String getRequest(String url,int timeOut) throws Exception{
        URL u = new URL(url);
        if("https".equalsIgnoreCase(u.getProtocol())){
            SslUtils.ignoreSsl();
        }
        URLConnection conn = u.openConnection();
        conn.setConnectTimeout(timeOut);
        conn.setReadTimeout(timeOut);
        return IOUtils.toString(conn.getInputStream());
    }
     
    public String postRequest(String urlAddress,String args,int timeOut) throws Exception{
        URL url = new URL(urlAddress);
        if("https".equalsIgnoreCase(url.getProtocol())){
            SslUtils.ignoreSsl();
        }
        URLConnection u = url.openConnection();
        u.setDoInput(true);
        u.setDoOutput(true);
        u.setConnectTimeout(timeOut);
        u.setReadTimeout(timeOut);
        OutputStreamWriter osw = new OutputStreamWriter(u.getOutputStream(), "UTF-8");
        osw.write(args);
        osw.flush();
        osw.close();
        u.getOutputStream();
        return IOUtils.toString(u.getInputStream());
    }
     
    public static void main(String[] args) {
        try {
            SslTest st = new SslTest();
            String a = st.getRequest("https://xxx.com/login.action", 3000);
            System.out.println(a);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
}
Nach dem Login kopieren

Für weitere verwandte Kenntnisse achten Sie bitte auf PHP Chinesische Website !

Das obige ist der detaillierte Inhalt vonWie kann eine Ausnahme bei der HTTPS-Zertifikatsüberprüfung gelöst werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1663
14
PHP-Tutorial
1263
29
C#-Tutorial
1237
24
So verwenden Sie Nginx Proxy Manager, um einen Reverse-Proxy unter dem HTTPS-Protokoll zu implementieren So verwenden Sie Nginx Proxy Manager, um einen Reverse-Proxy unter dem HTTPS-Protokoll zu implementieren Sep 26, 2023 am 08:40 AM

So implementieren Sie mit NginxProxyManager einen Reverse-Proxy unter dem HTTPS-Protokoll. Mit der Popularität des Internets und der Diversifizierung der Anwendungsszenarien sind die Zugriffsmethoden auf Websites und Anwendungen immer komplexer geworden. Um die Effizienz und Sicherheit des Website-Zugriffs zu verbessern, haben viele Websites damit begonnen, Reverse-Proxys zur Bearbeitung von Benutzeranfragen zu verwenden. Der Reverse-Proxy für das HTTPS-Protokoll spielt eine wichtige Rolle beim Schutz der Privatsphäre der Benutzer und der Gewährleistung der Kommunikationssicherheit. In diesem Artikel wird die Verwendung von NginxProxy vorgestellt

So verwenden Sie Nginx Proxy Manager, um einen automatischen Sprung von HTTP zu HTTPS zu implementieren So verwenden Sie Nginx Proxy Manager, um einen automatischen Sprung von HTTP zu HTTPS zu implementieren Sep 26, 2023 am 11:19 AM

So implementieren Sie den automatischen Sprung von HTTP zu HTTPS mit NginxProxyManager Mit der Entwicklung des Internets beginnen immer mehr Websites, das HTTPS-Protokoll zur Verschlüsselung der Datenübertragung zu verwenden, um die Datensicherheit und den Schutz der Privatsphäre der Benutzer zu verbessern. Da das HTTPS-Protokoll die Unterstützung eines SSL-Zertifikats erfordert, ist bei der Bereitstellung des HTTPS-Protokolls eine gewisse technische Unterstützung erforderlich. Nginx ist ein leistungsstarker und häufig verwendeter HTTP-Server und Reverse-Proxy-Server sowie NginxProxy

Nginx mit SSL: Konfigurieren Sie HTTPS, um Ihren Webserver zu schützen Nginx mit SSL: Konfigurieren Sie HTTPS, um Ihren Webserver zu schützen Jun 09, 2023 pm 09:24 PM

Nginx ist eine leistungsstarke Webserver-Software und ein leistungsstarker Reverse-Proxy-Server und Load Balancer. Mit der rasanten Entwicklung des Internets beginnen immer mehr Websites, das SSL-Protokoll zum Schutz vertraulicher Benutzerdaten zu verwenden. Nginx bietet außerdem leistungsstarke SSL-Unterstützung, wodurch die Sicherheitsleistung des Webservers noch weiter gesteigert wird. In diesem Artikel erfahren Sie, wie Sie Nginx so konfigurieren, dass es das SSL-Protokoll unterstützt und die Sicherheitsleistung des Webservers schützt. Was ist das SSL-Protokoll? SSL (SecureSocket

So konfigurieren Sie https in Tomcat So konfigurieren Sie https in Tomcat Jan 05, 2024 pm 05:15 PM

Konfigurationsschritte: 1. Besorgen Sie sich das SSL-Zertifikat. 3. Bearbeiten Sie die Tomcat-Konfigurationsdatei. Detaillierte Einführung: 1. Sie müssen ein SSL-Zertifikat erhalten, entweder ein selbstsigniertes Zertifikat oder ein gültiges SSL-Zertifikat von einer Zertifizierungsstelle (z. B. Let's Encrypt). 2. Legen Sie das erhaltene SSL-Zertifikat und die privaten Schlüsseldateien auf dem Server ab Stellen Sie sicher, dass sich diese Dateien an einem sicheren Ort befinden und nur Benutzer mit ausreichenden Berechtigungen darauf zugreifen können. 3. Bearbeiten Sie Tomcat-Konfigurationsdateien usw.

Wie sieht der https-Workflow aus? Wie sieht der https-Workflow aus? Apr 07, 2024 am 09:27 AM

Der https-Workflow umfasst Schritte wie vom Client initiierte Anfrage, Serverantwort, SSL/TLS-Handshake, Datenübertragung und clientseitiges Rendering. Durch diese Schritte kann die Sicherheit und Integrität der Daten während der Übertragung gewährleistet werden.

Verwendung von HTTPS zur Datenübertragung in der Java-API-Entwicklung Verwendung von HTTPS zur Datenübertragung in der Java-API-Entwicklung Jun 18, 2023 pm 10:43 PM

Mit der Entwicklung von Wissenschaft und Technologie ist die Netzwerkkommunikation zu einem wichtigen Instrument zur Informationsübertragung in der modernen Gesellschaft geworden. Da die Informationsübertragung im Netzwerk jedoch gleichzeitig dem Risiko böswilliger Angriffe und Diebstähle ausgesetzt ist, ist Sicherheit besonders wichtig. Auf dieser Grundlage entstand das HTTPS-Protokoll. Es handelt sich um ein Protokoll, das dem HTTP-Protokoll eine SSL/TLS-Verschlüsselung hinzufügt, um die Sicherheit der Netzwerkübertragung zu gewährleisten. Als eine in der Netzwerkentwicklung weit verbreitete Sprache bietet Java natürlich eine umfangreiche API zur Unterstützung des HTTPS-Protokolls. Dieser Artikel wird

Lösung: urllib3 ProxySchemeUnknown(proxy.scheme) Lösung: urllib3 ProxySchemeUnknown(proxy.scheme) Feb 29, 2024 pm 07:01 PM

Der Grund für den Fehler ist, dass der ProxySchemeUnknown(proxy.scheme)-Fehler von urllib3 normalerweise durch die Verwendung eines nicht unterstützten Proxy-Protokolls verursacht wird. In diesem Fall erkennt urllib3 den Protokolltyp des Proxyservers nicht und kann daher den Proxy nicht für Netzwerkverbindungen verwenden. Um dieses Problem zu beheben, müssen Sie sicherstellen, dass Sie ein unterstütztes Proxy-Protokoll wie HTTP oder HTTPS verwenden. So lösen Sie dieses Problem: Sie müssen sicherstellen, dass Sie ein unterstütztes Proxy-Protokoll wie HTTP oder HTTPS verwenden . Sie können dieses Problem lösen, indem Sie die Proxy-Parameter von urllib3 festlegen. Wenn Sie einen http-Proxy verwenden, lautet das Codebeispiel wie folgt: importurllib3http

Wie richte ich eine sichere HTTPS-Verbindung für ein PHP-Formular ein? Wie richte ich eine sichere HTTPS-Verbindung für ein PHP-Formular ein? Aug 17, 2023 pm 03:25 PM

Wie richte ich eine sichere HTTPS-Verbindung für ein PHP-Formular ein? Mit der Weiterentwicklung des Internets wird Sicherheit bei der Webentwicklung immer wichtiger. Eine Schlüsselrolle beim Schutz der Datenübertragung spielt das verschlüsselte Übertragungsprotokoll HTTPS. Bei der Nutzung von PHP-Formularen zur Datenübertragung können wir einige Maßnahmen ergreifen, um die Sicherheit der Verbindung zu gewährleisten. In diesem Artikel erfahren Sie anhand einiger Codebeispiele, wie Sie eine sichere HTTPS-Verbindung für PHP-Formulare einrichten. Erwerben eines SSL-Zertifikats Zunächst müssen Sie ein SSL-Zertifikat erwerben. SSL-Zertifikat ist eine garantierte Website