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)

Reply via email to