原文参考:http://www.cnblogs.com/fron/p/https-20170111.html

以下是相关的Tomcat,JDK和Windows环境:

Tomcat版本:tomcat-7.0.55

JDK版本: jdk1.6.0

目录所在的位置:

Serve的目录:D:\server\tomcat-7.0.55\

JDK的目录:D:\jdk\jdk1.6.0

1、生成服务器的密匙文件casserver.keystore

1)打开CMD切换到Serve的目录下面D:\Server\tomcat\下

2)执行:keytool -genkey -alias casserver -keypass cas123 -keyalg RSA -keystore casserver.keystore -validity 365

说明:

-alias指定别名为casserver;

-keyalg指定RSA算法;

-keypass指定私钥密码;

-keystore指定密钥文件名称为casserver.keystore;

-validity指定有效期为365天。

另外提示输入密匙库口令应与-keypass指定的cas123相同;您的名字与姓氏fron.com是CAS服务器使用的域名(不能是IP,也不能是localhost),其它项随意填。

注意:

服务器上如果有多个JDK,请确认环境变量中的JDK路径为tomcat所使用的JDK,

如果不在环境变量中,也可切换到指定JDK的bin目录下执行命令;提示的输入keystore密码应与-keypass必须与指定的相同,

否则后面tomcat启动会报IO异常(Cannot recover key)。

命令执行成功后Server目录下多出casserver.keystore文件。

3)可以看到Tomcat 下面生成casserver.keystore

2.生成服务端证书casserver.cer

1)根据上面导出的casserver.keystore文件就可以生成casserver.cer文件,只需在原来的Serve的目录下面D:\Server\tomcat\下执行:

keytool -export -alias casserver -storepass cas123 -file casserver.cer -keystore casserver.keystore

说明:

-alias指定别名为casserver;

-storepass指定私钥为liuqizhi;

-file指定导出证书的文件名为casserver.cer;

-keystore指定之前生成的密钥文件的文件名。

注意:-alias和-storepass必须为生成casserver.keystore密钥文件时所指定的别名和密码,否则证书导出失败

2)执行上面命令后发现多了casserver.cer文件

3.导入证书文件到cacerts 密钥库文件

接下来就是把上面生成的服务器的证书casserver.cer导入到cacerts密钥库文件中(后面的客户端会用到这些)

keytool -import -trustcacerts -alias casserver -storepass cas123 -file casserver.cer –keystore cacerts

命令执行成功后Server目录下多出cacerts文件。

4.服务端Tomcat配置

在制作完成密钥文件、证书文件、密钥库文件后即可进行服务端Tomcat的配置。打开$CATALINA_HOME/conf/server.xml

<!--keystoreFile 生成的安全证书的位置-->

<!--keystorePass设置安全证书的密码-->

<Connector protocol="HTTP/1.1" SSLEnabled="true"

maxThreads="150" scheme="https" secure="true"

clientAuth="false"

sslProtocol="TLS"

keystoreFile="D:\server\tomcat-7.0.55\casserver.keystore"

keystorePass="cas123"

port="443"   />

说明:

port一般为8443或443,最常用的是443端口(https默认端口),

这样https方式访问的时候可以不加端口号(如:https://sso.demo.com/cas/login);

keystoreFile为tomcat目录下的密钥文件;

keystorePass为私钥密码;truststoreFile为生成的信任文件,

如果此处不指定则默认为$JAVA_HOME/jre/lib/security/cacerts文件;其它属性默认即可。

5.生成客户端密钥库文件

单向认证的客户端配置只需生成客户端信任文件caserts即可。

首先将服务端生成的证书文件(之前生成的casserver.cer文件)复制到$JAVA_HOME/jre/lib/security下,

然后打开CMD窗口切换到$JAVA_HOME/jre/lib/security下并执行命令:

keytool -import -trustcacerts -alias casclient -storepass changeit -file casserver.cer -keystore cacerts

命令执行成功后JDK目录/jre/lib/security下多出cacerts文件。


6.客户端应用配置-----这块我感觉作者写错了,和上面服务端Tomcat的配置一样

TOMCAT修改
tomcat\conf\ server.xml 修改片断
<!--keystoreFile 生成的安全证书的位置--> 
<!--keystorePass设置安全证书的密码-->
<Connector protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false"
sslProtocol="TLS"   
keystoreFile="D:\server\tomcat-7.0.55\casserver.keystore"  
keystorePass="cas123"   
port="443"/>

7.常见配置错误

1)keytool 生成安全证书不能使用IP地址 一律使用域名
2)务必确认客户端程序使用JDK 路径正确 分清楚JDK、JRE


