2016 - 2024

感恩一路有你

在线生成jks密钥 jdk证书生成原理?

浏览量:2794 时间:2023-04-27 13:28:17 作者:采采

jdk证书生成原理?

Tomcat服务器配置https分流认证,不使用JDK的keytool生成证书(可以参照于web、安卓、IOS)

一、原理

:平时浏览网页时候使用的一种协议。HTTP协议传输的数据也是未加密的(明文),而使用HTTP协议传输隐私信息太不安全。

:目的是只要隐私数据能加密传输,区分SSL/TLS协议应用于对HTTP协议传输的数据参与加密,也就是HTTPS。

二、只能证明

1.原因:因有些情况可以使用到HTTPS也就是SSL证书验证验证以便加密信息,因为不使用证书

2.中,选择性:自签付费,不需要金额,CA的收费1月和7月都要掏钱的,具体详细多少是没有了解

3.途径:有多种,本人找不到了两种,一个的本篇文章记叙的JDK那个软件的。,还有一个一个是OPENSSL可以不做的。这里不体现了什么出来。

4.生成环境与工具:windows.jdk1.8,tomcat8

三、步骤

1.服务器证书

1.1进入到到jdk中jre目录控制台中;

可以不在jre文件中首先按住shift鼠标右键然后打开控制台命令

或则cmd发出命令cdC:ProgramFilesJavajre1.8.0_91in

1.2.按照certutil下命令生成服务端证书(库)

pkcs12-genkey-v-aliasserver-keyalgRSA-keystore-validity36500

参数那说明::将名为的证书保存到到G盘目录下

-validity36500:证书有效期,36500来表示100年,默认值是90天

server:下拉菜单证书名称

在这里插入图片描述

然后输入密钥库口令:keystore密码(举例使用123456)此密码是隐式性的,因为看不到

您的名字与姓氏是什么:前提是是TOMCAT部署主机的域名或者IP[如:或是1192.168.0.1](是你将来要在浏览器中然后输入的访问地址),

否则不浏览器会弹出来警告窗口,总是显示用户证书与的地方域不看操作。在本地做开发测试出来时,应最后输入“localhost”。

其他的也可以很随意地填写好目前就没会出现什么尤其情况

输入的密钥口令:再回车.

2.客户端证书

2.1证书格式肯定是PKCS12,以及jks模式。这第一个P12证书是给浏览器和IOS客户端验证带的,而安卓没法用keystore的密码库因此要生成jks然后通过工具装换成bks。

2.1.1以下是加工生产安卓端所带的jks文件

jarsigner-genkeypair-aliasclient-keyalgRSA-validity36500-keypass123456-storepass123456-keystoreG:client.jks

在这里插入图片描述

其中:-keypass123456它表示密码是123456(转换成时是需要要用)其他的同上。

2.1.2化合p12文件

certutil-genkey-v-aliasmykey-keyalgRSA-storetypePKCS12-keystoreG:mykey.p12

在这里插入图片描述

去相关信息同上,密码这边举例是123456

3.让服务器无条件的信任客户端证书

3.1因此又不能真接将PKCS12格式以及jks格式的的证书库导出,要先把客户端证书导出为一个分开来的CER文件,在用:命令:(下面要会用到客户端证书密码“123456”)

P12生成cer

jks生成cer

3.2将证书再导入到服务器的证书库中

p12转换的cer再导入到server库中

jarsigner-import-v-fileG:mykey.cer-keystore

将jks可以转换的cer导入到到server库中

keytool-import-v-aliasclient-fileG:client.cer-keystore-storepass123456

4.上下行验证

的原因是分流SSL认证,客户端也要修改密保服务器证书。把服务器证书文件导出为一个单独的CER文件能提供给客户端,不使用:命令:

pkcs12-keystore-export-aliasserver-fileG:server.cer

到此证书生成能够完成

3.证书的使用配置

3.1浏览器服务器配置

3.1.1服务器tomcat的配置

打开Tomcas根目录下的/conf/server.xml,找不到Connector port#348443#34配置段,可以修改为::

clientAuth:设置中是否需要单向修改密保,设置成为false,系统设置为true代表双向验证

keystoreFile:服务器证书文件路径

keystorePass:服务器证书密码

truststoreFile:用来修改密保客户端证书的根证书,故当中就是服务器证书

truststorePass:根证书密码

浏览器输入(证书没有配置)

3.1.2双击“mykey.p12”再导入客户端证书

再一次建议使用浏览器访问服务端,浏览器只会我们选择类型在用的证书。

3.1.3.导入到服务器公钥证书(server.cer)

由于是自签名的证书,为以免每次来都总是显示不放心。这里左键双击server.cer完全安装服务器证书。

尽量:将证书添写到“受无条件的信任的根证书颁发机构”

在这里插入图片具体解释

再度重新访问网络服务器,会才发现也没不不会有危险的显示了,而浏览器地址栏上也有个“锁”图标,意思是本次会话早就实际HTTPS分流验证验证。

3.2IOS配置

直接把P12文件包括sever.cer文件给IOS开发人员就行了

3.3android配置利用Portecle1.9

是需要把jks装换成bks让安卓能能识别验证步骤万分感谢:

1.右击运行portecle.jar

在这里插入图片描述

此处键入的密码就是你能生成的bks文件时所用的密码(123456)

在这里插入图片具体解释

接着生成bks文件

生成气体BKS

这个密码是你给安卓人员的他们要解析这个证书得用洗技能(123456)

在这里插入图片具体描述

之后电脑提示SUCCESSFUL它表示成功了

在这里插入图片描述

**重点:**由于生成生最终后要一直保持的,文件名你必须加.bks结尾否则就再生成气体了文件了,安卓识别不了

在这里插入图片描述

此时把.bks文件和sever.cer文件给安卓开发人员

后来满tomcat7走https

然后打开Tomcat直接安装目录中conf/web.xml文件,在最后面算上以下内容即可

CLIENT-CERTClient Cert Users-onlyArea

SSL

/*

CONFIDENTIAL

四、其他咨询说明

建议使用工具转换一次时会报无比这是是因为要是密钥为0128,会抛出Illegalkeysize极其.是因为密钥长度是受限制的,java运行时环境读到的是上不了线的policy文件.文件中部${java_home}/jre/lib/security,这种限制是是因为美国对软件出口的控制

解决方案:去官方上网下载JCE无限制权限策略文件。

jks是什么意思?

JKS是“JavaKeyStore”的缩写,是Java语言开发的一种密钥库格式,它包含了证书和私钥,也可以用来加密、认证和签署协议数字信息。

证书 文件 服务器 密码 图片

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。