需求:
为了提高安全性.
某人拥有某个证书,才能进行登录.
环境:
Tomcat
设计:
采用SSL,https登录.
服务器验证证书.(貌似SSL里面自己做了验证)
读取证书信息,检查是否该对应登录人员.
实现:
1.下载openssl
编译好的openssl下载:
http://www.slproweb.com/products/Win32OpenSSL.html
2.生成证书:
参考文章http://www.ibm.com/developerworks/cn/security/se-tcssl/index.html
生成3个证书:CA证书,服务器证书,客户端证书.
3.修改tomcat的server.xml文件
4.在servlet里面读取
boolean isSecure = request.isSecure();
String certAttribute = "javax.servlet.request.X509Certificate";
X509Certificate[] certificate =
(X509Certificate[]) request.getAttribute(certAttribute);
5.添加证书:
参考文章http://www.ibm.com/developerworks/cn/security/se-tcssl/index.html
生成客户端证书.
在另一个客户端安装,客户端就可以正常访问了.
要点:
1.生成CA,服务器,客户端证书.
很混乱的关系.
问题:
1.serlet获取证书对象,
java.security.cert.X509Certificate certs = (java.security.cert.X509Certificate) request.getAttribute("javax.servlet.request.X509Certificate");
提示java.lang.ClassCastException: [Ljava.security.cert.X509Certificate
得到的数组,改成如下:
java.security.cert.X509Certificate[] certs = (java.security.cert.X509Certificate[]) request.getAttribute("javax.servlet.request.X509Certificate");
2.keytool常用命令
keytool -genkey 生成文件
改进:
1.都是手工生成客户端,怎么自动生成客户端证书.
2.SSL与JSSE的关系.
JSSE(JAVA Secure Socket Extension)
SSL (Secure Socket Layer)
JSSE provides a framework and an implementation for a Java language version of the SSL and TLS protocols.
3.IE可能导入自定义证书出问题.
4.关于密码
5.证书过期
参考文章:
配置Tomcat 4使用SSL
http://www.ibm.com/developerworks/cn/security/se-tcssl/index.html
tomcat实现SSL配置!(双向)
http://www.dedecms.com/web-art/fuwuqi/20060913/26272.html
为了提高安全性.
某人拥有某个证书,才能进行登录.
环境:
Tomcat
设计:
采用SSL,https登录.
服务器验证证书.(貌似SSL里面自己做了验证)
读取证书信息,检查是否该对应登录人员.
实现:
1.下载openssl
编译好的openssl下载:
http://www.slproweb.com/products/Win32OpenSSL.html
2.生成证书:
参考文章http://www.ibm.com/developerworks/cn/security/se-tcssl/index.html
生成3个证书:CA证书,服务器证书,客户端证书.
3.修改tomcat的server.xml文件
4.在servlet里面读取
boolean isSecure = request.isSecure();
String certAttribute = "javax.servlet.request.X509Certificate";
X509Certificate[] certificate =
(X509Certificate[]) request.getAttribute(certAttribute);
5.添加证书:
参考文章http://www.ibm.com/developerworks/cn/security/se-tcssl/index.html
生成客户端证书.
在另一个客户端安装,客户端就可以正常访问了.
要点:
1.生成CA,服务器,客户端证书.
很混乱的关系.
问题:
1.serlet获取证书对象,
java.security.cert.X509Certificate certs = (java.security.cert.X509Certificate) request.getAttribute("javax.servlet.request.X509Certificate");
提示java.lang.ClassCastException: [Ljava.security.cert.X509Certificate
得到的数组,改成如下:
java.security.cert.X509Certificate[] certs = (java.security.cert.X509Certificate[]) request.getAttribute("javax.servlet.request.X509Certificate");
2.keytool常用命令
keytool -genkey 生成文件
改进:
1.都是手工生成客户端,怎么自动生成客户端证书.
2.SSL与JSSE的关系.
JSSE(JAVA Secure Socket Extension)
SSL (Secure Socket Layer)
JSSE provides a framework and an implementation for a Java language version of the SSL and TLS protocols.
3.IE可能导入自定义证书出问题.
4.关于密码
5.证书过期
参考文章:
配置Tomcat 4使用SSL
http://www.ibm.com/developerworks/cn/security/se-tcssl/index.html
tomcat实现SSL配置!(双向)
http://www.dedecms.com/web-art/fuwuqi/20060913/26272.html