zimbra配置使用ad的证书,只需要crt证书即可(发给调用AD的java客户端也仅是crt证书即可)。

原文参考:https://confluence.atlassian.com/crowd/configuring-an-ssl-certificate-for-microsoft-active-directory-63504388.html

UNIX

  1. Navigate to the directory in which the Java used by JIRA is installed. If the default JAVA installation is used, then it would be

    cd $JAVA_HOME
  2. Run the command below, where server-certificate.crt is the name of the file from your directory server:

    sudo keytool -importcert -keystore ./jre/lib/security/cacerts -file server-certificate.crt
  3. keytool will prompt you for a password. The default keystore password is changeit.

  4. When prompted Trust this certificate? [no]: enter yes to confirm the key import:

    Password:
    Enter keystore password:  changeit
    Owner: CN=ad01, C=US
    Issuer: CN=ad01, C=US
    Serial number: 15563d6677a4e9e4582d8a84be683f9
    Valid from: Tue Aug 21 01:10:46 ACT 2007 until: Tue Aug 21 01:13:59 ACT 2012
    Certificate fingerprints:MD5:  D6:56:F0:23:16:E3:62:2C:6F:8A:0A:37:30:A1:84:BESHA1: 73:73:4E:A6:A0:D1:4E:F4:F3:CD:CE:BE:96:80:35:D2:B4:7C:79:C1
    Trust this certificate? [no]:  yes
    Certificate was added to keystore

