Android HTTPS双向认证demo
1、使用Java证书工具keytool生成服务端和客户端密钥库,见doc目录下命令文件; 2、将服务端密钥库加入Tomcat,同时将客户端信任库加入Tomcat,这两个库可以是一样的,见doc目录下server.xml文件; 3、如果需要在浏览器做HTTPS双向认证,则需要将client_side.p12导入浏览器以添加服务端对客户端的信任验证,将server_side.cer导入浏览器以添加客户端对服务端的信任验证; 4、Android端只支持PKCS12类型的密钥库直接导入,但不支持JKS密钥库直接导入,且不支持PEM类型的证书(Base64编码)导入,仅支持DER编码格式证书文件,相反,普通Java程序都支持; 5、双向认证过程:客户端需要验证来自服务端发送的证书,因此需要在客户端添加服务端证书到信任库;服务端需要验证客户端发送的证书,因此也需要在服务端添加客户端证书到信任库; 6、.p12的密钥库无法导入证书,.jks的密钥库可以导入证书。