第 2 章 身份验证和安全性
2.1. TLS/SSL 认证 复制链接链接已复制到粘贴板!
Red Hat Virtualization API 需要 Hypertext Transfer Protocol Secure(HTTPS) [1] 与客户端软件(如 SDK 和 CLI 组件)的安全交互。这包括获取服务器使用的 CA 证书,并将其导入到客户端的证书存储中。
2.1.1. 获取 CA 证书 复制链接链接已复制到粘贴板!
您可以从 Red Hat Virtualization Manager 获取 CA 证书,并使用以下方法之一将其传送到客户端机器:
- 方法 1
获取 CA 证书的首选方法是使用
openssl s_client
命令行工具对服务器执行实际的 TLS 握手,然后提取它所呈现的证书。运行这个命令,如下所示:openssl s_client \ -connect myengine.example.com:443 \ -showcerts \ < /dev/null
$ openssl s_client \ -connect myengine.example.com:443 \ -showcerts \ < /dev/null
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这个命令将连接到服务器并显示类似如下的输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -----BEGIN CERTIFICATE-----
和-----END CERTIFICATE-----
标记之间的文本显示服务器出示的证书。第一个是服务器本身的证书,最后一个是 CA 的证书。将 CA 证书(包括标记)复制到ca.crt
文件中。结果应类似如下:-----BEGIN CERTIFICATE----- MIIDxjCCAq6gAwIBAgICEAAwDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UEBhMCVVMx FTATBgNVBAoTDEV4YW1wbGUgSW5jLjEjMCEGA1UEAxMaZW5naW5lNDEuZXhhbXBs Pkyg1rQHR6ebGQ== -----END CERTIFICATE-----
-----BEGIN CERTIFICATE----- MIIDxjCCAq6gAwIBAgICEAAwDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UEBhMCVVMx FTATBgNVBAoTDEV4YW1wbGUgSW5jLjEjMCEGA1UEAxMaZW5naW5lNDEuZXhhbXBs Pkyg1rQHR6ebGQ== -----END CERTIFICATE-----
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要这是获取服务器使用的 CA 证书的最可靠的方法。这里描述的其他方法在大多数情况下将可以正常工作,但如果服务器管理员手动替换,则它们将不会获得正确的 CA 证书。
- 方法 2
如果无法使用上述
openssl s_client
方法,您可以使用命令行工具从 Red Hat Virtualization Manager 下载 CA 证书。命令行工具示例包括
curl
和wget
,这两个工具都在多个平台上可用。如果使用
curl
:curl \ --output ca.crt \ 'http://myengine.example.com/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA'
$ curl \ --output ca.crt \ 'http://myengine.example.com/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果使用
wget
:wget \ --output-document ca.crt \ 'http://myengine.example.com/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA'
$ wget \ --output-document ca.crt \ 'http://myengine.example.com/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 方法 3
使用 Web 浏览器导航到位于以下证书:
https://myengine.example.com/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA
https://myengine.example.com/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 根据所选的浏览器,证书下载或导入到浏览器的密钥存储。
-
如果浏览器下载证书 : 将文件保存为
ca.crt
。 -
如果浏览器导入证书 : 从浏览器的认证选项导出证书,并将它保存为
ca.crt
。
-
如果浏览器下载证书 : 将文件保存为
- 方法 4
登录到 Red Hat Virtualization Manager,从信任存储中导出证书,并将其复制到您的客户端机器中。
-
以
root
用户身份登录到 Red Hat Virtualization Manager 机器。 使用 Java
keytool
管理实用程序从信任存储中导出证书:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这会创建一个名为
ca.crt
的证书文件。使用
scp
命令将证书复制到客户端机器中:scp ca.crt myuser@myclient.example.com:/home/myuser/.
$ scp ca.crt myuser@myclient.example.com:/home/myuser/.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
以
每种方法都在您的客户端机器上生成名为 ca.crt
的证书文件。然后,您必须将此文件导入到客户端的证书存储中。
2.1.2. 将证书导入到客户端 复制链接链接已复制到粘贴板!
将证书导入到客户端依赖于客户端存储和解释证书的方式。有关导入证书的更多信息,请参阅您的客户端文档。