[
https://issues.apache.org/jira/browse/CXF-8999?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jamie Mark Goodyear updated CXF-8999:
-------------------------------------
Description:
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.
was:
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.
> 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
> Priority: Major
> 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)