[英]Self Signed Certificate in Android
我可以使用使用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)
假設您的服務器應用托管在具有服務器證書的服務器計算機內,例如,其中"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);
}
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.