如何将信任存储与pentaho数据集成/Rest客户端一起使用?

问题描述 投票:0回答:2

我正在使用 Pentaho 数据集成 (Kettle)。我的目标是通过 HTTPS 使用现有的 REST API。为了实现这一点,我使用 pdi 提供的 REST 客户端。

在我的本地环境中,我可以使用此 API。但是,一旦我将其推送到生产服务器(redhat)并运行该作业,我就会收到与 SSL 证书相关的错误:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

为了提供目标证书,我首先使用 keytool [in /home/user/] 将其添加到新的密钥库中:

keytool -importcert -keystore spoc.truststore -alias spoc-preprod  -file cert.crt -noprompt

为了让 PDI 使用此信任库,我已经配置了其余客户端,如下所示:

Rest client SSL truststore configuration

在生产中推送相关转换并运行作业后,我遇到了不同的错误:

Keystore was tampered with, or password was incorrect

    at org.pentaho.di.trans.steps.rest.Rest.setConfig(Rest.java:274)
    at org.pentaho.di.trans.steps.rest.Rest.init(Rest.java:483)
    at org.pentaho.di.trans.step.StepInitThread.run(StepInitThread.java:65)
    at java.lang.Thread.run(Thread.java:662)
Caused by: java.io.IOException: Keystore was tampered with, or password was incorrect
        at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:771)
        at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:38)
        at java.security.KeyStore.load(KeyStore.java:1185)
        at org.pentaho.di.trans.steps.rest.Rest.setConfig(Rest.java:249)
        ... 3 more
Caused by: java.security.UnrecoverableKeyException: Password verification failed
        at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:769)
        ... 6 more

我确定我提供的密钥库的路径(如果我输入虚拟路径,则会出现文件未找到异常),并且我更确定密码。

经过两天的搜索,在网上没有发现类似的问题。这就是为什么我现在需要你的帮助:)

南斯

rest ssl truststore pdi
2个回答
1
投票

我知道我可能迟到了,但几天前我也遇到了同样的问题。我使用密钥库的默认密码解决了这个问题,正如这个答案所解释的那样,即

changeit


1
投票
  1. 在浏览器(chrome、firefox)中复制并粘贴您用于 api 请求的 URL
  1. 单击 URL 开头之前出现的锁定图标
  2. 选择证书
  3. 转到详细信息选项卡
  4. 单击“复制到文件”,然后单击“下一步”
  5. 保留默认选择的类型(DER编码)
  6. 点击下一步,选择要下载证书的位置并保存。
  7. 以管理员身份在计算机中打开命令提示符
  8. 执行以下命令

“C:\Program Files\Java\jre7 in\keytool” -import -alias 拼车 -keystore“C:\Program\Files\Java\jre7\lib\securit

© www.soinside.com 2019 - 2024. All rights reserved.