首页
时间轴
统计
壁纸
留言
友邻
关于
推荐
每日新闻
网易云音乐
VIP影院
小米步数
网站seo优化
精美壁纸
取QQSkey
取百度key
取微博key
Search
1
教你如何把Waves效果器完整的卸载干净
3,036 阅读
2
123云盘直链带密码解析源码
1,299 阅读
3
2023新版QQ工具箱全开源
1,076 阅读
4
2023新版API接口管理系统v1.3全开源
895 阅读
5
个人新拟态主页UI5.0全开源
706 阅读
技术文章
程序代码
实用软件
声卡效果
登录
/
注册
Search
标签搜索
咔咔云
PHP
技术文章
PHP代码
API
QQ技术
网站程序
绿色软件
易语言源码
网络攻防
图床源码
授权程序
网站优化
声卡效果
SEO优化
计算机常识
Windows
GitHub
typecho
网站美化
咔咔云
技术交流群
累计撰写
54
篇文章
累计收到
0
条评论
首页
栏目
技术文章
程序代码
实用软件
声卡效果
页面
时间轴
统计
壁纸
留言
友邻
关于
推荐
每日新闻
网易云音乐
VIP影院
小米步数
网站seo优化
精美壁纸
取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日
334 阅读
0 评论
2 点赞
首页
复制
搜索
前进
后退
重载网页
SEO优化
关于站长