Skip to Main Content

Security Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

OIM Authenticator - Authentication of user xxxx failed because of invalid signature

1018102Jan 14 2014 — edited Jan 15 2014

Hi Folks,

Trying to authenticate user using below code :

            SignedObject signedMsg = new SignedObject(<UserId>, <PrivateKey>, <SignatureEngine>);

            Properties env = ConfigurationClient.getComplexSettingByPath(OIMServiceConstants.DISCOVERY_CORE_SERVER).getAllSettings();

            tcUtilityFactory signedUtilityFactory = new tcUtilityFactory(env, signedMsg);

            tcUserOperationsIntf oimUserUtility = (tcUserOperationsIntf) signedUtilityFactory.getUtility("Thor.API.Operations.tcUserOperationsIntf");

            OIMUserOperation oimSignedUserOps = new OIMUserOperation(oimUserUtility, this);

Had imported cert to OIM DOMAIN keystore. Below are few other information used for creating SignedObject, PrivateKey and SignatureEngine.

security provider class name : sun.security.provider.Sun

keystore alias : oimclient

signature algo : SHA1withRSA

signature provider class name : sun.security.rsa.SunRsaSign

Throwing below error on execution of above code :

<Error> <XELLERATE.ACCOUNTMANAGEMENT> <BEA-000000> <Class/Method: tcCryptoUtil/getSignedMessage encounter some problems: {1}

java.io.OptionalDataException

        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)

        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)

        at com.thortech.xl.crypto.tcSignatureMessage.readObject(tcSignatureMessage.java:97)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

        at java.lang.reflect.Method.invoke(Method.java:597)

        at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:969)

        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848)

        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)

        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)

        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)

        at com.thortech.xl.crypto.tcCryptoUtil.getSignedMessage(tcCryptoUtil.java:231)

        at oracle.iam.platform.auth.impl.Authenticator.correctSignature(Authenticator.java:253)

        at oracle.iam.platform.auth.impl.Authenticator.authenticateWithSignature(Authenticator.java:232)

        at oracle.iam.platform.auth.impl.Authenticator.authenticate(Authenticator.java:132)

        at oracle.iam.platform.auth.providers.wls.OIMAuthLoginModule.login(OIMAuthLoginModule.java:46)

        at com.bea.common.security.internal.service.LoginModuleWrapper$1.run(LoginModuleWrapper.java:110)

        at java.security.AccessController.doPrivileged(Native Method)

        at com.bea.common.security.internal.service.LoginModuleWrapper.login(LoginModuleWrapper.java:106)

        at sun.reflect.GeneratedMethodAccessor1056.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

        at java.lang.reflect.Method.invoke(Method.java:597)

        at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)

        at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)

        at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)

        at java.security.AccessController.doPrivileged(Native Method)

        at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)

        at javax.security.auth.login.LoginContext.login(LoginContext.java:579)

        at com.bea.common.security.internal.service.JAASLoginServiceImpl.login(JAASLoginServiceImpl.java:113)

        at sun.reflect.GeneratedMethodAccessor1076.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

        at java.lang.reflect.Method.invoke(Method.java:597)

        at com.bea.common.security.internal.utils.Delegator$ProxyInvocationHandler.invoke(Delegator.java:57)

        at $Proxy16.login(Unknown Source)

        at weblogic.security.service.internal.WLSJAASLoginServiceImpl$ServiceImpl.login(WLSJAASLoginServiceImpl.java:89)

        at com.bea.common.security.internal.service.JAASAuthenticationServiceImpl.authenticate(JAASAuthenticationServiceImpl.java:82)

        at sun.reflect.GeneratedMethodAccessor1545.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

        at java.lang.reflect.Method.invoke(Method.java:597)

        at com.bea.common.security.internal.utils.Delegator$ProxyInvocationHandler.invoke(Delegator.java:57)

        at $Proxy34.authenticate(Unknown Source)

        at weblogic.security.service.WLSJAASAuthenticationServiceWrapper.authenticate(WLSJAASAuthenticationServiceWrapper.java:40)

        at weblogic.security.service.PrincipalAuthenticator.authenticate(PrincipalAuthenticator.java:338)

        at weblogic.common.internal.RMIBootServiceImpl.authenticate(RMIBootServiceImpl.java:109)

        at weblogic.common.internal.RMIBootServiceImpl_WLSkel.invoke(Unknown Source)

        at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)

        at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)

        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)

        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)

        at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)

        at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)

        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)

        at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

>

<Error> <OIM Authenticator> <BEA-000000> <Invalid certificate>

<Error> <OIM Authenticator> <BEA-000000> <Authentication of user taytest failed because of invalid signature>

Have anybody came across issue like this before? Thanking in advance.

This post has been answered by 1018102 on Jan 15 2014
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Feb 12 2014
Added on Jan 14 2014
1 comment
668 views