使用openssl对文件进行加密
发表于|更新于|基础运维
|浏览量:
使用密码加密
1 | # 指定输入和输出文件操作 |
使用密码解密
1 | # 指定输入和输出文件操作 |
文章作者: 张理坤
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 杂烩饭!
相关推荐
2025-04-11
检查域名支持的HTTPS协议版本
使用 NMAP(推荐)依赖于 nmap, nmap 需要安装 1nmap --script ssl-enum-ciphers -p 443 baidu.com 比如 GitHub 只支持 TLS1.2 和 TLS1.3: 在线验证SSL Server Test (Powered by Qualys SSL Labs) 这个域名还可以检测支持的设备情况。 https://myssl.com/ https://www.ssleye.com/ssltool/cipher_suites.html https://www.site24x7.com/zhcn/tools/tls-checker.html 使用 CURL 验证12curl --tlsv1 --tls-max 1.0 https://github.comcurl --tlsv1 --tls-max 1.0 https://www.baidu.com 报错说明不支持当前版本: 1curl: (35) LibreSSL/3.3.6: error:1404B42E:SSL routines:ST_CONNECT:tlsv1 a...

2026-02-21
HTTPS的原理,使用HTTPS就一定是安全的吗?
HTTPS 是什么以前一直以为 HTTPS 是一种与 HTTP 类似的应用层协议,后来才发现 HTTPS 并不是一种协议。https 只是在 URI 中作为 protocol identifier 罢了。HTTPS 其实是 HTTP Over TLS( RFC2818 )的简称,也就是运行在 TLS 协议上的 HTTP 协议,使用 TLS 协议对 HTTP 数据进行加密,从而保证了安全性。 TLS 协议简介HTTPS 的核心就是 TLS 协议,那么 TLS 协议又是什么呢?TLS 的全称为 Transport Layer Security,也就是在传输层保证安全 RFC5246。主要分为以下四个协议: handshake protocol,用来建立连接、身份认证、密钥协商 alert protocol,用来关闭连接 change cipher spec protocol,用来表示开始使用协商好的加密方式进行数据传输 application data protocol,用来传输密文 TLS 协议中最重要的就是 handshake 了,在握手阶段通信双方以安全的方式协商好用于之后...

2025-07-25
使用openssl制作自签名HTTPS证书
在很多使用到证书的场景, 比如 HTTPS, 可以选择去申请一个免费的证书, 也可以尝试自签名证书, 申请免费证书请看:使用certbot自动申请ssl证书 或者 使用acme.sh来自动更新https证书, 本文介绍自签名证书. 可以直接使用我制作好的工具,支持自签名 HTTPS 证书和双向认证证书,纯 shell 脚本,支持 Docker 使用,一键生成证书:https://github.com/iuxt/my_cert SSL 协议加密方式SSL 协议即用到了对称加密也用到了非对称加密 (公钥加密),在建立传输链路时,SSL 首先对对称加密的密钥使用公钥进行非对称加密,链路建立好之后,SSL 对传输内容使用对称加密。 对称加密 速度高,可加密内容较大,用来加密会话过程中的消息。 公钥加密 加密速度较慢,但能提供更好的身份认证技术,用来加密对称加密的密钥。 CA 证书生成 CA 私钥1openssl genrsa -out ca.key 4096 生成一个 ca.key 文件 生成 CA 证书非交互式创建交互式创建1openssl req -utf8 -new ...
2025-05-22
使用acme.sh来自动更新https证书
使用 acme.sh 可以自动申请 let’s encrypt 证书,并且可以自动配置到 nginx,整个过程可以全自动。也可以使用 certbot,certbot 基于 acme.sh使用certbot自动申请ssl证书 安装推荐安装 socat 1sudo apt install socat 安装 acme.sh 1curl https://get.acme.sh | sh 退出终端,重新登陆后,执行 acme.sh 有输出,说明安装成功了。 配置邮箱1acme.sh --register-account -m "iuxt@qq.com" 配置默认 CA新版默认 zerossl,也可以手动切换为 let’s encrypt 12# acme.sh --set-default-ca --server letsencrypt# acme.sh --set-default-ca --server zerossl 申请证书acme.sh 实现了 acme 协议支持的所有验证协议.一般有两种方式验证: http 和 dns 验证. 使用 dns api 自...
2026-02-21
使用certbot自动申请ssl证书
certbot 可以自动申请 let’s encrypt https 证书, 并且可以自动续期,另见:使用acme.sh来自动更新https证书 申请证书前准备添加 DNS 解析域名为你需要申请 https 证书的域名,添加 A 记录到服务器 IP 安装 certbot 和 certbot nginx plugin12sudo apt install certbotsudo apt install python3-certbot-nginx 申请证书1sudo certbot --non-interactive --redirect --agree-tos --nginx -d password.zahui.fan -m captain@zahui.fan 以上操作除了申请证书外,还可以自动添加 https 配置到 nginx,很方便。 证书续期1sudo certbot renew 添加到 root 用户的 crontab 里面就可以实现自动续期,距离到期时间太长会自动跳过续期 删除证书1sudo certbot delete
2026-02-21
Nginx配置双向认证
单项认证只需要服务器提供证书即可, 不验证客户端证书, 而双向认证需要验证服务器证书,也需要验证客户端证书, 不满足要求的客户端可以不允许其访问, 并且可以通过后期吊销证书的方式禁止其访问. 证书签名可以参考: 使用certbot自动申请ssl证书 使用acme.sh来自动更新https证书 制作和使用自签名证书 本文提到的 client.crt server.crt 都是通过 ca 签发的 服务器配置Nginx 配置: 1234567891011121314151617server { listen 443 ssl; server_name localhost; ssl_certificate ssl/server.crt; # 配置证书位置 ssl_certificate_key ssl/server.key; # 配置私钥位置 ssl_client_certificate ssl/ca.crt; # 客户端证书 ssl_ve...
评论
公告
此博客为我记录运维工作总结所用,供网友阅读参考,如有侵权,请通知我,我会核实后进行处理。
欢迎加入技术交流群:
