在我的项目中,我集成了Spring Security和CAS服务器身份验证。现在我的项目是一个http应用程序,其中CAS服务器是一个Https应用程序。在Spring Security和CAS集成之后,我得到了以下异常:sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
为了解决这个错误,我将CAS服务器usr\java\jre\lib\security\cacerts文件替换为我的本地usr\java\jre\lib\security\cacerts文件。在这一步之后,错误就消失了。
现在我想将我的应用程序部署到其他服务器上。在这个新服务器中,还部署了一些其他应用程序,这些应用程序可能使用不同的CAS身份验证。我不能直接用这个新的服务器cacerts文件替换我的CAS服务器cacerts文件,因为在部署的其他应用程序可能会fail.Right?有人能建议我应该怎么做才能合并cacerts,或者应该怎么做吗?我知道了一个叫做keytool的命令,但是我不明白它是如何用来合并cacerts文件的。我不知道如何获得我的归档存储服务器.cer文件,我知道这可以用于合并,请建议解决方案
发布于 2012-03-31 23:46:10
这里有一个误解。
cacerts是Java的默认信任库,包含已知CA (Verisign等)的所有受信任证书。因此,默认情况下,java可以像浏览器一样信任这些证书。
当您想要连接到由这些CA签名的服务器时,应该使用此信任库。
在所有其他情况下,您应该使用自己的自定义信任库,这样您就可以信任特定的servers.Actually,这是规范。
因此,您应该做的是在代码中加载您自己的信任库,并将其提供给Java,以便在握手期间用于身份验证
https://stackoverflow.com/questions/9954458
复制相似问题