ssl新闻资讯

文档中心

HTTPS鑷埗璇佷功浣跨敤鍏ㄦ祦绋嬭瑙d粠鐢熸垚鍒伴儴缃茬殑淇濆绾ф暀绋?txt

时间 : 2025-09-27 16:02:22浏览量 : 3

2HTTPS鑷埗璇佷功浣跨敤鍏ㄦ祦绋嬭瑙d粠鐢熸垚鍒伴儴缃茬殑淇濆绾ф暀绋?txt

在网络安全领域,HTTPS协议是保护数据传输安全的基石。而SSL/TLS证书作为HTTPS的核心组件,通常需要向权威机构(如DigiCert、Let's Encrypt)购买。但在测试环境或内部系统中,我们完全可以通过自制证书(又称自签名证书)来快速实现加密通信。本文将用通俗易懂的语言,结合具体场景,带你一步步完成HTTPS自制证书的生成、配置和使用。

一、为什么要用自制证书?

典型场景举例

1. 开发测试环境:程序员小张在本地调试一个支付系统,需要模拟HTTPS请求,但不想花钱买正式证书。

2. 内网服务加密:某公司内部OA系统仅限员工访问,使用自制证书可避免外部流量劫持。

3. 教学演示:网络安全课程中,老师需要展示证书签发原理时。

注意:自制证书浏览器会提示“不安全”(如下图),因为它缺乏第三方CA的信任链,因此不适用于生产环境公开服务。

![浏览器警告示例](https://example.com/warning.png) *(图示:浏览器对自签名证书的警告提示)*

二、手把手生成自制证书(以OpenSSL为例)

步骤1:安装OpenSSL工具

- Windows用户:下载[OpenSSL官方二进制包](https://slproweb.com/products/Win32OpenSSL.html)

- Linux/macOS:终端直接运行 `sudo apt install openssl` 或 `brew install openssl`

步骤2:生成私钥和证书

```bash

1. 生成RSA私钥(2048位强度)

openssl genrsa -out mydomain.key 2048

2. 用私钥生成CSR(证书签名请求)

openssl req -new -key mydomain.key -out mydomain.csr

此时会交互式填写信息,比如:

Country Name (2 letter code) []: CN

Common Name (域名或IP) []: test.internal

3. 直接自签名生成crt证书(有效期365天)

openssl x509 -req -days 365 -in mydomain.csr -signkey mydomain.key -out mydomain.crt

```

关键参数解释

- `.key`文件是私钥,必须严格保密!

- `.crt`文件是公钥证书,需部署到服务器

进阶操作:设置SAN扩展(兼容现代浏览器)

创建`san.conf`文件:

```ini

[req]

distinguished_name = req_distinguished_name

req_extensions = v3_req

[req_distinguished_name]

countryName = CN

commonName = test.internal

[v3_req]

subjectAltName = @alt_names

[alt_names]

DNS.1 = test.internal

IP.1 = 192.168.1.100

然后重新生成证书:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 \

-config san.conf \

-keyout mydomain.key \

-out mydomain.crt

三、在常见服务中部署自制证书

? Nginx配置示例

```nginx

server {

listen 443 ssl;

server_name test.internal;

ssl_certificate /path/to/mydomain.crt;

ssl_certificate_key /path/to/mydomain.key;

强制TLS1.2以上更安全

ssl_protocols TLSv1.2 TLSv1.3;

}

重启Nginx后访问 `https://test.internal` ,首次需手动信任证书。

? Apache配置示例

```apacheconf

SSLEngine on

SSLCertificateFile "/path/to/mydomain.crt"

SSLCertificateKeyFile "/path/to/mydomain.key"

? Windows IIS导入方法

1. IIS管理器 → “服务器证书” → “导入”

2. 选择`.pfx`文件(需先用OpenSSL转换格式):

```bash

openssl pkcs12 -export -out mydomain.pfx -inkey mydomain.key -in mydomain.crt

```

四、客户端如何信任自制证书?

▎浏览器信任(以Chrome为例)

1. Windows/macOS:双击`.crt`文件 → “安装证书” → “受信任的根颁发机构”

2. Linux Chrome启动参数加

google-chrome --ignore-certificate-errors --ignore-urlfetcher-cert-requests &

▎移动端信任技巧

- Android:将`.crt`文件放入设备存储 → “设置→安全→加密与凭据→安装证书”

- iOS:通过邮件发送`.crt` → iPhone点击附件安装

五、安全风险与注意事项 ??

1. 中间人攻击风险:黑客可能伪造相似的自制证书进行钓鱼。解决方法是严格保管私钥并确保证书指纹一致。

2. 过期问题: OpenSSL默认有效期较短,建议通过 `-days`参数延长(如 `-days 3650`)。

【】关键流程图解

生成私钥 (.key) → CSR请求 (.csr) → ↓

↓ 自签名

↓ ↓

最终得到 .crt + .key →部署到服务器

掌握自制HTTPS全流程后,无论是搭建内网GitLab还是测试API接口都能游刃有余。如需对外服务请务必换用正规CA颁发的可信证!

TAG:https自制证书使用流程,自己生成https证书,https证书生成工具,自己生成证书的网站