开发者社区> bitree1> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bitree1/article/details/55049446 生成证书    证书对于实现此单点登录非常之重要,证书是服务器端和客户端安全通信的凭证,本教程只是演示,所有用了 JDK自带的证书生成工具keytool。
+关注继续查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bitree1/article/details/55049446

生成证书

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

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

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

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

命令:keytool -genkey -alias  smalllove -keyalg RSA -keystore D:/keys/smallkey  

 c此命令是生成一个证书,其中 smalllove 是证书别名

   此命令的执行如图所示:

                    

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

    注意不要写IP。

   2、导出证书 cop 

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

   如图:

                      

   密码为上步设置的密码。

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

<a data-cke-saved-href="http://blog.csdn.net/small_love/article/details/6664831#" href="http://blog.csdn.net/small_love/article/details/6664831#" class="CopyToClipboard">命令:keytool -import -keystore C:\Java\jdk1.6.0_21\lib\security\cacerts -file D:/keys/small.crt -alias smalllove  </a>

 

命令:keytool -import -keystore C:\Java\jdk1.6.0_21\lib\security\cacerts -file D:/keys/small.crt -alias smalllove  

    此命令是把证书导入到JDK中。

     如图:

            

 到此证书导入成功。       

 可能出现的错误:

C:\>keytool -import -keystore C:\Java\jdk1.6.0_21\lib\security\cacerts -file D:/keys/small.crt -alias smalllove  
   输入keystore密码:  
 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 是指证书库的密码。

将不定期更新资源,欢迎持续关注


想获得更多的学习知识请关注微信公众号:西北码农或扫下方二维码

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云Linx服务器为网站设置SSL安全证书
宝塔面板配置网站SSL安全证书(支持https访问)
0 0
acme.sh 快速实现 https 证书颁发与自动续期
借助acem.sh来迅速实现 let's encrypt 的泛域名 ssl 证书颁发与续期,基本上五分钟就可以解决战斗
0 0
基于 TrueLicense 的项目证书验证
基于 TrueLicense 的项目证书验证
0 0
基于 Confluence 6 数据中心的 SAML 单点登录设置 SSL/TLS
请确定 SAML 授权是安全和私有的,你需要在你的应用程序中设置SSL/TLS。 请参考in the application. See Running Confluence Over SSL or HTTPS 页面中的内容。
831 0
轻松把玩HttpClient之配置ssl,采用设置信任自签名证书实现https
在上篇文章《HttpClient配置ssl实现https简单示例——绕过证书验证》中简单分享了一下如何绕过证书验证。如果你想用httpclient访问一个网站,但是对方的证书没有通过ca认证或者其他问题导致证书不被信任,比如12306的证书就是这样的。
1206 0
[解决办法]已经安装了数字证书,但是谷歌浏览器登录https协议的web系统时仍然提示证书不受信任
已经安装了数字证书,但是谷歌浏览器登录https协议的web系统时仍然提示证书不受信任。如下图: 解决办法: 1.单击Chrome浏览器右侧设置菜单,选择“设置”。 2.拖至页面下方,单击“显示高级设置”。
2488 0
+关注
bitree1
沉迷于JAVA软件开发不可自拔
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载