我刚刚从Yodlee网站下载了示例Java代码,并将其合并到我的Web应用程序中。当我尝试运行时,我在Cobrand登录上出错:

Validating Cobrand by Connecting to URL https://rest.developer.yodlee.com/services/srest/restserver/v1.0/authenticate/coblogin
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


我认为问题在于我的开发环境(JDeveloper)没有Yodlee的SSL证书。我已经搜索了Yodlee网站,但没有看到我可以导入/引用的测试SSL证书的任何提及。

我为OFX连接创建了类似的代码,并且遇到了同样的问题。该解决方案是创建一个EventListener,然后忽略SSL:

public void SSLServerAuthentication(InvstatementSSLServerAuthenticationEvent invstatementSSLServerAuthenticationEvent) {
      invstatementSSLServerAuthenticationEvent.accept = true;
}


我也找不到有关Yodlee事件侦听器基类的任何信息。

其他人如何解决这个问题?
我假设一旦将其部署到生产环境中,就必须将Yodlee SSL证书导入到我的WebLogic证书存储中……但是现在一次只存在一个问题:)

[编辑]回答
我通过更改JDeveloper的密钥库使用的位置来解决此问题。
它是.... / DemoTrust.jks,我将其更改为:
C:\ Oracle \ Middleware11116 \ jdk160_24 \ jre \ lib \ security \ cacerts
这在“工具” /“首选项” /“凭据”下

有人告诉我DemoTrust.jks中没有很多签名授权机构,而cacerts有。
我还需要确保生产的WebLogic服务器使用的是cacerts,而不是DemoTrust。显然,在WebLogic的启动中,如果您要指向DemoTrust,则会收到一个大警告。

最佳答案

回答
[很抱歉重复,但是我应该“回答”我的问题,而不是将答案编辑为问题)

我通过更改JDeveloper的密钥库使用的位置来解决此问题。它是.... / DemoTrust.jks,我将其更改为:C:\ Oracle \ Middleware11116 \ jdk160_24 \ jre \ lib \ security \ cacerts这在“工具” /“首选项” /“凭据”下

有人告诉我DemoTrust.jks中没有很多签名授权机构,而cacerts有。我还需要确保生产的WebLogic服务器使用的是cacerts,而不是DemoTrust。显然,在WebLogic的启动中,如果您要指向DemoTrust,则会收到一个大警告。

克里斯

关于java - Yodlee-尝试进行联合品牌登录时出现SSL错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20475720/

10-10 04:11