java - 访问被拒绝 ("javax.net.ssl.SSLPermission" "setDefaultSSLContext")

标签 java ssl ssl-certificate java-security-manager

我使用下面的代码来信任所有证书,并且代码在容器化环境中运行,我收到异常,因为访问被拒绝(“javax.net.ssl.SSLPermission”“setDefaultSSLContext”)和在普通 tomcat 服务器上运行的相同代码工作正常

 URL destinationURL = null;
    SSLContext context = null;
TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
                    @Override
                    public X509Certificate[] getAcceptedIssuers() {
                        //return new X509Certificate[1];
                        return null;
                    }
                    @Override
                    public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
                        //DO
                    }
                    @Override
                    public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
                        //DO
                    }
                } 
                };
            try {
                context = SSLContext.getInstance("SSL");
                context.init(null, trustAllCerts, null);
                SSLContext.setDefault(context);

                //proxy details here
                    destinationURL = new URL('url');
                    HttpsURLConnection.setDefaultSSLSocketFactory(context.getSocketFactory());
                    HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
                        public boolean verify(String hostname, SSLSession session) {
                            
                            return true;
                    }
                });
                
            } catch (Exception e) {
                e.printStackTrace();
            
}

最佳答案

您可以使用指定的 SSLContext 构建可用于 URL 连接的 socketfactory,不建议更改默认值。

关于java - 访问被拒绝 ("javax.net.ssl.SSLPermission" "setDefaultSSLContext"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64643813/

相关文章:

java - Android Studio : Editing a . txt 文件在内部存储中与 EditText

java - 在乘法中使用递归

linux - Node js + Nginx + 亚马逊 Linux + SSL

spring - 在 Tomcat 和 Spring 中使用 SSL

java - 证书未知错误--Java使用的是trustStore

firefox - 为什么 Firefox 说我的网站正在使用 "invalid security certificate"?

java - equals() 方法?

java - Android 2.3 中使用 ActionBar 和支持库 v7 强制关闭

ssl - 更改域名的 ip 地址 - 如何测试 ssl 是否仍然有效?

javascript - 将二进制数据写入文件