搭建证书服务并配置Tomcat SSL服务器证书

服务器证书受到了越来越多电商企业的青睐,它不仅可以显示网站的真实性,还可以在网站用户输入密码与用户名时对这些信息进行加密,全程保护用户信息安全放心完成交易。但很多企业在购买了ssl服务器证书后一头雾水,不知道如何下手进行安装。下面就教您如何在Tomcat服务器上安装SSL证书。(内容主要来源网络搜集整理)

工具:keytool (Windows下路径:%JAVA_HOME%/bin/keytool.exe)
环境:Windows 2008 企业版、Tomcat-7.0.27、JDK1.6、IE11、Chrome

一、   搭建CA证书服务器

CA(证书颁发机构)

为了保证网络上信息的传输安全,除了在通信中采用更强的加密算法等措施外,必须建立一种信任及信任验证机制,即通信各方必须有一个可以被验证的标识,这就需要使用数字证书,证书的主体可以是用户、计算机、服务等。证书可以用于多方面,例如Web用户身份验证、web服务器身份验证、安全电子邮件等。安装证书确保望上传递信息的机密性、完整性、以及通信双方身份的真实性,从而保障网络应用的安全性。

提示:CA分为两大类,企业CA和独立CA;

企业CA的主要特征如下

1)企业CA安装时需要AD(活动目录服务支持),即计算机在活动目录中才可以。

2.当安装企业根时,对于域中的所用计算机,它都将会自动添加到受信任的根证书颁发机构的证书存储区域;

3.必须是域管理员或对AD有写权限的管理员,才能安装企业根CA;

独立CA主要以下特征

1.CA安装时不需要AD(活动目录服务)。

2 .默认情况下,发送到独立CA的所有证书申请都被设置为挂起状态,需要管理员受到颁发。这完全出于安全性的考虑,因为证书申请者的凭证还没有被独立CA验证;

在简单介绍完CA的分类后,现在开始安装证书服务;

1.  打开控制面板,选择“程序”--“打开或关闭Windows功能”,如下图所示:

2.  左侧选择“角色”,右侧选择“添加角色”,如下图所示:

3.  左侧选择“服务器角色”,勾选“Active Directory证书服务”和“Web服务器(IIS)”,然后点击“下一步”,如下图所示:

4.  继续点击下一步,如下图所示:

5.  选择角色服务,勾选“证书颁发机构”和“证书颁发机构Web注册”,会弹出“添加角色向导”界面, 点击“添加所需的角色服务”按钮,然后点击“下一步”

6.  在“指定安装类型,“企业”需要域环境,“独立”不需要域环境选择,这里由于没有域,默认选择“独立”,单击“下一步”,如下图所示:

7.  在“指定CA类型”窗口选择“根CA”,单击“下一步”,如下图所示:

8.  在“设置私钥”窗口选择“新建私钥”,单击“下一步”,如下图所示:

如果使用已有私钥,请选择“使用现有私钥”,通过证书或本机现有私钥方式创建

9.  在“为CA配置加密”窗口,选择加密服务提供程序:“RSA#Microsoft Software Key Storage Privoider”,密钥字符符长度:“2048”,选择此CA颁发的签名证书的哈希算法: SHA1,单击“下一步”按钮,如下图所示:

10.   在“配置CA名称”页中,输入此CA的公用名称,单击“下一步”按钮,如下图所示:

11.  在“设置有效期”页中,输入证书有效期,单击“下一步”按钮,如下图所示:

12.  在“配置证书数据库”页中,日志文件的保存位置,单击“下一步”按钮,如下图所示:

13.  在“Web服务器简介”页中单击“下一步”按钮,如下图所示:

14.  在“选择角色服务”页中,使用默认web服务器添加的角色服务,单击“下一步”按钮,如下图所示:

15.  单击“安装”,如下图所示:

16.  直至安装完成,点击“关闭”,完成添加角色,如下图所示:

17.  安装结束后,打开浏览器,在地址栏中输入:http://localhost/certsrv/  打开以下页面,截止到此windows 2008的证书服务,以及证书颁发服务全部安装完毕,CA证书服务器搭建完毕。

二、  向CA证书服务器申请服务器证书

在web服务器上(安装Tomcat的服务器)操作系统版本不限制, 安装Tomcat需要JDK支持,若已安装请忽略此步骤。JDK1.6默认只支持 SSLv3 和 TLSv1 两个版本的https协议,JDK 1.7 版本默认禁用SSLv3,并支持 TLSv1、TLSv1.1及TLSv1.2。Tomcat 6及以下版本在使用 JDK 1.6及以下版本的运行环境时,可能存在无法禁用 SSLv3的情况。此时建议您升级 Tomcat 及 JDK版本,或变更使用 APR模块来配置SSL证书,以确保安全方式安装及使用服务器证书(Tomcat 及Java SE Development Kit (JDK) 下载及安装略)。在“开始”—>“运行”中,输入cmd打开文本命令窗口,将目录切换到jdk或者jre中的bin下面(如c:/java/jre/bin),通过java提供的生成证书的工具keytool进行证书申请操作。

