Https签名认证是什么意思
- http是没有加密的,很容易被中间人攻击
- https使用了对称和非对称加密
- https也有可能中间人攻击,中间人伪造了公钥和私钥
- ca是用来验证公钥的。这样伪造的公钥就会被浏览器在认证时进行提醒
WebView的支持
- WebView本身是支持https签名认证的
- 当发现证书有问题时,需要提醒用户,这个是通过webview的回调来实现自定义
* Displays SSL error(s) dialog to the user.
*/
@Override
public void onReceivedSslError(final WebView view,
final SslErrorHandler handler, final SslError error) {
if (WebSettings.getInstance().mShowSecurityWarnings) {
new AlertDialog.Builder(getContext())
.setTitle(R.string.web_http_ssl_title)
.setMessage(R.string.web_http_ssl_message)
// .setIcon(android.R.drawable.ic_dialog_alert)
.setPositiveButton(R.string.common_ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
handler.proceed();
dialog.dismiss();
}
})
.setNegativeButton(R.string.common_cancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
handler.cancel();
// resetTitleAndRevertLockIcon();
dialog.dismiss();
}
})
.create().show();
} else {
handler.proceed();
}
}
测试网站