如果要替换默认的 vCenter Single Sign-On Security Token Service (STS) 签名证书,您必须生成新证书并将其添加到 Java 密钥库。此过程说明了在嵌入式部署设备或外部 Platform Services Controller 设备上执行该操作的步骤。

关于此任务

注:

该证书的有效期为十年且不面向外部。除非贵公司的安全策略有相关规定,否则请勿替换此证书。

如果运行的是 Platform Services Controller Windows 安装,请参见在 Windows 上安装 vCenter 时生成新的 STS 签名证书

过程

  1. 创建顶级目录以保存新证书并确人该目录的位置。
    mkdir newsts
    cd newsts
    pwd 
    #resulting output: /root/newst
  2. certool.cfg 文件复制到新目录中。
    cp /usr/lib/vmware-vmca/share/config/certool.cfg /root/newsts
    
  3. 打开 certool.cfg 文件的副本并进行编辑,以便使用本地 Platform Services Controller 的 IP 地址和主机名。

    国家/地区为必填字段且必须是两个字符,如以下示例所示。

    #
    # Template file for a CSR request
    #
    
    # Country is needed and has to be 2 characters
    Country = US
    Name = STS
    Organization = ExampleInc
    OrgUnit = ExampleInc Dev
    State = Indiana
    Locality = Indianapolis
    IPAddress = 10.0.1.32
    Email = chen@exampleinc.com
    Hostname = homecenter.exampleinc.local
  4. 生成密钥。
    /usr/lib/vmware-vmca/bin/certool --server localhost --genkey --privkey=/root/newsts/sts.key --pubkey=/root/newsts/sts.pub
  5. 生成证书
    /usr/lib/vmware-vmca/bin/certool --gencert --cert=/root/newsts/newsts.cer --privkey=/root/newsts/sts.key --config=/root/newsts/certool.cfg
    
  6. 将证书转换为 PK12 格式。
    openssl pkcs12 -export -in /root/newsts/newsts.cer -inkey /root/newsts/sts.key -certfile /etc/vmware-sso/keys/ssoserverRoot.crt -name "newstssigning" -passout pass:changeme -out newsts.p12
  7. 将证书添加到 Java 密钥库 (JKS)。
    /usr/java/jre-vmware/bin/keytool -v -importkeystore -srckeystore newsts.p12 -srcstoretype pkcs12 -srcstorepass changeme -srcalias newstssigning -destkeystore root-trust.jks -deststoretype JKS -deststorepass testpassword -destkeypass testpassword
    
    /usr/java/jre-vmware/bin/keytool -v -importcert -keystore root-trust.jks -deststoretype JKS -storepass testpassword -keypass testpassword -file /etc/vmware-sso/keys/ssoserverRoot.crt -alias root-ca
    
  8. 出现提示时,键入 Yes 接受证书以将其添加到密钥库。

下一步做什么

现在即可导入新证书。请参见刷新安全令牌服务证书