| 前页 | 后页 |
使用您自己的证书颁发机构 (CA)
一般,最好使用由全球信任的根颁发机构 (CA) 签发的证书。许多 CA 都受到所有主流浏览器和操作系统的信任,并且可以用来签署用于https服务器的证书。
如果系统架构使得使用全球信任的 CA 不切实际,仍然可以将客户端浏览器和操作系统设置为信任自签名证书,从而避免安全错误或向最终用户显示警告。
一种方法是直接将证书添加到客户端浏览器或操作系统的信任库中;然而,每个生成的证书都需要执行此操作。更好的A是创建自己的根证书颁发机构 (Certificate Authority),并使用它为每个服务器证书进行签名。
为此,您需要使用您自己的证书颁发机构 (CA) 证书和密钥对 SSL 证书进行签名,并且需要告知客户端(浏览器、操作系统)信任该 CA 证书。根据所使用的操作系统或浏览器,向客户端添加 CA 证书的说明会有所不同。
创建证书颁发机构
创建证书颁发机构 (Certificate Authority) 证书的方法有很多,但 OpenSSL 工具包是最简单、功能最全面的工具包之一。顾名思义,OpenSSL 是一个用于 SSL/TLS 的源工具包;详情请参阅官方website 。您需要下载并安装适合您环境的 OpenSSL 产品。
要创建 CA,请按照以下两个步骤操作:
- 生成新的密钥和证书请求。
- 对请求进行自签名以生成 CA 证书。
1 .生成新的密钥和证书请求
这可以分多个步骤完成,也可以通过从现有密钥文件生成,但为了简单起见,可以在一个命令中生成新密钥和新请求。此示例显示如何为名为“我的公司”的公司创建请求。请将其更改为更适合您组织的名称:
- openssl req -new -sha256 -nodes -newkey rsa:4096 -subj "/O=我的公司/CN=我的公司内部 CA" -keyout MyCompanyCA.key -out MyCompanyCA.csr
2. 自签名请求以生成 CA 证书
此步骤对 CA 证书请求进行自签名,并使 CA 的有效期为1年(第 365 天)。更改'我的公司
' 来匹配上一步生成的密钥和 csr 请求:
- openssl x509 -req -sha256 -in MyCompanyCA.csr -signkey MyCompanyCA.key -days 365 -out MyCompanyCA.crt
创建服务器证书并使用 CA 对其进行签名
现在 MyCompanyCA.crt 已生成,它可以用于为云服务器或WebEA签署您自己的证书。
首先,像自签名 SSL 证书帮助主题中提到的那样,创建一个新的证书请求。此示例为名为“云.mycompany.com”的服务器创建一个新的密钥和证书请求:
- openssl req -new -nodes -newkey rsa:4096 -subj "/CN=cloud.mycompany.com" -keyout云.mycompany.com.key -out云.mycompany.com.csr
- openssl x509 -req -CA MyCompanyCA.crt -CAkey MyCompanyCA.key -CAcreateserial -sha256 -days 365 -in云.mycompany.com.csr -out云.mycompany.com.crt
- 窗口:复制/b云.mycompany.com.crt+cloud.mycompany.com.key server.pem
- Linux: cat云.mycompany.com.crt云.mycompany.com.key > server.pem
允许客户端信任根CA
客户端操作系统或浏览器现在需要将 CA 证书添加到其受信任的 CA 列表中。具体操作说明因操作系统和浏览器而异,但此处列出了一些主要客户端的说明。所有这些步骤中提到的“证书”均指节2 节中生成的“MyCompanyCA.crt”。
客户端(系统、浏览器) |
指示 |
也见 |
|---|---|---|
|
微软窗口 |
右键单击 CA 证书文件,然后选择“安装证书”。按照提示将证书添加到信任存储中,无论是仅供当前用户使用还是供计算机所有用户使用。 |
|
|
Linux-Ubuntu |
将 CA 证书复制到 /usr/local/share/ca-certificates 例如:
如果使用Wine ,则关闭所有Wine程序并重新启动Wine :
|
|
|
火狐 |
Firefox 不使用操作系统信任存储,因此必须手动添加 CA。 如果证书具有“ .pem”扩展名,那么最简单的方法是将 CA 证书文件拖放到 Firefox 上;提示会提示您是否信任该证书。 否则,请手动添加证书并通过 Firefox 的隐私和安全偏好设置管理添加的证书。 更多信息可以在Firefox wiki上找到。 |
|
|
铬/铬 |
Chrome 和 Chromium 不使用操作系统信任存储,因此需要手动添加 CA。 打开设置 >高级> 管理证书 > 权限选择“导入” |
|
|
Internet Explorer |
Internet Explorer 使用窗口信任存储,因此将证书添加到窗口(参见此表中的第一个条目)足以为浏览器添加信任。 |
|
|
WebEA |
WebEA使用 PHP/curl 与Pro模型进行通信。如果 PHP云云之间Pro连接使用 HTTPS,则可以将 CA 添加到 PHP 的配置中,以允许其信任该证书。 |
配置WebEA以信任您自己的证书颁发机构(CA) |
