Jamie Mark Goodyear created CXF-8999:
----------------------------------------
Summary: KerberosTokenTest testKerberosViaCustomTokenAction should
not run on IBM Java
Key: CXF-8999
URL: https://issues.apache.org/jira/browse/CXF-8999
Project: CXF
Issue Type: Test
Affects Versions: 4.0.4
Reporter: Jamie Mark Goodyear
Fix For: 4.0.5
KerberosTokenTest testKerberosViaCustomTokenAction should not run on IBM Java.
The test case fails on ClassNotFound com.ibm.security.jgss.InquireType - this
is thrown due to wss4j-ws-security-common having a hard coded check for IBM
Java to use the above mentioned class.
KerberosClientExceptionAction.class:
`
try {
Class inquireType = Class.forName(IS_IBM_VENDOR ?
"com.ibm.security.jgss.InquireType" : "com.sun.security.jgss.InquireType");
Class extendedGSSContext = Class.forName(IS_IBM_VENDOR ?
"com.ibm.security.jgss.ExtendedGSSContext" :
"com.sun.security.jgss.ExtendedGSSContext");
Method inquireSecContext = extendedGSSContext.getMethod("inquireSecContext",
inquireType);
Key key = (Key)inquireSecContext.invoke(secContext, Enum.valueOf(inquireType,
"KRB5_GET_SESSION_KEY"));
krbCtx.setSecretKey(key);
return krbCtx;
} catch (NoSuchMethodException | IllegalAccessException |
InvocationTargetException | ClassNotFoundException var13) {
throw new WSSecurityException(ErrorCode.FAILURE, var13,
"kerberosServiceTicketError");
}
`
Most of the test cases in KerberosTokenTest are set to avoid running when on
IBM, I believe this test case should also be set to not run. A future
improvement would be to update wss4j-ws-security-common to be IBM Semeru
friendly, then update CXF accordingly.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)