Java自签名https证书

HTTPS搭建方案

一、 操作步骤

进入jdk的安装目录,切换到bin目录下,然后按顺序执行如下的命令
1、 创建一个密钥库server(服务器端密钥库) localhost配置

keytool -genkey -dname "CN=XX.XX.XX.XX,OU=ChinaMobile,O=ChinaMobile,L=HZ, ST=zhejiang, C=CN" -alias server -keyalg RSA -keystore /home/cxb/credential/server.jks -keypass xxx -storepass xxx -validity 36500

2、 导出自己创建的密钥库server别名server的证书为www.my.com.cer (服务器端证书)

keytool -export -alias server -file /home/cxb/credential/server.cer -keystore /home/cxb/credential/server.jks -storepass xxx

3、 创建一个密钥库client(客户端密钥库)

keytool -genkey -dname "CN=client, OU= , O= , L=HZ, ST=zhejiang, C=CN" -alias client -keyalg RSA -keystore /home/cxb/credential/client.jks -keypass xxx -storepass xxx -validity 36500

4、 导出自己创建的密钥库client别名client的证书为client.cer(客户端证书)

keytool -export -alias client -file /home/cxb/credential/client.cer -keystore /home/cxb/credential/client.jks -storepass xxx

5、 通过JAVA程序进行证书签名(签发者是密钥库client.jks中的client条目,待签发者是server.cer。程序会产生一个新的密钥库newserver新密钥hiifit;别名是signedserver )

Java实现

6、 导出密钥库newserver中的别名为signedserver为证书newserver.cer

keytool -export -file /home/cxb/credential/newserver.cer -keystore /home/cxb/credential/newserver.jks -storepass xxx -alias signedserver

7、 在密钥库server.jks中引入client.cer证书(服务端信任客户端)

keytool -import -alias client -keystore /home/cxb/credential/server.jks -file /home/cxb/credential/client.cer -storepass xxx

8、 在密钥库server.jks中引入newserver.cer证书别名为server(覆盖了老的服务端证书)

keytool -import -alias server -keystore /home/cxb/credential/server.jks -file /home/cxb/credential/newserver.cer -storepass xxx

9、 把证书mytest.cer发送给客户端进行安装

双击client.cer-->点击安装证书-->下一步-->将所有证书放入下列存储区,浏览-->受信任的根证书颁发机构-->确定-->下一步-->完成-->是-->导入成功,确定-->确定;完成安装
10、tomcat配置
修改server.xml
解开<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"的注释,添加: keystoreFile="/home/cxb/credential/server.jks" keystorePass="xxx" truststoreFile="/home/cxb/credential/client.jks" truststorePass="xxx"

二、 几点说明

1、 加密原理:
数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密、解密。每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;同时设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样信息就可以安全无误地到达目的地了。通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密(一般为RSA)。
2、tomcat中clientAuth配置为true时为双向认证,false为单项验证。
单向认证,就是传输的数据加密过了,但是不会校验客户端的来源
双向认证,如果客户端浏览器没有导入客户端证书,是访问不了web系统的,找不到地址
如果只是加密,我感觉单向就行了。
如果想要用系统的人没有证书就访问不了系统的话,就采用双向
3、采用自己签发证书,可以不用去CA机构申请,因为只是内部客户端间调用。(补充:数字证书绑定了公钥、数字签名及持有者的真实身份)
4、生成的密钥仓库的后缀名有很多,比如keystore,jks或者没有后缀名都无所谓。其中,jks是一个java中的密钥管理库

三、 疑惑问题

1、 如何通过httpclient载入证书,发送请求?

keytool -import -file /home/cxb/credential/client.cer -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -alias client -storepass changeit

2、 CA机构颁发的证书的原理?(比如证书有没有加密,又是如何揭秘的。)
3、 数字签名的作用,难道仅仅是做身份辨认吗?有没有加密,如何加密解密 ?

四、 几个重要命令

查看是否导入成功:通过命令行如下

keytool -v -list -keystore “%JAVA_HOME%\jre\lib\security\cacerts” -storepass changeit
删除证书:

keytool -delete –alias server -keystore “%JAVA_HOME%\jre\lib\security\cacerts” -storepass changeit

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容