博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 创建证书
阅读量:6804 次
发布时间:2019-06-26

本文共 2329 字,大约阅读时间需要 7 分钟。

hot3.png

本文转载自:http://javacrazyer.iteye.com/blog/890699

在单点登录认证系统中,证书是非常重要的一把钥匙,客户端与服务器之间的交互安全靠的就是证书。本文章介绍的是利用JAVA JDK中自带的keytool证书生成工具来生成证书。

如果以后真正在产品环境中使用肯定要去证书提供商去购买,证书认证一般都是由VeriSign认证,

中文官方网站:http://www.verisign.com/cn/

------------------------------------------------------------------------------------------------------------------

具体的证书操作步骤大致分为三步:生成证书、导出证书、为客户端的JVM导入证书

前提:计算机上要有JDK,并且在C盘新建文件夹keys

1)生成证书

命令:keytool -genkey -alias javacrazyer -keyalg RSA -keystore c:/keys/javacrazyerkey

 

命令解释:javacrazyer表示我给证书起的别名,以方便后面导出导入证书使用,真正生成的证书文件名是javacrazyerkey

 

要给力,先上图

 上面图片中的重点就是“您的名字和姓氏是什么?”这一项,我这里写的是javacrazyer.sso.com,实际上这个域名是我为了方便操作而写的,真实情况是不存在这个域名。我是在C:\Windows\System32\drivers\etc\hosts,添加内容: 127.0.0.1 sso.wsria.com

 

 

这样在访问sso.wsria.com的时候其实是访问的127.0.0.1也就是本机

 

 

注意:这一步中输入的域名不要是IP地址

 

 

2)导出证书

命令:keytool -export -file c:/keys/javacrazyer.crt -alias javacrazyer -keystore c:/keys/javacrazyerkey

命令解释:这里表示将第一步生成的证书文件导出成真正的证书以便以后为JVM导入证书使用

给力上图

这里输入的密码是第一步创建证书时设定的密码

这时我们看看c:/keys下的文件,又多了个crt文件,也就是真正导出的证书

 

3)为客户端JVM导入证书【这一点非常重要】

命令:keytool -import -keystore "C:\Program Files\Java\jdk1.6.0_20\jre\lib\security\cacerts" -file "c:/keys/javacrazyer.crt" -alias javacrazyer

命令解释:将第二步生成的真正的证书文件导入到JDK中的证书认证文件里,要记住之所以我说是客户端JVM,关键是将来如果你在MyEclipse中用到tomcat,而tomcat的JDK正好是这个"C:\Program Files\Java\jdk1.6.0_20",那么这样的话你访问一个部署在TOMCAT上的WEB程序就是访问客户端,所以为了防止将来不出差错,一个是关键选好这个JDK导入证书,另一个就是MyEclipse中tomcat的JDK要选择同一个JDK

这里输入的密码不是第一步中设定的密码,而是默认密码:changeit

 

再一次强调:之所以反复说本步骤重要是由于将来在访问SSO程序的WEB客户端时可能会出现这样一个错误

 

 

请求https错误: unable to find valid certification path to requested target

 

 

为了避免这个错误所以本步骤一定确保正确完成,确保完成的标准是在第4步

 

4)应用证书到Web服务器-Tomcat

这一步实际上就是说要开启tomcat的SSL((Secure Sockets Layer 安全套接),也即是开启https加密协议,为什么加密?安全呗,不然中国工商银行网站进行网上银行账户操作时用https干嘛

所以设计安全性能要求非常高的网站系统必须使用https加密协议

 

言归正传,准备好一个干净的tomcat,本教程使用的apache-tomcat-6.0.29

打开tomcat目录的conf/server.xml文件,开启83和87行的注释代码,并设置keystoreFile、keystorePass修改结果如下:

Xml代码  
收藏代码
  1. <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"  
  2.              maxThreads="150" scheme="https" secure="true"  
  3.              clientAuth="false" sslProtocol="TLS"   
  4.               keystoreFile="c:/keys/javacrazyerkey"  
  5.               keystorePass="cheney"  
  6.    />  
参数解释
keystoreFile:在第一步创建的key存放位置 
keystorePass:创建证书时的密码 
好了,到此Tomcat的SSL启用完成,现在你可以启动tomcat试一下了,例如本教程输入地址:https://javacrazyer.sso.com:8443/
打开的是:
 我们要做的就是点击“继续浏览此网站(不推荐)。 ”,现在进入Tomcat目录了吧,如果是那么你又向成功迈进了一步。
 

转载于:https://my.oschina.net/zlp5201/blog/404211

你可能感兴趣的文章
迅雷发布“星域CDN” 做条颠覆市场的鲶鱼
查看>>
英国《数字经济法案》
查看>>
Asp.net与Flex交互测试记录
查看>>
运维前线:一线运维专家的运维方法、技巧与实践1.8 运维自动化依赖的团队模型...
查看>>
《树莓派渗透测试实战》——第1章 树莓派和Kali Linux基础知识
查看>>
《圣殿祭司的ASP.NET4.0专家技术手册》----1-7 HTML5与CSS3的支持
查看>>
数据结构之链表
查看>>
八年了必须放手了,我不是你妈妈
查看>>
Eric S. Raymond 五部曲
查看>>
《Ansible权威指南 》一2.7 本章小结
查看>>
《iOS编程指南》——2.4节安装iOS SDK
查看>>
Comparing Mongo DB and Couch DB
查看>>
《配置管理最佳实践》——1.6 工具的选择
查看>>
前端工程师如何快速的开发一个微信JSSDK应用
查看>>
Apache Spark源码走读(九)如何进行代码跟读&使用Intellij idea调试Spark源码
查看>>
Android应用安全开发之浅谈网页打开APP
查看>>
后退时保存表单状态
查看>>
Python简介
查看>>
泛函编程(13)-无穷数据流-Infinite Stream
查看>>
XML与HTML
查看>>