一、前言
SSL(Secure Sockets Layer,安全套接字层)和TLS(Transport Layer Security,传输层安全协议)是保护网络数据传输安全的利器。它们通过加密数据,确保信息在传输过程中不会被窃取或篡改,还能验证服务器的身份,防止中间人攻击。
1.1、SSL
SSL的主要作用是加密通信内容,确保数据传输的机密性、完整性和身份验证。它广泛应用于HTTPS协议,保护用户与网站之间的信息交换。
1.2、TLS
TLS是SSL的继任者,功能上与SSL相似,但更安全。现在我们通常说的“SSL”实际上是指TLS。
1.3、CA
CA(Certificate Authority,证书颁发机构)负责签发和管理数字证书,确保网络通信的安全性。例如,浏览器会检查服务器提供的SSL/TLS证书是否匹配域名,从而防止中间人攻击。
二、开发环境(windows)
在Windows上,我们可以使用OpenSSL生成pfx证书,具体步骤如下:
2.1、安装OpenSSL
在命令行中输入openssl version判断是否安装OpenSSL,未安装的请自行安装。
2.2、生成私钥
使用以下命令生成私钥文件localhost.key:
openssl genrsa -out localhost.key 20482.3、生成证书请求
使用以下命令生成证书请求文件localhost.csr:
openssl req -new -key localhost.key -out localhost.csr -subj "/CN=localhost"2.4、生成自签名证书
使用以下命令生成自签名证书localhost.crt:
openssl x509 -req -days 365 -in localhost.csr -signkey localhost.key -out localhost.crt2.5、生成pfx证书
使用以下命令生成pfx证书localhost.pfx:
openssl pkcs12 -export -out localhost.pfx -inkey localhost.key -in localhost.crt -password pass:YourPassword2.6、应用效果
在浏览器中,您会发现已经存在SSL证书,但由于CA验证未通过,会提示不安全。若要信任当前证书,需要在浏览器中导入生成的pfx证书。
三、生产环境
在生产环境中,生成SSL证书需要域名并授权。SSL证书有免费的和收费的,对于个人测试开发、网站搭建,免费的SSL证书就足够了。
3.1、Windows系统
3.1.1、下载win-acme工具
进入winacme官网下载并解压缩。
3.1.2、使用win-acme
选择全参数创建方式,手动配置域名,证明域名所有权,选择RSA加密方式,证书保存格式为-crt,设置密码,证书其他保存格式为-pfx,进行额外配置,生成证书。
3.2、Linux系统
3.2.1、登陆FreeSSL
登录FreeSSL官网,注册账号,登录,选择证书类型。
3.2.2、证书自动化
3.2.2.1域名授权
添加域名,填写域名,添加域名解析,配置完成,立即检测。
3.2.2.2申请证书
选择申请的域名,设置参数,执行安装acme和创建证书的命令。
以上就是申请免费SSL/TLS证书的详细步骤,希望对大家有所帮助。我是思享编程网的陆砚码,更多技术分享,欢迎关注我们的网站。
