我有一个通过https连接到web服务的java应用程序。
我托管网络服务的域名拥有有效的Goddaddy颁发的SSL证书。
该应用程序在Windows上运行正常但在MacOSx上尝试通过https连接到Web服务时收到以下异常。
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
我已经在运行Mac OS X 10.7.2的两台机器上使用最新的Java运行时更新测试了它。
我理解这通常是需要手动添加的自签名证书的问题,但我有一个有效的Godaddy颁发的证书。
在mac osx上的Web浏览器(safari& firefox)中,证书被识别并且似乎没问题。我甚至尝试手动将证书添加到密钥链中,就像在自签名的情况下一样,但没有结果。
更新
我尝试使用这个基于java的实用程序InstallCert.java获取服务器证书 我注意到在mac osx上,当我运行它时,服务器返回基础Plesk ssl证书而不是godaddy证书。这只是在mac osx上,在Windows上,客户端接收到正确的证书链。所以现在的问题是为什么jre不能像其他所有应用程序一样从服务器获得正确的证书。