1. 生成Web服务器的证书库

在命令控制台中输入命令,生成web服务器的证书存放库:

keytool -genkey -alias server -validity 3650 -keyalg RSA -sigalg SHA256withRSA -keysize 2048 -keypass password -storepass password -dname "CN=www.csdn.net, OU=csdn, O=csdn, L=bj, ST=bj, C=CN" -keystore d:\keystore.jks

说明:

-genkey参数是建立证书库

-alias为别名,这里使用server

-keyalg为指定加密方式,这里使用常用的RSA加密方式

-sigalg 证书算法参数,目前以不推荐SHA1withRSA

-keysize 密钥长度,2048位

-keypass 私钥密码

-storepass 密钥库密码

-dname 证书主题信息,其中CN为服务器域名(www.csdn.net)或IP地址(192.168.1.111),OU为部门信息,O为单位信息,L为地市信息,ST为省,C为国家(通常为“CN”)

-keystore为指定证书库存放文件

2. 生成向CA证书服务器申请证书的文件

keytool -certreq -keyalg RSA -sigalg SHA256withRSA -alias server -file d:\server.csr -keystore d:\keystore.jks -storepass password -ext san=dns:www.csdn.net

说明:

-certreq声称申请证书文件

-keyalg 指定加密方式

-alias 证书库的别名 这里必须与上一步中建立的正数据名字相同

-file 指定生成的文件文件名称以及路径

-keystore 指定证书库

-ext 证书扩展信息,在此填写证书备用名称,可多个域名或IP地址,用逗号隔开

(如:san=dns:www.csdn.net,dns:mp.csdn.net,ip:192.168.1.111,Chrome浏览器如不填会提示警告信息)

3. 向CA申请证书

生成申请证书成功,这时候在jdk/bin目录下存在两个文件keystore.jks和server.csr,keystore.jks为刚才生成的证书库文件,server.csr为向CA认证中心申请证书的申请文件,如果向第三方CA认证中心申请证书,直接提交server.csr文件即可,但目前使用我们自己搭建的CA服务器,而windows提供的注册证书颁发服务没有提供提交文件的入口,故此:使用UE或者editPlus等工具打开server.csr文件,将文件中的内容复制出来(仅仅-----BEGIN NEW CERTIFICATE REQUEST-----和-----END NEW CERTIFICATE REQUEST-----之间的内容),然后打开浏览器,输入链接地址:http://localhost/certsrv/ 打开CA服务器的申请界面,点击“申请证书”--》“高级证书申请”

点击“使用base64编码的CMC或PKCS #10文件提交一个证书申请……”

出现以下界面

在“保存的申请”输入框中粘贴“server.csr”文件中的内容(仅仅-----BEGIN NEW CERTIFICATE REQUEST-----和-----END NEW CERTIFICATE REQUEST-----之间的内容),点击“提交”。

注:如果CA证书服务器搭建时使用的是“企业”根时,到此就结束了可以直接下载证书,但因为搭建CA证书服务器时使用的是“独立”根,所以这里需要去证书服务器手动颁发证书。

切换到CA证书服务器,打开控制面板,选择“管理工具”,找到“证书颁发机构”,打开证书管理器,管理证书的频发,如下图所示:

点击左侧“挂起的申请”,右键右侧的申请,在“所有任务”中选择“颁发”,到此为止证书颁发成功。

然后切换到web服务器,在浏览器中输入刚才申请证书的链接地址去下载证书,注意:这里将要下载2个证书,一个是CA服务器的根证书,一个是网站的CA证书

点击“下载CA证书、证书链或CRL”去下载CA服务器的根证书,点击“下载CA证书”

下载CA服务器的“根证书”,另存为ca1.cer

然后回到主页,点击“查看挂起的证书申请的状态”,看一下“保存的申请证书(日期)”日期是否是刚才申请的时间,如果是点击该链接,下载网站(系统)的CA证书

另存为“server.cer”到此,证书申请完毕。

三、  导入服务器证书

1.  查看keystore文件内容

进入JDK安装目录下的bin目录,运行keytool命令查询keystore文件信息。

keytool -list -keystore D:\keystore.jks -storepass password

 

查询到PrivateKeyEntry(或KeyEntry)属性的私钥别名(alias)为server。记住该别名,在稍后导入服务器证书时需要用到(示例中粗体部分为可自定义部分,可根据实际配置情况相应修改)。

注意,导入证书时,一定要使用生成证书请求文件时生成的keystore.jks文件。keystore.jks文件丢失或生成新的keystore.jks文件,都将无法正确导入您的服务器证书。

