给域名配置https自签名证书

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qy_0626/article/details/86552350

本文为博主原创 转载请注明出处 尊重一下笔者的劳动成果 十分感谢 

前言

因为最近一个项目卡在了https的证书上,与合作方沟通几天仍没有解决,故而大boss让研究一下,但是本人对https配置这证书完全没有接触过,知之甚少,接到这个任务其实是一头蒙的,但是大boss扔过来一个博客链接 让我参考 配置一下https 不得不从啊 所以先按照配置来哇

正文

最开始看小程序的文档 ios不支持自签名证书,啥是自签名证书啊?我对证书的理解就是花钱买 

先说一下所谓自签名证书 就是自己给自己颁发的证书,不是权威机构颁发的 在浏览器打开的时候会提示你不安全的链接 如果是自己测试或者简单的应用还是可以自己弄的 如果是要用在微信或者其他正式对数据比较敏感的场合 建议还是去购买权威机构的证书 最差也可以云服务的免费证书 附 阿里云获取免费SSL证书 附开启阿里云端口图文详解

 开始配置自签名证书

登录你的服务器 利用jdk自带的keytool为服务器生成证书

第一步 进入jdk安装的目录 不需要进入bin目录 shift+鼠标右键 在此处打开命令窗口 

第二步 生成证书 在命令窗口执行如下命令回车 

keytool -genkey -v -alias tomcat -keyalg RSA -keystore tomcat.keystore -validity 36500

注意:此处的你的名字与姓氏不能乱写 要写你服务器的ip或者域名  密钥库的密码至少必须6个字符

按回车 可以看到打印的信息 这个时候找到你的jdk目录 可以看到生成的证书了

其中 -genkey 是生成证书   -alias tomcat 是别名 -keyalg RSA 加密方式  tomcat.keystore 是要生成的证书名称  -validity 36500 表示的是有效期 36500天=100年 其他参数说明可以在cmd中输入keytool查看 如:

第三步 为客户端生成证书 文件为p12类型的证书 

keytool -genkey -v -alias client -keyalg RSA -storetype PKCS12 -keystore client.p12 -validity 36500

 第四步 让服务器信任客户端证书 先转换客户端证书格式 转为cer文件并导出证书

keytool -export -alias client -keystore client.p12 -storetype PKCS12 -rfc -file client.cer 

 第五步 信任证书 将client.cer导入到tomcat的信任证书链中 把tomcat证书导出为tomcat.cer文件(导出根证书) 

keytool -import -alias client-v -file client.cer -keystore tomcat.keystore
keytool -export -v -alias tomcat -file tomcat.cer -keystore tomcat.keystore

第六步 以tomcat为例 配置https 

找到在tomcat 安装目录 - conf -server.xml 文件 找到被注释掉的8443 去掉注释 补充参数:

clientAuth="false" sslProtocol="TLS"   
keystoreFile="证书路径"  
keystorePass="证书密码"  

注意 http默认端口为80 https默认端口为443 如果修改https端口下面的图文说明 

下图为被注释的https的配置:

下图为https的配置:

如果配置好https不能访问 将https的配置 protocol="HTTP/1.1" 改为 protocol="org.apache.coyote.http11.Http11Protocol"  

如果是使用的阿里云的服务器 要检查一下配置的端口是否开启 如果没有开启也是访问不到的哦

猜你喜欢

转载自blog.csdn.net/qy_0626/article/details/86552350