ホームページ よくある問題 HTTPS 証明書検証例外を解決するにはどうすればよいですか?

HTTPS 証明書検証例外を解決するにはどうすればよいですか?

Apr 16, 2020 am 10:33 AM
https

HTTPS 証明書の検証が異常です。検証に失敗した場合はどうすればよいですか?次の記事では、HTTPS リクエスト検証証明書が失敗する場合の解決策を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

HTTPS 証明書検証例外を解決するにはどうすればよいですか?

#エラー レポート: 要求されたターゲットへの有効な証明書パスが見つかりません

解決策:

1. インポートローカル証明書ストアへの証明書

2.すべての SSL 証明書を信頼する

最良の解決策は、証明書を毎回手動でインポートするのが非常に面倒な場合があるため、すべての SSL 証明書を信頼することです。メソッドがカプセル化されるようになりました。openConnection に接続するときに証明書を無視するだけです。

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);
}
 
}
ログイン後にコピー

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();
        }
    }
 
}
ログイン後にコピー

関連知識の詳細については、

PHP を参照してください。中国のウェブサイト!

以上がHTTPS 証明書検証例外を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Nginx Proxy Manager を使用して HTTPS プロトコルでリバース プロキシを実装する方法 Nginx Proxy Manager を使用して HTTPS プロトコルでリバース プロキシを実装する方法 Sep 26, 2023 am 08:40 AM

NginxProxyManager を使用して HTTPS プロトコルでリバース プロキシを実装する方法 近年、インターネットの普及とアプリケーション シナリオの多様化に伴い、Web サイトやアプリケーションへのアクセス方法はますます複雑になっています。 Web サイトへのアクセス効率とセキュリティを向上させるために、多くの Web サイトはユーザーのリクエストを処理するためにリバース プロキシを使用し始めています。 HTTPS プロトコルのリバース プロキシは、ユーザーのプライバシーを保護し、通信のセキュリティを確保する上で重要な役割を果たします。この記事ではNginxProxyの使い方を紹介します。

Nginx プロキシ マネージャーを使用して HTTP から HTTPS への自動ジャンプを実装する方法 Nginx プロキシ マネージャーを使用して HTTP から HTTPS への自動ジャンプを実装する方法 Sep 26, 2023 am 11:19 AM

NginxProxyManager を使用して HTTP から HTTPS への自動ジャンプを実装する方法 インターネットの発展に伴い、ますます多くの Web サイトが HTTPS プロトコルを使用してデータ送信を暗号化し、データ セキュリティとユーザーのプライバシー保護を向上させ始めています。 HTTPS プロトコルは SSL 証明書のサポートを必要とするため、HTTPS プロトコルを展開する際には特定の技術サポートが必要です。 Nginx は強力で一般的に使用される HTTP サーバーおよびリバース プロキシ サーバーであり、NginxProxy

SSL を使用した Nginx: HTTPS を構成して Web サーバーを保護する SSL を使用した Nginx: HTTPS を構成して Web サーバーを保護する Jun 09, 2023 pm 09:24 PM

Nginx は、高性能 Web サーバー ソフトウェアであり、強力なリバース プロキシ サーバーおよびロード バランサーです。インターネットの急速な発展に伴い、機密性の高いユーザー データを保護するために SSL プロトコルを使用する Web サイトが増えています。Nginx は強力な SSL サポートも提供し、Web サーバーのセキュリティ パフォーマンスをさらに強化しています。この記事では、SSL プロトコルをサポートし、Web サーバーのセキュリティ パフォーマンスを保護するように Nginx を構成する方法を紹介します。 SSLプロトコルとは何ですか? SSL (セキュアソケット)

Tomcat で https を設定する方法 Tomcat で https を設定する方法 Jan 05, 2024 pm 05:15 PM

構成手順: 1. SSL 証明書を取得します; 2. SSL 証明書を構成します; 3. Tomcat 構成ファイルを編集します; 4. Tomcat を再起動します。詳細な導入: 1. 自己署名証明書または認証機関 (Let's Encrypt など) から有効な SSL 証明書のいずれかの SSL 証明書を取得する必要があります; 2. 取得した SSL 証明書と秘密キー ファイルをサーバーに配置し、これらのファイルが安全な場所にあり、十分な権限を持つユーザーのみがアクセスできることを確認します; 3. Tomcat 設定ファイルなどを編集します。

解決策: urllib3 ProxySchemeUnknown(proxy.scheme) 解決策: urllib3 ProxySchemeUnknown(proxy.scheme) Feb 29, 2024 pm 07:01 PM

このエラーの理由は、urllib3 の ProxySchemeUnknown(proxy.scheme) エラーは、通常、サポートされていないプロキシ プロトコルの使用によって発生するためです。この場合、urllib3 はプロキシ サーバーのプロトコル タイプを認識しないため、ネットワーク接続にプロキシを使用できません。この問題を解決するには、HTTP や https などのサポートされているプロキシ プロトコルを使用していることを確認する必要があります。 。この問題は、urllib3 のプロキシ パラメータを設定することで解決できます。 http プロキシを使用している場合、コード例は次のとおりです。

https ワークフローはどのようなものですか? https ワークフローはどのようなものですか? Apr 07, 2024 am 09:27 AM

https ワークフローには、クライアントから開始されたリクエスト、サーバー応答、SSL/TLS ハンドシェイク、データ送信、クライアント側レンダリングなどの手順が含まれており、これらの手順を通じて、送信中のデータのセキュリティと整合性を確保できます。

Java API開発におけるデータ送信にHTTPSを使用する Java API開発におけるデータ送信にHTTPSを使用する Jun 18, 2023 pm 10:43 PM

科学技術の発展に伴い、ネットワーク通信は現代社会における重要な情報伝達ツールの一つとなっています。しかし同時に、ネットワーク上の情報送信には悪意のある攻撃や盗難のリスクがあるため、セキュリティは特に重要です。これに基づいて、HTTPS プロトコルが誕生しました。ネットワーク伝送のセキュリティを確保するために、HTTP プロトコルに SSL/TLS 暗号化を追加したプロトコルです。ネットワーク開発で広く使用されている言語である Java は、HTTPS プロトコルをサポートするための豊富な API を当然提供します。この記事では、

PHP フォームに安全な HTTPS 接続を設定するにはどうすればよいですか? PHP フォームに安全な HTTPS 接続を設定するにはどうすればよいですか? Aug 17, 2023 pm 03:25 PM

PHP フォームに安全な HTTPS 接続を設定するにはどうすればよいですか?インターネットの発展に伴い、Web 開発におけるセキュリティの重要性がますます高まっています。暗号化された伝送プロトコル HTTPS は、データ伝送の保護において重要な役割を果たします。データ送信に PHP フォームを使用する場合、接続のセキュリティを確保するためにいくつかの対策を講じることができます。この記事では、PHP フォームに安全な HTTPS 接続をセットアップする方法を、いくつかのコード例とともに説明します。 SSL 証明書を購入する まず、SSL 証明書を購入する必要があります。 SSL証明書が保証されたWebサイトです