1.4. 配置 SSL

Red Hat Virtualization Manager Java SDK 使用 JSSE(Java Secure Socket Extension)提供了对 HTTP over SSL(Secure Socket Layer)和 IETF TLS(Transport Layer Security)的支持功能。JSSE 已经被集成到 Java 2 平台的 1.4 版本中,并可以直接和 Java SDK 一起使用。而在其它较老的 Java 2 版本中,JSSE 需要被手工安装和配置。

1.4.1. 配置 SSL

以下过程展示了如何配置 SSL 来使用 Java SDK。

过程 1.2. 配置 SSL

  1. 下载 Red Hat Virtualization Manager 使用的证书:

    注意

    在默认情况下,Red Hat Virtualization Manager 使用的证书位于 /etc/pki/ovirt-engine/ca.pem
  2. 创建一个 truststore:
    $ keytool -import -alias "server.crt truststore" -file ca.crt -keystore server.truststore
  3. 在构建一个 ApiConnection 对象实例时,指定 trustStoreFiletrustStorePassword 参数。
    myBuilder.trustStoreFile("/home/username/server.truststore");
    myBuilder.trustStorePassword("p@ssw0rd");

    注意

    如果在创建一个连接时没有指定 trustStoreFile 选项,Java SDK 会尝试使用系统变量 javax.net.ssl.trustStore 所指定的默认 truststore。如果系统变量没有指定 truststore,Java SDK 会尝试使用在 $JAVA_HOME/lib/security/jssecacerts$JAVA_HOME/lib/security/cacerts 中指定的 truststore。

1.4.2. 主机验证

在默认情况下,当试图创建一个到 Red Hat Virtualization Manager 的连接时,证书中的主机名的身份会被验证。如需禁用身份验证的过程,则在构建 Connection 类的实例时使用以下参数:
myBuilder.insecure(true);

重要

因为安全的原因,这个方法一般不应该在生产环境中使用。如要使用这个方法,您需要了解不对主机身份进行验证可能会带来的安全风险。