【问题标题】:WebSphere 8.5.5 not returning JAR signersWebSphere 8.5.5 不返回 JAR 签名者
【发布时间】:2013-12-12 16:08:50
【问题描述】:

WebSphere 8.5.5 不会在运行时返回签名者。我们在验证 JAR 是否使用预期密钥签名的已部署环境和代码方面存在问题。

运行: 公共静态 int checkSigning(类 cl){ Object[] 签名者 = cl.getSigners();

    if(signers == null)
        return -1;
    else
        return 0;
}

针对已知签名的 JAR(针对 Jarsigner 进行验证)返回 -1(意味着 getSigners 为空),但仅当部署在 WebSphere 8.5.5 实例中时。在其他 servlet 容器(GlassFish、WebLogic、JBoss)中运行都会正确返回签名者。

更复杂的是,我没有直接控制 WebSphere 实例,也没有得到任何关于 JAR 是否被解包或任何其他可能导致此问题的原因的明确答案。

TL;DR:

1) WebSphere 8.5.5 是否有任何关于类的 getSigners 的已知问题?

2) 如果没有,是否有任何容易实现的配置/部署设置来检查以确保 JAR 在部署期间没有被破坏?

我花了几个小时试图挖掘,我发现的所有可以解释这种行为的东西都不适用于 WebSphere 8.5.5。

【问题讨论】:

    标签: java servlets jar websphere jar-signing


    【解决方案1】:

    WebSphere Application Server 的应用程序类加载器在定义类时不使用签名信息。如果你真的需要这个,你最好的选择可能是open an RFE。否则,如果您只是尝试获取元数据,则可能会选择不同的解决方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-24
      • 2014-09-08
      • 1970-01-01
      • 2015-08-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多