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