Let's Encrypt:初次使用免费的ssl证书,并生成java用的 jks(keystore) 文件
现在都流行 https,今天晚上花了二个小时,学习了一下,这里做个学习总结:
因为刚开始接触,就使用免费的:Let's Encrypt
Let's Encrypt证书特点:
1. 现在主流的浏览器(chrome, firefox, ie)都支持 Let's Encrypt 证书。
2. 申请ssl证书简单快捷,用户名都不需要注册就能获取。
3. 免费证书有效期: 3 个月,到期后需要重新获取证书,重新安装。
我是根据 http://www.itbulu.com/ssl-for-free.html 提供的信息来操作的:
从 https://www.sslforfree.com 获取免费ssl证书。
只需简单的上传一个文件,验证一下网站的所有者就可以了。
注意:下载的文件存放在 /.well-known/acme-challenge/ 由于文件夹[.well-known]中含有一个小数点,所以在iis中需要配置一下MIME类型,否则上传的验证文件无法访问。

获取到的证书文件有3个:
ca_bundle.crt
certificate.crt
private.key
由于我是在 iis 上使用,iis 安装ssl证书需要的是一个 .pfx 文件。这需要使用 openssl.exe 生成一个 .pfx 文件。
好在我电脑上原来有一个自已编译的 openssl.exe,刚好能用上。
根据 www.sslforfree.com 的提示,执行下列命令生成 certificate_combined.pfx:
openssl pkcs12 -export -out "certificate_combined.pfx" -inkey "private.key" -in "certificate.crt" -certfile ca_bundle.crt
输入一个密码,然后再重复输入一次密码,就 生成 certificate_combined.pfx 文件了。
然后在iis上,在一个站点上点右键,查看【属性,配置服务器证书,选择【从 .pfx 文件导入证书】。
这样就完成了 http -> https 的升级。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
将 cert 和 key 文件转换成java使用的 jks(keystore)文件的方法:
1. 生成 PKCS#12 文件
openssl pkcs12 -export -in "certificate.crt" -inkey "private.key" -certfile "ca_bundle.crt" -out "qlz.p12" -name "qlz"
验证文件(测试用,这一步不重要): keytool -rfc -list -keystore qlz.p12 -storetype pkcs12
2. 生成 jks 文件 (参考: https://stackoverflow.com/questions/11952274/how-can-i-create-keystore-from-an-existing-certificate-abc-crt-and-abc-key-fil)
keytool -importkeystore -srckeystore qlz.p12 -srcstoretype PKCS12 -destkeystore qlz.jks -deststoretype JKS
完工,生成的 qlz.jks 就可以供 java 直接使用。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
需要注意的地方:
1. 如果有多个站点,其中一个开启了https,就会占用 443 端口。另一个站点如果同时想开启https,就会提示失败,因为无法开启443端口了。
查了一下相关资料,说是 iiis 6,因为使用ssl,无法读取请求的主机头(host),所以只能读取配置的第一个ssl证书,如果有多个ssl证书,就无法正确与host相匹配了。 好像说 iis8开启一个功能*SNI (Server Name Indication),就能解决这个问题。
2. 每隔3个月,证书到期一次,需要重复操作一次,更新证书。
Let's Encrypt:初次使用免费的ssl证书,并生成java用的 jks(keystore) 文件的更多相关文章
- 申请免费的SSL证书(Win7,PowerShell,Let's Encrypt)
随着网络安全形势的发展,SSL已是各大网站的标配,启用SSL的好处自然不必多说,然后每份SSL证书也要花费不菲的银子,按最便宜的DV证书来看,每年也要个四五百呢. 有趋势有需求,自然也有免费可用.免费 ...
- Let's Encrypt 免费通配符 SSL 证书申请教程——但是也需要email,域名所有权等,如果是黑产用的话会这样用吗?会不会暴露自己身份???
Let's Encrypt 免费通配符 SSL 证书申请教程 from:https://blog.csdn.net/English0523/article/details/79608464 2018 ...
- 使用Let's Encrypt 生成免费的ssl证书的详细过程
参考连接:https://github.com/diafygi/acme-tiny 中文:https://hacpai.com/article/1487899289204 目前我了解可以生成免费证书的 ...
- 转载免费的SSL证书
目前我知道的有2种方式进行免费的SSL证书的获取 第一种:腾讯云申请 第二种:Let's Encrypt (国外在) 我一直使用第一种,还可以,有效期1年. 以下转载第二种: 实战申请Let's En ...
- 使用acme.sh自动申请、续期、部署免费的SSL证书
参考文档:https://github.com/acmesh-official/acme.sh 一个使用纯shell操作的免费SSL证书申请部署工具. 免费的SSL证书由以下CA机构提供: ZeroS ...
- 【原创】免费申请SSL证书【用于HTTPS,即是把网站从HTTP改为HTTPS,加密传输数据,保护敏感数据】
今天公司有个网站需要改用https访问,所以就用到SSL证书.由于沃通(以前我是在这里申请的)暂停了免费的SSL证书之后,其网站推荐了新的一个网站来申请证书,所以,今天因为刚好又要申请一个证书,所以, ...
- startssl,免费的ssl证书申请及注意事项
免费的ssl证书,https://www.startssl.com/ 安装到IIS和Nginx有所不同.原文 http://blog.newnaw.com/?p=1232 ------------转自 ...
- 阿里云免费购买SSL证书,nginx无缝升级https
最近在升级交流学习社区,觉得有必要升级成https.以下是自己在升级中记录. 以下包括以下部分: 一.阿里云免费购买SSL证书 1.自己在阿里云申请了免费的,然后自己支付0元,购买了SSL证书 2.我 ...
- 免费的SSL证书(LINUX)
贫穷限制了我的SSL. 说起来也简单,免费的SSL证书授权机构,我使用的是Certbot 选择服务器开启的服务,像我php之流,无非apache和nginx,然后选择使用的服务器类型.嗯,补充一句,这 ...
随机推荐
- 莫烦theano学习自修第六天【回归】
1. 代码实现 from __future__ import print_function import theano import theano.tensor as T import numpy a ...
- 工程师常犯的web后台界面用户体验错误
- lr分布式测试--笔记
LR 架构: controller做测试控制 scenario做测试场景的控制 vuser模拟用户和 load generator做负载产生 通过MI listener 跨防火墙监听 来实现分布式测试 ...
- MyISAM索引和InnoDB索引的区别
首先你要知道: 无论是Myisam和Innodb引擎,如果在建表的时候没有显示的定义一行主键列的话,他内部都会自动创建一个隐藏的主键索引: 主键索引以外的索引假设称为次索引:首先Myisam和Inno ...
- Linux 下 解压zip文件出现乱码
网上下载了一个文件,鼠标右键提取出来发现中文文件名全部乱码: 打开命令行 unzip -h 可以看到 -O 参数 制定编码解压: 比如: unzip -O CP936 xxx.zip
- webpack 配置 publicPath的理解
在学习webpack的时候,配置文件中有一个publicPath属性,一直不是很明白它到底是怎么用,也查了很多资料,得到最多的说法是当打包的时候,webpack会在静态文件路径前面添加publicPa ...
- hdu-6165(tarjan+topusort)
题意:一个有向图,无自环,无重边,让你判断这个图内的任意两点是否有路: 解题思路:首先,判断两个点是否可达一般用出入度来判断,如果在拓扑排序中同时有两个及以上入度同时为零的点,那么,这些入度的为零的点 ...
- 彻底弄懂 HTTP 缓存机制及原理 | 干货
来源:www.cnblogs.com/chenqf/p/6386163.html 前言 Http 缓存机制作为 web 性能优化的重要手段,对于从事 Web 开发的同学们来说,应该是知识体系库中的一个 ...
- P1140 相似基因 最长公共子序列
思路 类似于最长公共子序列 把一段基因和另外一段基因匹配 不够长的用空基因替换 #include<bits/stdc++.h> using namespace std; const in ...
- WePY | 小程序组件化开发框架
资源连接: WePY | 小程序组件化开发框架 WePYAWESOME 微信小程序wepy开发资源汇总 文档 GITHUB weui WebStorm/PhpStorm 配置识别 *.wpy 文件代码 ...