部署规则集证书错误

时间:2016-09-20 11:11:20

标签: java certificate x509certificate noclassdeffounderror

我正在开发部署规则集(DRS)。我有一个签名的jar文件和包含规则集的xml。 我已将已签名的jar文件和xml部署在C:\ Windows \ Sun \ Java \ Deployment文件夹中。 我还可以在Java控制面板的“安全”选项卡的“查看活动部署规则集”链接中查看xml文件 安全级别很高 Java home指向1.8_66并且所有env变量似乎都没问题。 目前安装了3个版本的java,1.6_45,1.8_66和1.8_71(在java控制面板中可见)。

问题,

http://xyz.abc.com的规则集为1.6+,具有权限运行。但是,当我点击链接xyz.abc.com时,页面上的按钮不会显示,并且“错误...单击以获取详细信息”将显示在其位置。

点击错误后,我得到一个名为“Application Error”的弹出窗口,上面写着

NoClassDefFoundError的

矩阵/ util的/ CallbackListener

点击详细信息并从菜单选项中选择,我可以看到错误

java.security.PrivilegedActionException: java.security.cert.CRLException: Empty input
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.deploy.security.RevocationCheckHelper.retrieveCRL(Unknown Source)
    at com.sun.deploy.security.TrustDecider.reset(Unknown Source)
    ........................

Caused by: java.security.cert.CRLException: Empty input
    at sun.security.provider.X509Factory.engineGenerateCRL(Unknown Source)
    at java.security.cert.CertificateFactory.generateCRL(Unknown Source)
    ........................

任何人都可以指点我错的地方。

此致

1 个答案:

答案 0 :(得分:1)

仅基于异常的堆栈跟踪(因为我真的不知道你的代码在幕后做了什么),我相信你的问题是证书撤销列表不包含任何撤销的证书(序列号)和Java CertPath提供程序无法处理空列表。 您可以检查CRL分发点并查看它是否已撤销证书?如果是这样,你必须为你的代码添加一个调试选项(也许是try / catch),看看抛出异常的方法是什么。