You may now change 'URL' to use LDAP over SSL (i.e. ldaps://<HOSTNAME>:636/) and use the 'Secure SSL' option when connecting your application to your directory server.

cer和crt都是证书,只是格式不一样。具体参考下面的内容

证书与编码

本至上,X.509证书是一个数字文档,这个文档根据RFC 5280来编码并/或签发。

实际上,“X.509证书”经常被用来指代IETF的PKIX(Public Key Infrastructure)证书和X.509 v3 证书标准中的CRL(Certificate Revocation List)。

X509 文件扩展名

首先我们要理解文件的扩展名代表什么。DER、PEM、CRT和CER这些扩展名经常令人困惑。很多人错误地认为这些扩展名可以互相代替。尽管的确有时候有些扩展名是可以互换的,但是最好你能确定证书是如何编码的,进而正确地标识它们。正确地标识证书有助于证书的管理。

编码 (也用于扩展名)

  • .DER = 扩展名DER用于二进制DER编码的证书。这些证书也可以用CER或者CRT作为扩展名。比较合适的说法是“我有一个DER编码的证书”,而不是“我有一个DER证书”。

  • .PEM = 扩展名PEM用于ASCII(Base64)编码的各种X.509 v3 证书。文件开始由一行"—– BEGIN …“开始。

常用的扩展名

  • .CRT = 扩展名CRT用于证书。证书可以是DER编码,也可以是PEM编码。扩展名CER和CRT几乎是同义词。这种情况在各种unix/linux系统中很常见。

  • CER = CRT证书的微软型式。可以用微软的工具把CRT文件转换为CER文件(CRT和CER必须是相同编码的,DER或者PEM)。扩展名为CER的文件可以被IE识别并作为命令调用微软的cryptoAPI(具体点就是rudll32.exe cryptext.dll, CyrptExtOpenCER),进而弹出一个对话框来导入并/或查看证书内容。

  • .KEY = 扩展名KEY用于PCSK#8的公钥和私钥。这些公钥和私钥可以是DER编码或者PEM编码。

CRT文件和CER文件只有在使用相同编码的时候才可以安全地相互替代。

本文转自Tenderrain 51CTO博客,原文链接:http://blog.51cto.com/tenderrain/1964864,如需转载请自行联系原作者

java生成Https证书,及证书导入的步骤和过程相关推荐

  1. Java 生成 Https 证书

    Java 生成 Https 证书 简介 通过keytool后缀为.jks的https证书,用于调试项目使用. 实现 [生成] - 命令生成.jks文件 直接在命令行中键入下面的命令 keytool - ...

  2. java 生成https证书_java生成Https证书,及证书导入的步骤和过程

    原文参考:http://www.cnblogs.com/fron/p/https-20170111.html 以下是相关的Tomcat,JDK和Windows环境: Tomcat版本:tomcat-7 ...

  3. Linux下生成https自签名证书,解决苹果发布问题重新整理

    开心一笑 [我今天被两个人揍了.原因是--早上去买早点,在楼下看见一男的把一女的围在墙角,我正义的过去喊了一句"禽兽放开那个畜生.] 视频教程 大家好,我录制的视频<Java之优雅编程 ...

  4. java生成XML格式文件,导入MS Project生成甘特图

    公司需求需要生成如如下图所示的project甘特图,开发语言是java,网上找了很久也没有找到可以利用java生成这种甘特图的方案.退而求其次,改变需求生成可以导入project的xml文件. 首先用 ...

  5. linux生成https的pem证书

    1.创建私钥,长度是2048 openssl genrsa -out privkey.pem 2048 需要安装openssl,当前目录下会生成privkey.pem的文件 -out:生成的文件名 2 ...

  6. 生成https测试用证书

    1.生成csr文件 在线工具 生成完毕后复制csr和key文本到www.csr,www.key 文件(前缀任意起名) 2.使用openssl工具生成crt证书 Windows版工具下载 解压后 ../ ...

  7. 通过Java生成.pfx(.p12)证书文件

    private void createPfxCert() throws InvalidAlgorithmParameterException, NoSuchAlgorithmException, No ...

  8. java生成二维码并导入excel中

    需求: 将系统中的数据导出,数据中存在的网址需要处理后变成二维码,批量导出到excel中 使用开源包: 二维码生成:https://gitee.com/iherus/qrext4j excel导出:h ...

  9. java生成彩色二维码,附带中心logo

    利用java生成二维码需要导入两个jar包,前往以下网址下载即可 http://repo1.maven.org/maven2/com/google/zxing 效果图 import java.awt. ...

最新文章

  1. DCN-s4600 ssh服务登录配置:
  2. A Comprehensive Analysis of Sequence Alignment Algorithms for LongRead Sequencing
  3. python3 进度条_详细介绍Python进度条tqdm的使用
  4. spring18:aop介绍
  5. 关于Scrum中sprint的规模估算的对话
  6. 下列不属于计算机图形学的应用的是,《数字图形设计》题目与答案3
  7. ruby on rails 站点
  8. richtextbox自动滚动到最下面_自动滚动式连续真空包装机简介
  9. Guice 学习(六)使用Provider注入服务( Provider Inject Service)
  10. Sikuli -- 创新的图形化编程技术
  11. 老司机 iOS 周报 #23 | 2018-06-18
  12. HTML5方式使用freeswitch——VERTO模块
  13. Glide在github上的jar包下载方法
  14. mysql 存微信表情_MySQL保存 emoji 表情(微信昵称表情)
  15. python写文件格式转换程序_有趣的python小程序——图片格式转换
  16. 忘记压缩包密码 python 暴力破解rar密码
  17. 学习笔记10-Python图像批量处理(对比度、灰度)-内含代码可实现
  18. 亚马逊领导力准则14条
  19. Dubbo——服务暴露的实现原理
  20. window跳转,重定向

热门文章

  1. 119. Pascal's Triangle II (Graph; WFS)
  2. Android加载大图片(压缩)
  3. Nagios 安装配置
  4. Java 集合系列(三)Collection 接口
  5. Linux内存buffer和cache的区别
  6. 【数据结构】栈的压入、弹出序列
  7. Cygwin运行nutch报错:Failed to set permissions of path
  8. linux resouce,platform_device和platform_driver驱动的关系
  9. python执行外部命令或URL
  10. 湖南大学超级计算机中心 舒教授,湖南大学岳麓书院哲学系舒远招教授应邀来我院讲学...