2.  导入CA根证书(如果有多张CA证书,则重复执行下面步骤)

keytool -import -alias ca1 -keystore D:\keystore.jks -trustcacerts -storepass password -file D:\ca1.cer -noprompt

3.  导入服务器证书(一定要注意,必须先成功导入CA根证书,再导入服务器证书)

keytool -import -alias server -keystore D:\keystore.jks -trustcacerts -storepass password -keypass password -file D:\server.cer

 

导入服务器证书时,服务器证书的别名必须和私钥别名一致。请留意导入CA证书和导入服务器证书时的提示信息,如果您在导入服务器证书时使用的别名与私钥别名不一致,将提示“认证已添加至keystore中”而不是应有的“认证回复已安装在keystore中”。

证书导入完成,运行keystool命令,再次查看keystore文件内容

keytool -list -keystore D:\keystore.jks -storepass password

 

四、  安装服务器证书

1.  配置Tomcat

复制已正确导入认证回复的keystore.jks文件到Tomcat安装目录下的conf目录。打开conf目录下的server.xml文件,找到并修改以下内容

<!--

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

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

clientAuth="false" sslProtocol="TLS" />

SSL访问端口

-->

修改为

<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"

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

clientAuth="false" sslProtocol="TLS"

keystoreFile="/conf/keystore.jks" keystorePass="password"

truststoreFile="/conf/keystore.jks" truststorePass="password" />

属性说明:
clientAuth:设置是否双向验证,默认为false,设置为true代表双向验证
keystoreFile:服务器证书文件路径
keystorePass:服务器证书密码
truststoreFile:用来验证客户端证书的根证书,此例中就是服务器证书
truststorePass:根证书密码

默认的SSL访问端口号为443,如果使用其他端口号,则您需要使用https://yourdomain:port的方式来访问您的站点。
2.  访问测试

重启Tomcat,访问https://youdomain:port,测试证书的安装。

五、  服务器证书的备份及恢复

在您成功的安装和配置了服务器证书之后,请务必依据下面的操作流程,备份好您的服务器证书,以防证书丢失给您带来不便。

1.  服务器证书的备份

备份服务器证书密钥库文件keystore.jks文件即可完成服务器证书的备份操作。

2.  服务器证书的恢复

请参照服务器证书安装部分,将服务器证书密钥库keystore.jks文件恢复到您的服务器上,并修改配置文件,恢复服务器证书的应用。

 六、 客户端证书的管理

有的时候,我们需要实现 TOMCAT+SSL 双向认证,也就是说,首先,客户端将要认证服务器的安全性,确保访问的是正确的服务器,而非假冒的钓鱼网站;其次,服务器也要认证客户端的安全性,只有那些拥有服务器授权证书的客户端才可以访问。

客户端证书的管理建议使用自信CA,使用简单方便,需要的请到下列地址下载,内含详细操作说明。

https://pan.baidu.com/s/1_bpuWRrmd8WEFwCdYr58Kg

1.  密钥备份与导入

为了保障CA密钥一致,需要将Windows 2008下配置的CA机构证书(含密钥)导出,步骤如下:

选择私钥和CA证书,选择备份路径,下一步

输入密码,下一步

完成备份

最好将备份文件(xx.p12)并导入的ZXCA中,就可以使用ZXCA颁发、管理客户端证书了。

2.  客户端证书的安装

客户端使用的证书为p12格式的文件证书,使用前需要在客户电脑进行导入,参考步骤如下:

1、Google Chrome浏览器

(1) 进入浏览器设置页面,滑到底部,点击“高级”显示高级设置

(2)点击“证书管理”右边图标

(3)选择“个人”--“导入”,进入证书导入向导

(4)点击下一步

(5)选择导入的证书文件,注意选择“个人信息交换...”或“所有文件...”选择证书即可

(6)输入密码(默认111111),其他默认,下一步

(7)默认选项,下一步

(8)点完成,提示导入成功,安装结束

2. firefox浏览器

(1)选择“菜单”--“选项”,然后“隐私与安全”--“查看证书”--“您的证书”--“导入”

(2)在弹出窗口中选择证书文件,按提示输入证书密码

(3)导入成功,证书列表中显示导入的证书信息

