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.