大白话讲解 OpenSSL 是干啥的

OpenSSL是开源的密码学/安全工具库,专门搞加密、解密、证书、HTTPS、签名、验签、哈希、对称/非对称加密全套活儿。

OpenSSL 是开源的密码学 / 安全工具库,专门搞加密、解密、证书、HTTPS、签名、验签、哈希、对称 / 非对称加密全套活儿

主要能干这些事

  1. 生成 SSL/TLS 证书自建 HTTPS、本地开发证书、自签名证书、CA 根证书、签发域名证书,全靠它。

  2. 加解密

    • 对称加密:AES、DES 等给文件 / 字符串加密解密
    • 非对称加密:RSA、ECC 公私钥生成、加密解密
  3. 哈希摘要算 MD5、SHA1、SHA256、SHA512 校验文件完整性、做签名摘要。

  4. 签名 & 验签数字签名、校验文件有没有被篡改、身份防伪造。

  5. 测试 HTTPS/SSL 连接排查网站 SSL 配置、看加密套件、协议版本、证书链是否正常。

  6. 服务器部署必备Nginx、Apache 配置 HTTPS、后端接口加密、内网服务安全加密,基本都依赖 OpenSSL。

  7. 开发底层密码学能力做支付、区块链、登录鉴权、数据加密传输,很多语言底层都封装了 OpenSSL。

日常开发最常用场景

  • 本地生成 自签名 HTTPS 证书
  • 给文件算 SHA256 校验和
  • 生成 RSA 公私钥对
  • 测试域名 SSL 是否有漏洞、证书是否过期
  • 接口数据 AES 加解密调试

最常用的 OpenSSL 命令

一、生成 RSA 公私钥

1. 生成私钥(2048位)

openssl genrsa -out private.key 2048

2. 从私钥导出公钥

openssl rsa -in private.key -pubout -out public.key 

二、生成自签名 HTTPS 证书(本地开发用)

一步生成 私钥+证书,有效期3650天:

openssl req -x509 -newkey rsa:2048 -nodes -keyout server.key -out server.crt -days 3650

回车后随便填信息就行,国家城市都可以填默认。

三、SHA256 哈希校验文件

bash openssl dgst -sha256 文件名

四、AES 加密 / 解密 文件

加密

openssl enc -aes-256-cbc -salt -in 原文件.txt -out 加密后.bin 

解密

openssl enc -d -aes-256-cbc -in 加密后.bin -out 解密后.txt 

五、查看网站 SSL 证书详情

bash openssl s_client -connect 域名:44

六、查看证书信息

bash openssl x509 -in server.crt -text -noout
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
mengbuluo222
mengbuluo222
0x9Ff1...FaA5
前端开发求职中... 8年+开发经验,拥有丰富的开发经验,擅长VUE、React开发。