由于缺少证书,无法从 java 访问 blockchain.info



我正在尝试访问java的https://blockchain.info/lastblock但是代码投掷:
引起:sun.security.provider.certpath.suncertpathbuilderexception:无法找到请求目标的有效认证路径

这通常是由于自签名的证书,但没有自签名(您可以在浏览器中检查)。看起来Java不是用户系统CA证书。不是错误吗?我导出了证书,并将其动态插入到Java密钥库中,但我不喜欢此解决方案(不确定它将检查此证书等的撤销列表)。那么解决问题的最佳解决方案是什么?

我使用此代码测试http://www.cs.ucsb.edu/~pconrad/cs56/cs56/examples/ldap/simplequery/installcert.java

信任根列表不时更改,而Java的内置一个通常与浏览器的内置列表有所不同。这些信任的根源是系统密钥库中存储的内容(嗯,从技术上讲,在系统托儿所中),您可以通过将要支持的额外根添加到存储在主目录中的每个用户密钥库中来添加到它们中。它在用keytool操纵的默认位置。

您实际上的证书考虑将其放在那里(如果还没有)是" Comodo认证机构";浏览器喜欢它(即,您 can 独立于Java验证它),但您的Java却没有。它具有直接登录到其中的撤销信息,因此应该是您所需要的;ssl/pki是假定的可以从根CA证书中引导。

最新更新