相关疑难解决方法(0)

主机名错误的例外

我得到了主机名错误的异常.我在我的程序中使用了这段代码(从某些链接获得).我的程序工作正常.我的问题是否足够安全?(因为它没有验证证书链)

public class Host {

    public String subscribe() throws Exception {   
        String resp = "";
        String urlString="https://xxx.xxx.xx.xx:8443/WebApplication3/NewServlet";
        URL url;
        URLConnection urlConn;
        DataOutputStream printout;
        DataInputStream input;
        String str = "";
        int flag=1;

        try {
            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);

            url = new URL(urlString);
            urlConn = url.openConnection();
            urlConn.setDoInput(true);
            Object object;
            urlConn.setUseCaches(false);

            urlConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            input …
Run Code Online (Sandbox Code Playgroud)

java https

6
推荐指数
1
解决办法
2495
查看次数

禁用单个连接的SSLHandshakeException

我正在寻找类似于这个答案的解决方案,但更安全.我想禁用证书验证,但仅针对单个请求(这是我所需要的).所以它应该做以下一个或多个

  • 一个请求完成后返回安全状态
  • 仅禁用给定URL的验证
  • (也许)仅针对一个线程使用不安全的设置

附录

当我要求更安全的解决方案时,我真的想知道这个问题(得分-2)与原始问题(得分+46)相比有什么问题.有人能解释一下吗

解释为什么我需要这个:有一个有效的服务器证书,通常,它被使用.但我需要发送一个请求localhost,它也必须在开发人员计算机上工作.必须是https因为没有http支持.

java security ssl https

6
推荐指数
2
解决办法
4831
查看次数

标签 统计

https ×2

java ×2

security ×1

ssl ×1