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 是指证书库的密码。

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


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

 

目录
相关文章
|
网络协议 网络安全
acme.sh从 letsencrypt 生成SSL免费证书并自动更新证书
acme.sh从 letsencrypt 生成SSL免费证书并自动更新证书
1240 0
|
应用服务中间件 Linux API
acme.sh 快速实现 https 证书颁发与自动续期
借助acem.sh来迅速实现 let's encrypt 的泛域名 ssl 证书颁发与续期,基本上五分钟就可以解决战斗
2131 0
|
安全 网络协议 API
Docker搭建Let's Encrypt并连接阿里云自动签发https证书
Docker搭建Let's Encrypt并连接阿里云自动签发https证书
Docker搭建Let's Encrypt并连接阿里云自动签发https证书
|
8月前
|
域名解析 安全 网络协议
如何获得免费的 SSL 证书?(真实有效)
俗话说“工欲善其事,必先利其器”,SSL证书作为保护网站数据传输安全的重要部分,我们在申请、签发、部署安装SSL证书的时候,可能会涉及到CSR文件生成、获取证书链、转换证书格式等需求,这时候有对应的工具就可提高工作效率。下面这几款SSL证书实用工具,不仅可在线使用,而且全都免费!
112 0
|
网络安全
《阿里云产品手册2022-2023 版》——数字证书管理服务(原 SSL 证书)
《阿里云产品手册2022-2023 版》——数字证书管理服务(原 SSL 证书)
105 0
|
域名解析 安全 网络协议
Digicert DV证书SSL手把手配置教学,开启你网站安全访问
Digicert DV证书SSL手把手配置教学,开启你网站安全访问,浏览器网站显示安全访问。
388 0
|
tengine Ubuntu 应用服务中间件
【有图】大厂超详细阿里云——安装PFX格式证书【SSL认证】教程流出
【有图】大厂超详细阿里云——安装PFX格式证书【SSL认证】教程流出
256 0
【有图】大厂超详细阿里云——安装PFX格式证书【SSL认证】教程流出
|
应用服务中间件 网络安全 Apache
SSL 数字证书-Tomcat 证书配置部署|学习笔记
快速学习 SSL 数字证书-Tomcat 证书配置部署
160 0
|
网络安全 Apache 开发者
SSL 数字证书-Apache 证书配置部署|学习笔记
快速学习 SSL 数字证书-Apache 证书配置部署
145 0
|
安全 Cloud Native Java
【笔记】用户指南—账号和安全—设置SSL加密
为了提高链路安全性,您可以启用SSL(Secure Sockets Layer)加密,并安装SSL CA证书到需要的应用服务。SSL在传输层对网络连接进行加密,能提升通信数据的安全性和完整性,但会同时增加网络连接响应时间。
192 0
【笔记】用户指南—账号和安全—设置SSL加密