https服务器如何生成自签名证书

https网站的配置,需要密钥库文件,但密钥库文件如何生成呢?
如何让浏览器客户端信任服务器证书呢?下面来解答这两个疑问。

一、通过keytool可以生成自签名证书和服务器的密钥库文件。

1、生成服务器密钥库文件server.jks

C:>keytool -genkey -alias server -keyalg RSA -keystore server.jks -validity 3650
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
  [Unknown]:  192.168.51.6
您的组织单位名称是什么?
  [Unknown]:  00
您的组织名称是什么?
  [Unknown]:  00
您所在的城市或区域名称是什么?
  [Unknown]:  00
您所在的省/市/自治区名称是什么?
  [Unknown]:  01
该单位的双字母国家/地区代码是什么?
  [Unknown]:  CN
CN=192.168.51.6, OU=00, O=00, L=00, ST=01, C=CN是否正确?
  [否]:  Y

输入 <webserver> 的密钥口令
        (如果和密钥库口令相同, 按回车):

注意:“您的名字与姓氏是什么?”此处必须填写服务器的IP地址。

原因在上篇“https的工作原理”中提到过:“浏览器验证证书的合法性(颁发证书的机构是否合法,证书中包含的网站地址是否与正在访问的地址一致等)”

注意:该方式生成的jks文件,在chrome浏览器下访问服务器 仍有安全提示,可通过增加jks扩展参数解决,命令如下:

keytool -genkey -alias webserver -keypass 11111111 -keyalg RSA -keysize 1024 -validity 365 -keystore c:\server.jks -storepass 11111111 -ext san=ip:192.168.x.x
 

2、通过server.jks导出服务器证书server.cer
C:>keytool -export -alias server -file server.cer -keystore 192.168.51.6.jks
输入密钥库口令:
存储在文件 <192.168.51.6.cer> 中的证书


二、服务端配置秘钥库server.jks
在tomcat下,配置server.xml如下:
<Connector SSLEnabled="true"  enableLookups="true"  keystoreFile="keystore/server.jks" keystorePass="***" maxThreads="500" port="8088" 
  protocol="org.apache.coyote.http11.Http11Protocol" scheme="https" secure="true" sslProtocol="TLS" URIEncoding="UTF-8" />
此处***是密钥库口令,要与生成server.jks时输入的口令保持一致。

三、浏览器客户端导入服务器证书server.cer

双击server.cer,如下图,然后根据“安装证书”向导完成证书安装。

安装完成后,在IE浏览的“受信任的根证书颁发机构”中可以看到该证书。

注意:有的设备上会将该证书安装到“中级证书颁发机构”中,对于该情况,在server.cer的安装过程中,需要选择下安装路径。

 

 

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值