单点登录SSO之一:建立证书

2023-05-22


证书是单点登录认证系统中非常重要的钥匙,客户端和服务器之间的交互安全取决于证书。本文分享了JAVA的应用。 自带keytool证书生成工具的JDK生成证书。


假如以后真的在商品环境中使用,一定要去证书提供商那里购买,证书认证一般都是VeriSign认证,


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


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


证书的具体操作步骤主要分为三个步骤:生成证书、导出证书、JVM导入证书给客户端。


前提:计算机需要JDK,并且在C盘新建文件夹keyss


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文档,即真正导出的证书。



为客户端提供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




为防止这一错误,所以这一步必须保证正确完成,保证完成的标准是第四步。



应用证书到Web服务器-Tomcat


这个步骤实际上意味着打开tomcatSSL。((Secure Sockets Layer 避孕套接),即打开https加密协议。为什么要加密?安全,否则中国工商银行网站在操作网银账户时为什么要使用https?


所以设计安全系数要求很高的网站系统必须使用https加密协议



言归正传,准备一份干净的tomcat,本教程使用的apachee-tomcat-6.0.29


打开conf//tomcat目录server.xml文件,打开83和87行的注释代码,并设置keystoreFileFile。、修改结果如下: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.   />





参数解释













在这里,Tomcat的SSL启用完成,现在你可以启动tomcat来尝试一下,例如本教程的输入地址:https://javacrazyer.sso.com:8443/




开启的是:







点击“继续浏览这个网站(不推荐),我们可以做到。 ",现在进入Tomcat目录吧,如果是这样的话,你又向成功迈进了一步。










本文仅代表作者观点,版权归原创者所有,如需转载请在文中注明来源及作者名字。

免责声明:本文系转载编辑文章,仅作分享之用。如分享内容、图片侵犯到您的版权或非授权发布,请及时与我们联系进行审核处理或删除,您可以发送材料至邮箱:service@tojoy.com