android webview单向认证,android 让webview支持自签名证书https 双向认证(SSL)

  • Post author:
  • Post category:其他


最近完成一个项目,安全级别比较高。所以涉及到https双向认证,在网上找了很多资料都没有完美的解决方案。最后参考了org.sandrob.sslexample的实现方式,结合实际情况才完成该技术难题,现在分享一下我的实现方案来弥补这方面的空白。

正文:

1.android 4.0(不包含)以下版本的实现方法:

1.1 书写认证

private SSLContext createSSLContext() {

SSLContext localSSLContext = null;

try {

// 创建一个证书库,并将证书导入证书库

KeyStore keyStore = KeyStore.getInstance(“PKCS12”, “BC”);

keyStore.load(

mContext.getResources().openRawResource(R.raw.client),//client 是*.pfx文件

CERTFILE_PASSWORD.toCharArray());//CERTFILE_PASSWORD 为你的证书的密码

KeyManagerFactory localKeyManagerFactory = KeyManagerFactory

.getInstance(KeyManagerFactory.getDefaultAlgorithm());

localKeyManagerFactory.init(keyStore,

CERTFILE_PASSWORD.toCharArray());

KeyManager[] arrayOfKeyManager = localKeyManagerFactory