1

amAuthContext:02/12/2014 04:58:20:946 下午 CST: Thread[main,5,main]

错误:无法从服务器获取认证服务 url:null://null:null

我在“C:\tomcat_v6_agent\Agent_001\logs\debug”中找到它

而且我确定可以阅读和访问的网址,

她是OpenSSOAgentConfiguration.properties中的设置

com.iplanet.am.server.protocol=http

com.iplanet.am.server.host=gordon.demo.com

com.iplanet.am.server.port=8080

它已经在我的 dns 配置中设置了。

现在我无法启动我的应用程序 tomcat ,但 openam 在另一个可以正常工作的 tomcat 中。环境是 test.demo.com 端口 8086 中的应用程序 tomcat gordon.demo.com 端口 8080 中的 openam tomcat

而登录tomcat是这样的

org.apache.tomcat.util.digester.Digester startElement
SEVERE: Begin event threw error
java.lang.StackOverflowError
    at java.lang.String.indexOf(String.java:1698)
    at java.net.URLStreamHandler.parseURL(URLStreamHandler.java:272)
    at sun.net.www.protocol.file.Handler.parseURL(Handler.java:67)
    at java.net.URL.<init>(URL.java:614)
    at java.net.URL.<init>(URL.java:482)
    at sun.misc.URLClassPath$FileLoader.getResource(URLClassPath.java:1034)
    at sun.misc.URLClassPath$FileLoader.findResource(URLClassPath.java:1024)
    at sun.misc.URLClassPath.findResource(URLClassPath.java:172)
    at java.net.URLClassLoader$2.run(URLClassLoader.java:551)
    at java.net.URLClassLoader$2.run(URLClassLoader.java:549)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findResource(URLClassLoader.java:548)
    at java.lang.ClassLoader.getResource(ClassLoader.java:1138)
    at java.net.URLClassLoader.getResourceAsStream(URLClassLoader.java:227)
    at javax.xml.parsers.SecuritySupport$4.run(SecuritySupport.java:94)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.xml.parsers.SecuritySupport.getResourceAsStream(SecuritySupport.java:87)
    at javax.xml.parsers.FactoryFinder.findJarServiceProvider(FactoryFinder.java:275)
    at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:247)
    at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:121)
    at org.forgerock.util.xml.XMLUtils.getSafeDocumentBuilder(XMLUtils.java:52)
    at com.sun.identity.shared.xml.XMLUtils.getSafeDocumentBuilder(XMLUtils.java:901)
    at com.sun.identity.shared.xml.XMLUtils.toDOMDocument(XMLUtils.java:168)
    at com.sun.identity.shared.xml.XMLUtils.toDOMDocument(XMLUtils.java:146)
    at com.iplanet.services.comm.share.ResponseSetParser.<init>(ResponseSetParser.java:49)
    at com.iplanet.services.comm.share.ResponseSet.parseXML(ResponseSet.java:118)
    at com.iplanet.services.comm.client.PLLClient.send(PLLClient.java:214)
    at com.iplanet.services.comm.client.PLLClient.send(PLLClient.java:95)
    at com.iplanet.services.naming.WebtopNaming.getNamingTable(WebtopNaming.java:1156)
    at com.iplanet.services.naming.WebtopNaming.updateNamingTable(WebtopNaming.java:1192)
    at com.iplanet.services.naming.WebtopNaming.getNamingProfile(WebtopNaming.java:1109)
    at com.iplanet.services.naming.WebtopNaming.getServerID(WebtopNaming.java:696)
    at com.iplanet.services.naming.WebtopNaming.getServerID(WebtopNaming.java:621)
    at com.iplanet.services.naming.WebtopNaming.updatePlatformServerIDs(WebtopNaming.java:1302)
    at com.iplanet.services.naming.WebtopNaming.updateNamingTable(WebtopNaming.java:1226)
    at com.iplanet.services.naming.WebtopNaming.getNamingProfile(WebtopNaming.java:1109)
    at com.iplanet.services.naming.WebtopNaming.getServerID(WebtopNaming.java:696)
    at com.iplanet.services.naming.WebtopNaming.getServerID(WebtopNaming.java:621)
    at com.iplanet.services.naming.WebtopNaming.updatePlatformServerIDs(WebtopNaming.java:1302)
    at com.iplanet.services.naming.WebtopNaming.updateNamingTable(WebtopNaming.java:1226)
    at com.iplanet.services.naming.WebtopNaming.getNamingProfile(WebtopNaming.java:1109)
    at com.iplanet.services.naming.WebtopNaming.getServerID(WebtopNaming.java:696)
    at com.iplanet.services.naming.WebtopNaming.getServerID(WebtopNaming.java:621)
    at com.iplanet.services.naming.WebtopNaming.updatePlatformServerIDs(WebtopNaming.java:1302)
    at com.iplanet.services.naming.WebtopNaming.updateNamingTable(WebtopNaming.java:1226)
    at 

    at .........

    at com.iplanet.services.naming.WebtopNaming.updatePlatformServerIDs(WebtopNaming.java:1302)
4

2 回答 2

1

你不必设置

com.iplanet.am.server.protocol=http

com.iplanet.am.server.host=gordon.demo.com

com.iplanet.am.server.port=8080

'错误:无法从服务器获取身份验证服务 url:null://null:null'

不是真正的错误,代理用于获取应用程序令牌的 AuthContext API 将回退到使用 OpenAM 的命名服务。

在 OpenSSOAgentBootstrap.property 中将调试级别设置为“消息”,它应该会为您提供失败原因和原因的线索。

于 2014-02-13T08:33:19.030 回答
0

我遇到了这篇文章,正在寻找相同错误的解决方案。

就我而言,问题是 Java 1.6 不处理更大的加密密钥。我修补了 JVM 以使用 Bouncy Castle。

在 java.security 中,我将它们设置为 2,而不是“sun.security.rsa.SunRsaSign”。

https://www.bouncycastle.org/specifications.html#install

还可以通过静态注册将提供程序配置为环境的一部分,方法是向 java.security 属性文件(位于 $JAVA_HOME/jre/lib/security/java.security 中找到,其中 $JAVA_HOME 是 JDK 的位置)添加一个条目/JRE 分布)。您将在文件中找到详细说明,但基本上归结为添加一行:

security.provider.N=org.bouncycastle.jce.provider.BouncyCastleProvider

其中 N 是您希望提供程序的首选项(1 是最喜欢的)。

将 jar 放在哪里主要取决于您,尽管 jdk1.3 和 jdk1.4 最好(并且仅在某些情况下)放置它的地方是 $JAVA_HOME/jre/lib/ext。注意:在 Windows 下,如果您认为已正确安装 Java,通常会安装 Java 的 JRE 和 JDK,但如果您已将提供程序添加到未使用的安装中,它仍然无法正常工作。

注意:对于 JDK 1.4 及更高版本,您需要安装不受限制的策略文件才能充分利用提供程序。如果您不安装策略文件,您可能会得到如下内容:

    java.lang.SecurityException: Unsupported keysize or algorithm parameters
            at javax.crypto.Cipher.init(DashoA6275)

可以在您下载 JDK 的同一位置找到策略文件。

于 2018-03-05T10:12:33.233 回答