【问题标题】:Self Signed Certificate in AndroidAndroid中的自签名证书
【发布时间】:2015-11-16 07:14:04
【问题描述】:

我可以使用我使用 openssl 创建的自签名证书。

在我的 HttpsURLConnection 中使用证书时遇到的唯一问题是 HostnameVerifier。

如果我提供自己的 HostnameVerifier,它总是 return true 喜欢:

HostnameVerifier hostnameVerifier = new HostnameVerifier() {
        @Override
        public boolean verify(String hostname, SSLSession session) {
            return true;
        }
    };

urlConnection.setHostnameVerifier(hostnameVerifier);

它有效。

有什么方法可以为我们自己的主机提供验证,而不是对所有人都正确?

HostnameVerifier 是否也适用于本地网络(本地 IP)

【问题讨论】:

    标签: android certificate ssl-certificate self-signed httpsurlconnection


    【解决方案1】:

    假设您的服务器应用托管在具有服务器证书的服务器计算机中,例如,"Issued to""localhost"。然后,在 verify 方法中,您可以验证"localhost"

    HostnameVerifier hostnameVerifier = new HostnameVerifier() {
        @Override
        public boolean verify(String hostname, SSLSession session) {
            HostnameVerifier hv =
                HttpsURLConnection.getDefaultHostnameVerifier();
            return hv.verify("localhost", session);
        }
    };
    

    【讨论】:

      猜你喜欢
      • 2017-09-01
      • 2021-04-27
      • 1970-01-01
      • 2018-05-11
      • 1970-01-01
      • 1970-01-01
      • 2021-09-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多