搜索

第 2 章 身份验证和安全

download PDF

2.1. TLS/SSL 认证

红帽虚拟化 API 需要 Hypertext 传输协议安全(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

这个命令将连接到服务器并显示类似如下的输出:

CONNECTED(00000003)
depth=1 C = US, O = Example Inc., CN = myengine.example.com.23416
verify error:num=19:self signed certificate in certificate chain
---
Certificate chain
 0 s:/C=US/O=Example Inc./CN=myengine.example.com
   i:/C=US/O=Example Inc./CN=myengine.example.com.23416
-----BEGIN CERTIFICATE-----
MIIEaTCCA1GgAwIBAgICEAQwDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UEBhMCVVMx
FTATBgNVBAoTDEV4YW1wbGUgSW5jLjEjMCEGA1UEAxMaZW5naW5lNDEuZXhhbXBs
SVlJe7e5FTEtHJGTAeWWM6dGbsFhip5VXM0gfqg=
-----END CERTIFICATE-----
 1 s:/C=US/O=Example Inc./CN=myengine.example.com.23416
   i:/C=US/O=Example Inc./CN=myengine.example.com.23416
-----BEGIN CERTIFICATE-----
MIIDxjCCAq6gAwIBAgICEAAwDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UEBhMCVVMx
FTATBgNVBAoTDEV4YW1wbGUgSW5jLjEjMCEGA1UEAxMaZW5naW5lNDEuZXhhbXBs
Pkyg1rQHR6ebGQ==
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE----------END CERTIFICATE----- 之间的文本显示服务器提供的证书。第一个是服务器本身的证书,最后一个是 CA 的证书。将 CA 证书(包括标记)复制到 ca.crt 文件中。结果应如下所示:

-----BEGIN CERTIFICATE-----
MIIDxjCCAq6gAwIBAgICEAAwDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UEBhMCVVMx
FTATBgNVBAoTDEV4YW1wbGUgSW5jLjEjMCEGA1UEAxMaZW5naW5lNDEuZXhhbXBs
Pkyg1rQHR6ebGQ==
-----END CERTIFICATE-----
重要

这是获取服务器使用的 CA 证书的最可靠方法。此处描述的其余方法将在大多数情形中可用,但是如果被服务器管理员手动替换,它们将无法获得正确的 CA 证书。

方法 2

如果无法使用上述 的openssl s_client 方法,您可以使用命令行工具从 Red Hat Virtualization Manager 下载 CA 证书。

命令行工具示例包括 curlwget,它们都可在多个平台上使用。

如果使用 curl

$ curl \
--output ca.crt \
'http://myengine.example.com/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA'

如果使用 wget:

$ wget \
--output-document ca.crt \
'http://myengine.example.com/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA'
方法 3

使用 Web 浏览器导航到位于以下位置的证书:

https://myengine.example.com/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA

根据所选的浏览器,证书下载或导入浏览器的密钥存储。

  1. 如果浏览器下载证书 :将文件保存为 ca.crt
  2. 如果浏览器导入证书 :从浏览器的认证选项导出它,并将其保存为 ca.crt
方法 4

登录 Red Hat Virtualization Manager,从信任存储导出证书,并将其复制到您的客户端计算机。

  1. 以 root 用户身份登录 Red Hat Virtualization Manager 机器
  2. 使用 Java 密钥工具管理 实用程序从信任存储导出证书:

    # keytool \
    -keystore /etc/pki/ovirt-engine/.truststore \
    -storepass mypass \
    -exportcert \
    -alias cacert \
    -rfc \
    -file ca.crt

    这会创建一个名为 ca.crt 的证书文件。

  3. 使用 scp 命令将证书复制到客户端机器:

    $ scp ca.crt myuser@myclient.example.com:/home/myuser/.

每个方法都会在您的客户端机器上产生名为 ca.crt 的证书文件。然后,您必须将此文件导入到客户端的证书存储中。

2.1.2. 将证书导入到客户端

将证书导入到客户端取决于客户端如何存储和解释证书。有关导入证书的更多信息,请参阅您的客户端文档。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.