WebSphere 8.5.5 не возвращает подписантов JAR

WebSphere 8.5.5 не возвращает подписывающих лиц во время выполнения. У нас есть проблема с развернутой средой и кодом, который проверяет, что JAR подписан ожидаемым ключом.

Выполняется: public static int checkSigning (Class cl) { Object[] signers = cl.getSigners();

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

Для JAR с известной подписью (проверенного на Jarsigner) возвращается -1 (что означает, что getSigners имеет значение null), но только при развертывании в экземпляре WebSphere 8.5.5. Запуск в других контейнерах сервлетов (GlassFish, WebLogic, JBoss) корректно возвращает подписантов.

Чтобы еще больше усложнить ситуацию, я не контролирую непосредственно экземпляр WebSphere и не получил никаких четких ответов относительно того, распаковывается ли JAR или какие-либо другие причины, которые могли бы объяснить это.

TL;DR:

1) Есть ли в WebSphere 8.5.5 известные проблемы с getSigners в классе?

2) Если нет, существуют ли какие-либо простые настройки конфигурации/развертывания фруктов, которые нужно проверить, чтобы убедиться, что JAR не искажается во время развертывания?

Я потратил несколько часов, пытаясь копаться, и все, что я нашел, что могло бы объяснить это поведение, предположительно не относится к WebSphere 8.5.5.


person Stewart Francis    schedule 12.12.2013    source источник


Ответы (1)


Загрузчик классов приложений WebSphere Application Server не использует информацию о подписи при определении класса. Если вам это действительно нужно, вероятно, лучше всего открыть RFE. В противном случае вы можете выбрать другой обходной путь, если просто пытаетесь получить метаданные.

person Brett Kail    schedule 13.12.2013