搭建证书服务并配置Tomcat SSL服务器证书相关推荐

  1. VeriSign扩展验证EV SSL证书–128位支持型SSL服务器证书(VeriSign Secure Site with EV)

    VeriSign扩展验证EV SSL证书–128位支持型SSL服务器证书(VeriSign Secure Site with EV) • 全球最为知名的SSL证书品牌 • 40/56/128/256 ...

  2. VeriSign扩展验证EV SSL证书——128位强制型SSL服务器证书(VeriSign Secure Site Pro with EV)...

    VeriSign扩展验证EV SSL证书--128位强制型SSL服务器证书(VeriSign Secure Site Pro with EV) • 全球最为知名的SSL证书品牌 • SGC128位强制 ...

  3. 分配服务器证书在哪,手把手教你如何申请安装ssl服务器证书

    现如今,互联网已经被普及,越来越多的用户也都开始意识到网络安全的重要性.为此更多的用户开始了解ssl证书服务,希望能借助ssl服务器证书来解决网络安全问题.目前贝锐官网已经支持免费申请开通ssl证书啦 ...

  4. VeriSign SSL服务器证书——128位支持型SSL证书(VeriSign Secure Site)_VeriSign数字证书产品...

    VeriSign SSL服务器证书--128位支持型SSL证书(VeriSign Secure Site) • 全球最为知名的SSL证书品牌 • 40/56/128/256 位自适用加密 • 支持主流 ...

  5. 如何申请服务器证书,申请域名的步骤有哪些?如何申请安装ssl服务器证书?

    申请网站域名随着科技的不断发展进入了人们的视野,申请网站域名最主要的是要选择一个正规的地方去申请.接下来就是要了解申请域名的步骤了,现在注册网站域名的网址比较多,市场上新旧域名注册商有上万家,每一家都 ...

  6. win10无法检验服务器出示的ssl证书,win10系统网站启用ssL安全证书的操作方法

    win10系统网站启用ssL安全证书的操作方法? 很多win10用户在使用电脑的时候,会发现win10系统网站启用ssL安全证书的的现象,根据小编的调查并不是所有的朋友都知道win10系统网站启用ss ...

  7. AFNetworking框架下的SSL服务器证书的自定义验证

    2019独角兽企业重金招聘Python工程师标准>>> # AFNetworking框架下的SSL服务器证书的自定义验证 ## 如何使用本地证书进行SSL验证 #### 开启SSL验 ...

  8. hbuilder在服务器端打开网页,HBuilderX配置tomcat外部服务器查看编辑jsp界面的方法详解...

    本文关键详细介绍了HBuilderX配置tomcat外界服务器查看编辑jsp界面的方式,文中根据案例文图紧密结合给大伙儿详细介绍的十分详尽,对大伙儿的学习培训或工作中具备一定的参照效仿使用价值,必须的 ...

  9. Symantec赛门铁克强制型EV SSL服务器证书

    2010年8月,赛门铁克(Symantec)收购VeriSign,VeriSign认证服务.VeriSign SSL证书.代码签名证书以及VeriSign信任签章服务现均由赛门铁克提供.作为过渡环节之 ...

  10. Symantec赛门铁克支持型SSL服务器证书_网站安全SSL数字证书认证

    2010年8月,赛门铁克(Symantec)收购VeriSign,VeriSign认证服务.VeriSign SSL证书.代码签名证书以及VeriSign信任签章服务现均由赛门铁克提供.作为过渡环节之 ...

最新文章

  1. huggingface源码地址 各种NLP处理的BERT模型源码
  2. 特征工程中的IV和WOE详解
  3. “非”天才女程序员的人生
  4. 小米手机上安装https证书(例如pem证书,crt证书)详解
  5. springbatch导出mysql数据到外部文件
  6. Java版 18w10c_xcvbn.apk 0% 的杀毒软件(0/32) 报告发现病毒 - VirSCAN.org-多引擎在线病毒扫描网 v1.02,当前支持 47 款杀毒引擎...
  7. leetcode题库53-- 最大子序和
  8. 新手项目:黑马blog (适合刚接触node和数据库MongoDB)
  9. python制作烟花特效_过大年,用Python去绽放最绚丽的烟花
  10. 轮播图背景图铺满整个div
  11. selenium弹窗处理,包括Javascript弹窗、HTML弹出层和Windows弹窗
  12. 超声波清洗机对人体有辐射,有伤害吗?
  13. 【Javaweb】【答卷】萌狼蓝天大二上学期期末Javaweb考试复习卷(一)
  14. 导出 服务器 excel文件,服务器数据库导出excel文件格式
  15. 22河师大上岸经验贴
  16. 强化学习入门笔记 | UCL silver RL | UC Berkely cs285 DRL
  17. CV——基于Stitcher类实现图片拼接
  18. 空气开关A型、B型、C型、D型的区别
  19. SEO源码自建快排系统
  20. win7有杂音----彻底解决

热门文章

  1. LINUX如何设置numlock键开机状态
  2. ORCAD原理图检查
  3. css-图片旋转木马3D效果
  4. 后台管理进程GameMaster
  5. 【软考-软件设计师精华知识点笔记】第三章 数据结构
  6. apache 二级域名设置完整步骤
  7. 小学英语之拯救小学生 V1.0 名词单复数变化规则
  8. C# 获取磁盘空间信息
  9. app应用软件开发流程是怎样的?
  10. TCP/IP协议栈扫盲班