首页 > 运维 > linux运维 > 正文

如何启用网络加密 openssl证书管理

P粉602998670
发布: 2025-08-21 08:48:02
原创
654人浏览过

生成私钥和csr:使用openssl genrsa生成私钥,再用openssl req -new -key生成csr并填写域名等信息;2. 自签证书:通过openssl x509 -req命令生成有效期365天的自签名证书,适用于测试环境;3. 申请正式证书:将csr提交至ca(如let's encrypt或商业ca),完成域名验证后下载证书并合并证书链为fullchain.crt;4. 配置web服务器:在nginxapache中指定ssl_certificate和ssl_certificate_key路径,启用443端口及tls协议并重启服务;5. 证书管理:使用openssl命令查看证书内容、验证私钥、比对证书与私钥匹配性、检查过期时间及转换格式;6. 安全建议:设置私钥权限为600,禁用旧版tls,定期更新证书,推荐结合certbot实现自动化申请与续签;最终需确保密钥生成、证书获取、服务器配置和定期维护全流程完整执行,以保障通信安全。

如何启用网络加密 openssl证书管理

启用网络加密并使用 OpenSSL 管理证书,是保障 Web 服务、API 接口或内网通信安全的基本手段。以下是具体操作步骤和管理方法,适用于常见的 HTTPS 服务(如 Nginx、Apache)或自建 TLS 服务。


一、生成私钥和证书签名请求(CSR)

首先需要生成私钥和 CSR,用于申请或自签证书。

# 生成私钥(推荐 2048 位或 4096 位)
openssl genrsa -out server.key 2048

# 基于私钥生成 CSR(填写组织信息)
openssl req -new -key server.key -out server.csr
登录后复制

执行第二条命令时会提示输入:

  • 国家(如 CN)
  • 省份、城市
  • 组织名称
  • 常用名(Common Name):必须是域名,如
    example.com
    登录后复制
    *.example.com
    登录后复制
  • 邮箱等信息
注意:私钥要严格保密,不要泄露或提交给第三方。

二、自签证书(适用于测试或内网)

如果用于测试环境或内部系统,可以直接自签证书:

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
登录后复制

生成的

server.crt
登录后复制
就是自签名证书。客户端访问时需要手动信任该证书,否则会提示不安全。

飞书知识问答
飞书知识问答

飞书平台推出的AI知识库管理和智能搜索工具

飞书知识问答 45
查看详情 飞书知识问答

三、申请并配置正式 SSL 证书

如果是生产环境,建议使用 Let's Encrypt 或商业 CA(如 DigiCert、阿里云、腾讯云)申请免费或付费证书。

  1. 提交 CSR 到 CA
  2. 验证域名所有权(DNS 或文件验证)
  3. 下载签发的证书(通常包含:
    certificate.crt
    登录后复制
    ca-bundle.crt
    登录后复制

合并证书链(如果需要):

cat certificate.crt ca-bundle.crt > fullchain.crt
登录后复制

四、在 Web 服务器中启用 HTTPS

Nginx 配置示例:

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /path/to/fullchain.crt;
    ssl_certificate_key /path/to/server.key;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512;
    ssl_prefer_server_ciphers off;

    location / {
        proxy_pass http://backend;
    }
}
登录后复制

重启 Nginx 生效:

nginx -t && nginx -s reload
登录后复制

Apache 配置示例:

<VirtualHost *:443>
    ServerName example.com
    SSLEngine on
    SSLCertificateFile /path/to/server.crt
    SSLCertificateKeyFile /path/to/server.key
    SSLCertificateChainFile /path/to/ca-bundle.crt

    DocumentRoot /var/www/html
</VirtualHost>
登录后复制

启用 SSL 模块并重启:

a2enmod ssl
systemctl restart apache2
登录后复制

五、OpenSSL 证书管理常用命令

功能 命令
查看证书内容 @@######@@
检查私钥是否正确 @@######@@
验证证书与私钥是否匹配
openssl x509 -in server.crt -text -noout
登录后复制

(两个输出应一致) | | 检查证书过期时间 |

openssl rsa -in server.key -check
登录后复制
| | 转换证书格式(PEM → DER) |
openssl x509 -noout -modulus -in server.crt | openssl md5
openssl rsa -noout -modulus -in server.key | openssl md5
登录后复制
| | PEM 转 PFX(用于客户端导入) |

openssl x509 -in server.crt -dates -noout
登录后复制

六、安全建议

  • 私钥权限设为 600:
    openssl x509 -in cert.pem -outform der -out cert.der
    登录后复制
  • 定期更新证书(Let's Encrypt 有效期 90 天,建议自动续期)
  • 使用强加密套件,禁用 TLS 1.0/1.1
  • 可配合
    openssl pkcs12 -export -in server.crt -inkey server.key -out server.pfx
    登录后复制
    实现自动申请和续签(Let's Encrypt 官方工具

基本上就这些。核心是:生成密钥 → 获取证书 → 正确配置服务器 → 定期维护。OpenSSL 是底层工具,灵活但需谨慎操作,生产环境建议结合自动化工具使用。

chmod 600 server.key
登录后复制
certbot
登录后复制

以上就是如何启用网络加密 openssl证书管理的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号