浏览器证书

证书类型

1. SSL/TLS 证书

  • 作用: 用于加密浏览器与服务器之间的通信,确保数据安全传输,防止窃听和篡改。
  • 类型:
    • 域名验证 (DV) 证书: 仅验证域名所有权,适合个人网站或博客。
    • 组织验证 (OV) 证书: 验证域名和组织的真实性,适合企业网站。
    • 扩展验证 (EV) 证书: 提供最高级别的验证,显示绿色地址栏,适合金融机构等需要高信任度的网站。

2. 代码签名证书

  • 作用: 用于验证软件发布者的身份,确保代码未被篡改,常用于浏览器扩展和插件。

3. 客户端证书

  • 作用: 用于验证用户身份,通常用于企业内网或高安全性网站,确保只有授权用户能访问。

4. 电子邮件证书

  • 作用: 用于加密和签名电子邮件,确保内容安全和发件人身份真实。

5. 根证书

  • 作用: 作为信任链的起点,浏览器和操作系统内置,用于验证其他证书的合法性。

6. 中间证书

  • 作用: 作为根证书和终端证书之间的桥梁,帮助建立完整的信任链。

7. 自签名证书

  • 作用: 由用户自己生成和签名,通常用于测试或内部环境,浏览器会提示不受信任。

8. 通配符证书

  • 作用: 用于保护同一主域名下的多个子域名,简化证书管理。

9. 多域名证书 (SAN 证书)

  • 作用: 可保护多个不同域名,适合拥有多个域名的企业。

创建本地自签证书

1、创建根证书(创建CA.key及CA.crt)

#window gitbash gui
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -subj "//C=CN\ST=BJ\L=BJ\O=TecDev" -keyout CA.key -out CA.crt -reqexts v3_req -extensions v3_ca
#linux
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -subj "/C=CN/ST=BJ/L=BJ/O=TecDev" -keyout CA.key -out CA.crt -reqexts v3_req -extensions v3_ca

2、创建私钥

openssl genrsa -out private.key 2048

3、创建证书请求文件

#ip方式
openssl req -new -key private.key -subj "//C=CN\ST=BJ\L=BJ\O=TecDev\CN=192.168.1.1" -sha256 -out private.csr
#域名方式
openssl req -new -key private.key -subj "//C=CN\ST=BJ\L=BJ\O=TecDev\CN=www.xxx.com" -sha256 -out private.csr

4、创建证书的扩展描述文件。如果不使用,chrome中无法授信

创建一个名为:private.ext的文件

[ req ]
default_bits = 1024
distinguished_name = req_distinguished_name
req_extensions = san
extensions = san
[ req_distinguished_name ]
countryName = CN
stateOrProvinceName = Guangdong
localityName = Guangzhou
organizationName = Lisa
[ SAN ]
authorityKeyIdentifier = keyid,issuer
basicConstraints = CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = IP:192.168.1.1

其中以下需要按需修改:

  • stateOrProvinceName 代表省份
  • localityName 代表城市
  • organizationName 代表组织/公司名字
  • subjectAltName 必须与上一步的地址一一对应。如果为域名,则为:DNS:www.xxx.com

创建最终的private.crt证书:

openssl x509 -req -days 364 -in private.csr -CA CA.crt -CAkey CA.key -CAcreateserial -sha256 -out private.crt -extfile private.ext -extensions SAN

O=TecDev 为证书的颁发机构,可以根据自己情况调整

5、安装

  • 双击CA.crt安装证书
  • nginx项目设置用到的文件是private.crt和private.key
Last Updated:
Contributors: hqdxhyf