配置相互认证

要使用相互认证,服务器和代理程序必须交换密钥。请将服务器密钥作为证书导出并将其导入至代理程序密钥库,然后执行相反的过程,即,导出代理程序密钥并将其导入至服务器密钥库。

开始之前

在交换密钥之前,请确保设置了以下属性:
  1. 服务器的 installed.properties 文件(位于 server_install/conf/server 目录)中的 server.jms.mutualAuth 属性设置为 true
  2. 对于每个代理程序,其 installed.properties 文件(位于 agent_install\conf\agent 目录)中的 locked/agent.mutual_auth 属性设置为 true
  3. 对于每个代理程序中继设备,其 agentrelay.properties 文件(位于 relay_install\conf 目录)中的 agentrelay.jms_proxy.secure 属性设置为 true
  4. 对于每个代理程序中继设备,其 agentrelay.properties 文件中的 agentrelay.jms_proxy.mutualAuth 属性设置为 true

过程

  1. 打开命令行窗口并转至服务器安装 conf 目录。
  2. 运行以下命令:
    keytool -export -keystore server.keystore -storepass changeit 
    -alias server -file server.crt
  3. 将导出的文件(证书)复制到代理程序安装 conf 目录或代理程序中继设备安装 conf/jms-relay 目录。
  4. 通过从代理程序的 conf 目录或代理程序中继设备的 jms-relay 目录中运行以下命令来导入文件:
    keytool -import -keystore keystoreFile -storepass changeit 
    -alias server -file server.crt -keypass changeit -noprompt
    对于 keystoreFile,请使用 ibm-ucd.keystore(对于代理程序)和 agentrelay.keystore(对于代理程序中继设备)。 应该会看到 Certificate was added to keystore 消息。
  5. 对于每个本地代理程序或代理程序中继设备,通过运行以下命令(请更改文件参数的名称以与代理程序名称匹配)来导出密钥:
    keytool -export -keystore keystoreFile -storepass changeit 
    -alias ibm-ucd_agent -file agentName.crt
    对于 keystoreFile,请使用 ibm-ucd.keystore(对于代理程序)和 agentrelay.keystore(对于代理程序中继设备)。 对于 agentName,请指定代理程序或代理程序中继设备的唯一字符串标识。 应该会看到 Certificate stored in file agentName.crt 消息。
  6. 将导出的文件复制到服务器的 conf 目录。
  7. 从服务器的 conf 目录中,通过运行以下命令来导入每个证书:
    keytool -import -keystore server.keystore -storepass changeit 
    -alias [agent_name] -file agentName.crt -keypass changeit -noprompt
    应该会看到 Certificate was added to keystore 消息。
  8. 重新启动服务器、代理程序和代理程序中继设备。

下一步做什么

要将代理程序中继设备与远程代理程序进行连接,请按以上说明交换证书:每个远程代理程序都必须导入中继设备的证书,并且中继设备必须从每个远程代理程序导入证书。使用中继设备的代理程序不必与服务器交换证书。

要列示已装入到密钥库的证书,请从密钥库目录中运行以下命令:

keytool -list -keystore keystoreFile -storepass changeit

有关在服务器之间交换密钥的信息,请参阅在服务器之间交换密钥库


反馈