CAS单点登录2--证书生成

来源:互联网 发布:轨道交通大数据平台 编辑:程序博客网 时间:2024/05/01 09:18

生成证书

 证书对于实现此单点登录非常之重要,证书是服务器端和客户端安全通信的凭证,本教程只是演示,所有用了

JDK自带的证书生成工具keytool。当然在实际项目中你可以到专门的证书认证中心购买证书。

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

1、用JDK自带的keytool生成证书 copy

  1. 命令:keytool -genkey -alias  smalllove -keyalg RSA -keystore D:/keys/smallkey  
                   此命令是生成一个证书,其中 smalllove 是证书别名

     此命令的执行如图所示:

                    

                      其中名字与姓氏这一最好写你的 域名,在C:\Windows\System32\drivers\etc\hosts文件中映射一个虚拟域名,127.0.0.1 sso..com 

              注意不要写IP。

           2、导出证书 copy

  1. 命令:C:\>keytool -export -file d:/keys/small.crt -alias smalllove -keystore d:/keys/smallkey  
                如图:

                      

               密码为上步设置的密码。

           3、把证书导入到客户端JDK中。 copy

  1. 命令:keytool -import -keystore C:\Java\jdk1.6.0_21\lib\security\cacerts -file D:/keys/small.crt -alias smalllove  
           此命令是把证书导入到JDK中。

           如图:

            

          到此证书导入成功。

         

可能出现的错误:

 copy

  1. C:\>keytool -import -keystore C:\Java\jdk1.6.0_21\lib\security\cacerts -file D:/keys/small.crt -alias smalllove  
  2.    输入keystore密码:  
  3.  keytool错误: java.io.IOException: Keystore was tampered with, or password was incorrect  

 解决方法是,把%JAVA_HOME%\lib\security下的cacerts文件删除掉,在执行。

常见命令:

1.显示证书库中的证书使用如下命令: 
keytool -list -keystore C:\Program Files\Java\jdk1.6.0\jre\lib\security\cacerts
2.删除tomcat 别名的证书
keytool -delete -alias tomcat -keystore C:\Program Files\Java\jdk1.6.0\jre\lib\security\cacerts

3.显示证书库中的证书使用如下命令: keytool -list -keystore D:/keystore/test 将显示 D:/keystore/test 证书库的的所有证书列表:
将证书导出到证书文件
4.使用命令:keytool -export -alias Tomcat -file D:/keystore/TC.cer -keystore D:/keystore/test 

将把证书库D:/keystore/test 中的别名为 Tomcat 的证书导出到 TC.cer 证书文件中,它包含证书主体的信息及证书的公钥,不包括私钥,可以公开。
导出的证书文件是以二进制编码文件,无法用文本编辑器正确显示,可以加上 -rfc参数以一种可打印的编者编码输出。 如: 
keytool -export -alias Tomcat -file D:/keystore/TC.cer -keystore D:/keystore/test –rfc
5.通过证书文件查看证书的信息
通过命令: keytool -printcert -file D:/keystore/TC.cer 可以查看证书文件的信息。 也可以在 Windows 资源管理器中双击产生的证书文件直接查看。
6.证书条目的删除keytool的命令行参数 -delete 可以删除密钥库中的条目,如: keytool -delete -alias Tomcat -keystore D:/keystore/test,这条命令将 D:/keystore/test 库中的 Tomcat 这一条证书删除了。
7.证书条目口令的修改使用 -keypasswd 参数,如:keytool -keypasswd -alias Tomcat -keystore D:/keystore/test,可以以交互的方式修改 D:/keystore/test 证书库中的条目为 Tomcat 的证书。 
Keytool -keypasswd -alias Tomcat -keypass oldpasswd -new newpasswd -storepass storepasswd -keystore D:/keystore/test 这一行命令以非交互式的方式修改库中别名为 Tomcat 的证书的密码为新密码 newpasswd,行中的 oldpasswd 是指该条证书的原密码, storepasswd 是指证书库的密码。


0 0
原创粉丝点击