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,然后选择使用的服务器类型.嗯,补充一句,这 ...
随机推荐
- java中的a++与++a的区别
++a:如果++在前就会先把a+1. a++:如果++在后就会先a然后在执行++的操作.代码: int a = 1; System.out.pritln(++a); //输出2 int s = 1; ...
- Python魔法方法(magic method)细解几个常用魔法方法(下)
接上文,再介绍最后几个常用的魔法方法. 关于__dict__: 先上个例子: class Test(object): fly = True def __init__(self, age): self. ...
- java 中 的 字节流!
package cn.zhouzhou; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...
- MySQL——安装、配置、启动服务、
1.环境变量配置 将启动连接,加入环境变量中. mysqld :启动服务端 msysql -u 用户名 -p 密码 : 启动客户端 2.windows服务:一直在运行中 E:\wupeiqi\mys ...
- replace只能输入小数
case "checkPrice": tr.find(".layui-table-edit").keyup(function () { var $input = ...
- JS 原型和闭包
原文:深入理解javascript原型和闭包(完结) JavaScript 中的难点和重要点,排除知识体系之外的 bug.本篇是学习笔记,记录个人理解. 一.一切皆对象:一切(引用类型)都是对象,对象 ...
- vpx
VPX 编辑 本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! VPX总线是VITA(VME International Trade Association, VME国际贸易协 ...
- cuda编程-卷积优化
CUDA Convolution https://www.evl.uic.edu/sjames/cs525/final.html Improve Image Processing Using GPU ...
- fiddler软件测试——Fiddler抓取https设置详解(图文)
强烈推荐(原创亲测)!!!Fiddler抓取https设置详解(图文)转 本文主要说明了自己在设置fiddler抓取https过程中所遇到的问题及解决步骤,特别是fiddler在设置证书的环节遇到的各 ...
- java中值类型与引用类型的关系
值类型:就是java的基本类型.byte.short.int.long.float.char.double.boolean 引用类型:类(class).接口(Interface).数组(Array) ...