首页
时间轴
统计
壁纸
留言
友邻
关于
推荐
每日新闻
网易云音乐
抖音无水印
小米步数
网站seo优化
网站监测器
文章伪原创
前端配色表
多编码转换
JSON解析
IP属地查询
IP端口扫描
在线测速网
在线集五福
精美壁纸
采集图片
蜜语星球
CF图标点亮
查QQ群数量
QQ邮箱
取QQSkey
取百度key
取微博key
Search
1
教你如何把Waves效果器完整的卸载干净
2,449 阅读
2
123云盘直链带密码解析源码
1,040 阅读
3
2023新版QQ工具箱全开源
790 阅读
4
2023新版API接口管理系统v1.3全开源
757 阅读
5
个人新拟态主页UI5.0全开源
577 阅读
技术文章
程序代码
实用软件
声卡效果
登录
/
注册
Search
标签搜索
咔咔云
PHP
技术文章
PHP代码
API
QQ技术
网站程序
绿色软件
易语言源码
网络攻防
图床源码
授权程序
网站优化
声卡效果
SEO优化
计算机常识
Windows
GitHub
typecho
网站美化
咔咔云
技术交流群
累计撰写
53
篇文章
累计收到
1
条评论
首页
栏目
技术文章
程序代码
实用软件
声卡效果
页面
时间轴
统计
壁纸
留言
友邻
关于
推荐
每日新闻
网易云音乐
抖音无水印
小米步数
网站seo优化
网站监测器
文章伪原创
前端配色表
多编码转换
JSON解析
IP属地查询
IP端口扫描
在线测速网
在线集五福
精美壁纸
采集图片
蜜语星球
CF图标点亮
查QQ群数量
QQ邮箱
取QQSkey
取百度key
取微博key
用户登录
登录
注册
搜索到
1
篇与
的结果
2022-10-29
什么是SSL自签名证书
一、概念1.1、TLS传输层安全协议Transport Layer Security作为SSL协议的继承者,成为下一代网络安全性和数据完整性安全协议。1.2、SSL安全套接字层Secure Socket Layer位于TCP/IP中的网络传输层,作为网络通讯提供安全以及数据完整性的一种安全协议。1.3、HTTPSHTTP+SSL(secure socket layer)/TLS(Transport Layer Security)协议,HTTPS协议为数字证书提供了最佳的应用环境。1.4、OpenSSL相当于SSL的一个实现,如果把SSL规范看成OO中的接口,那么OpenSSL则认为是接口的实现。接口规范本身是安全没问题的,但是具体实现可能会有不完善的地方,比如之前的"心脏出血"漏洞,就是OpenSSL中的一个bug.1.5、CA数字证书颁发认证机构Certification authority包含多种密码学算法:消息摘要算法:MD5、和SHA(对数字证书本省做摘要处理,用于验证数据完整性服务器) 对称加密算法:RC2、RC4、IDEA、DES、AES(对数据进行加密/解密操作,用于保证数据保密性服务) 非对称加密算法:RSA、DH(对数据进行加密/解密操作,用于保证数据保密性服务) 数字签名算法:RSA、DSA(对数据进行签名/验证操作,保证数据的完整性和抗否认性)。1.6、KEY通常指私钥1.7、CSRCertificate Signing Request的缩写,即证书签名请求,这不是证书,可以简单理解成公钥,生成证书时要把这个提交给权威的证书颁发机构。1.8、CRTcertificate的缩写,即证书。1.9、X.509一种证书格式.对X.509证书来说,认证者总是CA或由CA指定的人,一份X.509证书是一些标准字段的集合,这些字段包含有关用户或设备及其相应公钥的信息。X.509的证书文件,一般以.crt结尾,根据该文件的内容编码格式,可以分为以下二种格式:PEM - Privacy Enhanced Mail,打开看文本格式,以"-----BEGIN…"开头, "-----END…"结尾,内容是BASE64编码. Apache和*NIX服务器偏向于使用这种编码格式. DER - Distinguished Encoding Rules,打开看是二进制格式,不可读.Java和Windows服务器偏向于使用这种编码格式二、证书签发过程这里使用证书工具OpenSSL: Win64OpenSSL_Light-3_0_0.exe安装后进入安装bin目录,进入命令行操作(或者配置环境变量进行命令行操作) 2.1、证书申请流程2.2、申请者准备csr、key生成key:openssl genrsa -out D:\keys\cloudweb.key 4096生成csr:openssl req -new -sha256 -out D:\keys\cloudweb.csr -key D:\keys\cloudweb.key -config ssl.conf 其中包含配置文件ssl.conf:[ req ] default_bits = 4096 distinguished_name = req_distinguished_name req_extensions = req_ext [ req_distinguished_name ] countryName = Country Name (2 letter code) countryName_default = cn stateOrProvinceName = State or Province Name (full name) stateOrProvinceName_default = sc localityName = Locality Name (eg, city) localityName_default = cd organizationName = Organization Name (eg, company) organizationName_default = my organizationalUnitName = Organizational Unit Name (eg, section) organizationalUnitName_default = as commonName = Common Name (e.g. server FQDN or YOUR name) commonName_max = 64 commonName_default = www.baidu.com [ req_ext ] subjectAltName = @alt_names [alt_names] IP.1 = 192.168.11.112 DNS.1 = www.baidu.com DNS.2 = map.baidu.com查看csr:openssl req -text -noout -verify -in D:\keys\cloudweb.csr 2.3、CA机构为申请者生成crtCA机构得到申请者csr和相关申请、线上线下验证申请者信息,为申请者制作证书。证书中签名:使用申请者公开信息计算得到摘要,并使用CA的私钥进行加密得到签名。生成crt:openssl x509 -req -days 3650 -in D:\keys\cloudweb.csr -signkey D:\keys\cagroup.key -out D:\keys\cloudweb.crt -extensions req_ext -extfile cassl.conf特别说明:如果cagroup.key就是cloudweb.key,cassl.conf就是ssl.conf,那么此时就是自己给自己签发证书,即自签名证书。查看crt:openssl x509 -in D:\keys\cloudweb.crt -text -noout {collapse}{collapse-item label="注意事项:" close}1.申请证书不需要提供私钥,确保私钥永远只能服务器掌握2.证书=公钥+申请者与颁发者信息+签名{/collapse-item}{/collapse}三、HTTPS请求3.1、单向证书过程3.2、nginx服务器配置1.服务器需要安装SSL模块./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_modulemake2.nginx.conf配置文件中修改如下:server { listen 443 ssl; server_name www.kkjsz.cn; #需要访问的域名,不用加https ssl on; ssl_certificate D://keys//kkjsz.crt; #这里是ssl crt文件存放的绝对路径 ssl_certificate_key D://keys//kkjsz.key; #这里是ssl key文件存放的绝对路径 ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { proxy_pass http://192.168.6.45:8343/; #跳转路径 } } server { listen 80; server_name www.kkjsz.cn; rewrite ^(.*)$ https://$host$1 permanent; } 3.3、Tomcat服务器配置修改server.xml文件,Service节点下添加:<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="true" sslProtocol="TLS" keystoreFile="D:\keys\kkjsz.crt" truststoreFile="D:\keys\kkjsz.keystore" truststorePass="jsonkk@123" />{collapse}{collapse-item label="属性说明:" close}clientAuth:设置是否双向验证,默认为false,设置为true代表双向验证keystoreFile:服务器证书文件路径truststoreFile:用来验证客户端证书的根证书,此例中就是服务器证书truststorePass:根证书密码{/collapse-item}{/collapse}最后:要访问https请求 需要访问8443端口,访问http请求则访问Tomcat默认端口(你自己设置的端口,默认8080)即可。3.4、浏览器安装CA证书如果是公认的CA机构,那么浏览器一般已经安装好了证书。如果是自签名证书,需要自己手动安装CA证书到受信任的根证书颁发机构。安装步骤如下: 之前咔咔云站长也给大家分享过 《ssl证书自签PHP源码》 ,大家可以去看看。
2022年10月29日
277 阅读
0 评论
0 点赞
首页
复制
搜索
前进
后退
重载网页
SEO优化
关于站长