将数据库的证书添加到 HFM 服务器上的信任库
必须在运行 HFM 数据源的每个 EPM 服务器上执行以下步骤。下面使用的 %MW_HOME%
环境变量是 Oracle Middleware 安装的位置。在 EPM 安装期间默认不创建此环境变量,此处用于显示 EPM 安装的父目录。
EPM 安装的位置由 EMP_ORACLE_HOME
环境变量指定。下面的示例将密钥库和信任库放置在与 EPM 安装位置相同的目录中。密钥库和信任库文件可以位于 HFM 服务器文件系统的任何位置。
%MW_HOME%
下创建一个新目录来存储 Java 密钥库和 PKCS12 信任库。
%MW_HOME%
certs
%MW_HOME%\certs
%MW_HOME%\jdk1.8.0_181\jre\lib\security\cacerts testing_cacerts
复制并使用该 JDK 密钥库而非使用 JDK 默认密钥库的原因是,如果升级 JDK 并删除了之前的 JDK,插入到默认密钥库中的密钥和证书将丢失。
%MW_HOME%\certs
。testing_cacerts
。
keytool -importcert -file bur00cbb-certificate.crt -keystore testing_cacerts -alias "myserver"
keytool -importkeystore -srckeystore testing_cacerts -srcstoretype JKS -deststoretype PKCS12 -destkeystore testing_cacerts.pfx
将 HFM JDBC 连接更新为使用 SSL
执行下列每个命令:
epmsys_registry.bat addproperty FINANCIAL_MANAGEMENT_PRODUCT/DATABASE_CONN/@ODBC_TRUSTSTORE "C: \Oracle\Middleware\certs\testing_cacerts.pfx" epmsys_registry.bat addencryptedproperty FINANCIAL_MANAGEMENT_PRODUCT/DATABASE_CONN /@ODBC_TRUSTSTOREPASSWORD <truststorepassword> epmsys_registry.bat addproperty FINANCIAL_MANAGEMENT_PRODUCT/DATABASE_CONN /@ODBC_VALIDATESERVERCERTIFICATE false
在以上示例中,路径 C:\Oracle\Middleware
是步骤 1、2 和 3 中的 %MW_HOME%
值。
仅当使用自签名证书时,才应将属性 FINANCIAL_MANAGEMENT_PRODUCT/DATABASE_CONN/@ODBC_VALIDATESERVERCERTIFICATE
设置为 false。FINANCIAL_MANAGEMENT_PRODUCT/DATABASE_CONN/@ODBC_TRUSTSTOREPASSWORD
的值应该是步骤 2 中复制的原始 Java 密钥库的密码。
更新 HFM 使用的 TNS 名称条目
编辑 TNSNAMES.ORA
可创建新条目并重命名旧条目。以下示例显示了 HFM 服务器上已应用必要更改的更新后 TNSNAMES.ORA
文件。进行这些更改的原因是 HFM 查找并使用名为 HFMTNS
的 TNS 名称条目。必须更改此条目的协议和端口,XFMDataSource
才能正常工作。
HFMTNS_UNENC = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = myserver)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = myserver_service) (SERVER = DEDICATED) ) ) HFMTNS = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCPS)(HOST = myserver)(PORT = 1522)) ) (CONNECT_DATA = (SERVICE_NAME = myserver_service) (SERVER = DEDICATED) ) )
原始 HFMTNS
条目已重命名为 HFMTNS_UNENC
。通过复制 HFMTNS_UNENC
条目并将其重命名为 HFMTNS
生成了新的 HFMTNS
。然后,协议更新为 TCPS,并且端口更改为 1522
。指定的端口必须与 TNS LISTENER.ORA
文件中指定的端口相同。