0

私のアプリケーションは署名付きアプレットであり、Java 1.6 でコンパイルされています

私のアプリでは、https get リクエストを作成しています。証明書の検証を無視しても、JRE でセキュリティ ポップアップが表示されます。
Internet Explorer で同じ要求を試みても、セキュリティ警告は表示されません。

1)このセキュリティポップアップをなくすためにプログラムでできることはありますか?
2) すべての証明書を受け入れても、JRE が警告ポップアップを表示するのはなぜですか?.

証明書の有効性を無視するコードは次のとおりです。

        TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
        public java.security.cert.X509Certificate[] getAcceptedIssuers() {
            return new java.security.cert.X509Certificate[] {};
        }

        public void checkClientTrusted(X509Certificate[] chain, String authType)
                throws CertificateException {
        }

        public void checkServerTrusted(X509Certificate[] chain, String authType)
                throws CertificateException {
        }
    } };
    // Install the all-trusting trust manager
    try {
        SSLContext sc = null;
        try {
             sc = SSLContext.getInstance("SSL");
        } catch (NoSuchAlgorithmException ex) {
            MainScreen.toConsole(ex);
             sc = SSLContext.getInstance("TLS");
        }
        sc.init(null, trustAllCerts, new java.security.SecureRandom());
        HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
        HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
            @Override
            public boolean verify(String hostname, SSLSession session) {
                return true;
            }
        });
    } catch (Exception e) {
    }

セキュリティ警告のスクリーンショットは次のとおりです。 ここに画像の説明を入力

4

1 に答える 1

1

私が考えることができると思うだけです:rapidsslのCA証明書がJava証明書ストアにあることを確認してください。このガイドをチェックしてください。ブラウザにあることはわかっていますが、Java には認識されていない可能性があります。

于 2012-07-03T08:43:24.280 に答える