WebSphere 8.5.5在運行時沒有返回簽名者。我們在部署環境和代碼方面存在問題,這些問題用於驗證JAR是否使用了預期密鑰進行簽名。WebSphere 8.5.5不返回JAR簽名者
運行: public static int checkSigning(Class cl){[] signers = 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。