首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

如何申请免费的SSL/TLS证书

  • 25-04-24 14:01
  • 4406
  • 6111
blog.csdn.net

目录

  • 一、前言
    • 1.1、SSL
    • 1.2、TLS
    • 1.3、CA
  • 二、开发环境(windows)
    •  2.1、安装OpenSSL
    •  2.2、生成私钥
    •  2.3、生成证书请求
    •  2.4、生成自签名证书
    •  2.5、生成pfx证书
    •  2.6、应用效果
  • 三、生产环境
    •  3.1、Windows系统
      •   3.1.1、下载win-acme工具
      •   3.1.1、使用win-acme
    •  3.2、Linux系统
      •   3.2.1、登陆FreeSSL
      •   3.2.2、证书自动化
        •    3.2.2.1域名授权
        •    3.2.2.2申请证书

一、前言

1.1、SSL

 SSL(Secure Sockets Layer,安全套接字层)是一种加密协议,用于在计算机网络上保护数据的传输。SSL的主要作用是通过加密通信内容来确保数据在传输过程中的机密性、完整性和身份验证。它通常用于网页浏览器与服务器之间的安全通信(即HTTPS协议),确保用户与网站之间的信息交换不会被第三方窃取或篡改。

 为什么需要SSL:

  • 数据加密:SSL通过加密传输的数据,确保黑客无法窃取或读取通信内容。这对敏感信息,如个人资料、支付信息等至关重要。

  • 身份验证:SSL协议通过证书验证服务器的身份,确保用户连接的是正确的网站,而不是冒充的钓鱼网站。这样可以防止用户遭遇中间人攻击(MITM)或其他类型的欺诈行为。

  • 数据完整性:SSL还确保数据在传输过程中不会被篡改或损坏。如果数据被篡改,接收方会发现并终止连接。

  • 提高信任度:启用SSL的网页会显示绿色的锁标志或“https://”前缀,给用户提供更多信任,尤其是在进行网上购物、支付等敏感操作时。

1.2、TLS

 TLS(Transport Layer Security,传输层安全协议)是SSL(Secure Sockets Layer,安全套接字层)的继任者。TLS和SSL都用于加密计算机网络中的数据传输,确保数据的机密性、完整性和身份验证。

 尽管SSL和TLS在功能上有很大相似性,但在现代网络中,TLS被认为是更安全的标准。事实上,许多“SSL”证书实际上支持TLS协议,所以我们通常听到的“SSL”实质上是指TLS。

1.3、CA

 CA(Certificate Authority)指证书颁发机构,它通过标识域名,负责签发和管理数字证书,以确保网络通信的安全性。例如,访问 *https://www.example.com/ *时,浏览器会检查服务器提供的 SSL/TLS 证书是否匹配 example.com,从而防止中间人攻击(MITM)。

二、开发环境(windows)

在Windows上使用 OpenSSL 生成 pfx 证书即可,具体操作步骤如下。
在这里插入图片描述
在这里插入图片描述

 2.1、安装OpenSSL

 在在命令行中通过下面命令判断是否安装OpenSSL服务,没安装的,自己安装一下。

# 判断OpenSSL是否安装
openssl version
  • 1
  • 2

在这里插入图片描述

 2.2、生成私钥

 下面 localhost.key 是文件名称,lgenrsa 是指定密钥对为 RSA 算法, 2048 指的是密钥长度。

# 生成私钥
openssl genrsa -out localhost.key 2048
  • 1
  • 2

 2.3、生成证书请求

 下面 localhost.csr 是文件名称,localhost.key 是私钥文件,localhost 是域名(一定要和开发环境域名一样)。

# 生成证书请求
openssl req -new -key localhost.key -out localhost.csr -subj "/CN=localhost"
  • 1
  • 2

 2.4、生成自签名证书

 下面,-days 365 是证书授权时间, localhost.csr 是请求文件名称, localhost.key 是请私钥名称,localhost.crt 是要生成的证书名称。

# 生成自签名证书
openssl x509 -req -days 365 -in localhost.csr -signkey localhost.key -out localhost.crt
  • 1
  • 2

 2.5、生成pfx证书

 windows中pfx格式的证书能直接安装,另外asp.net core web api中通常需要pfx格式的证书。
 下面,YourPassword 是pfx证书文件的加密密码。

openssl pkcs12 -export -out localhost.pfx -inkey localhost.key -in localhost.crt -password pass:YourPassword
  • 1

 2.6、应用效果

 在浏览器中我们发现已经存在ssl证书了,因为CA验证未通过,会提示不安全。如果想绕开CA验证,想要信任当前证书,需要在浏览器中导入刚刚生成的pfx证书。配置链接如下。
 Chrome官方配置: 本地证书导入

在这里插入图片描述

三、生产环境

生产环境中,因为CA的标识规则就是用的域名,所以生成SSL证书需要域名并授权。SSL 证书有免费的,也有收费的, 区别体现在认证级别、附加服务、有效期等方面。对于个人测试开发、网站搭建,免费的 SSL 证书就够了。

SSL 代理机构很多, 比如 Let’s Encrypt、ZeroSSL 等,国内的是 FreeSSL。生成 SSL 证书通常使用ACME协议,也因此常用到acme工具。

 3.1、Windows系统

  3.1.1、下载win-acme工具

  进入winacme官网,并点击上方的下载按钮,下载之后解压缩。

  WinACME官网: https://www.win-acme.com/
在这里插入图片描述
在这里插入图片描述

  3.1.1、使用win-acme

  选择全全参数创建方式。
在这里插入图片描述
  如何确定证书中要包含的域?选择手动配置。
在这里插入图片描述
  输入域名。
在这里插入图片描述
  生成为单个文件。
在这里插入图片描述
  如何证明你是域名拥有者?在域名中手动创建解析方式。
在这里插入图片描述
  RSA加密方式。
在这里插入图片描述
  证书保存格式-crt。
在这里插入图片描述
  是否设置密码。
在这里插入图片描述
  证书其他保存格式-pfx。
在这里插入图片描述
  额外配置?
在这里插入图片描述
  给出需要手动添加的解析信息。
在这里插入图片描述
  域名中手动添加解析,添加完成后,在命令行中回车。
在这里插入图片描述
  回车。
在这里插入图片描述
  回车。
在这里插入图片描述
  是否要指定任务将以何种用户身份运行?否。
在这里插入图片描述
  生成证书。
在这里插入图片描述

 3.2、Linux系统

我这里选择现在freessl官网中申请好证书,然后在linux中通过命令创建证书,具体步骤如下。

  3.2.1、登陆FreeSSL

  登陆 freessl官网,注册账号,登陆,选择证书类型。

  FreeSSL官网: https://www.csdn.net/

在这里插入图片描述

  3.2.2、证书自动化

   3.2.2.1域名授权

   点击添加域名,填写域名,然后点击下一步。
在这里插入图片描述
   填写域名,然后根据得到的配置信息,到云商域名解析服务中,添加域名解析。
在这里插入图片描述
   添加解析。
在这里插入图片描述
   点击配置完成,立即检测。
在这里插入图片描述

   3.2.2.2申请证书

   点击申请证书。
在这里插入图片描述
   选择刚刚申请的域名。
在这里插入图片描述
   设置参数。
在这里插入图片描述
   到这一步,freessl中给出了安装acme和创建证书的命令,此时只需要在Linux中执行命令,即可创建证书。
在这里插入图片描述

注:本文转载自blog.csdn.net的Tonny95的文章"https://blog.csdn.net/2301_78938567/article/details/146252366"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

129
网络与通信
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top