Weblogic.security.CipherException: Invalid padding length

I am having some difficulties configuring SSL for WebLogic 6.0.2J (Japanese).
Here is the history of my problem:
1. A CSR was generated, but on a completely different platform (Windows) and
for a slightly older version of WebLogic (6.0.1J)
2. I was then brought in to install and configure WebLogic 6.0.2J on UNIX.
3. I was then given the encrypted private key (security_net-chef_net-key.der),
the CSR files, and the server cert from VeriSign Japan (cert.pem). I went to VeriSign
Japan to get an intermediate CA cert (Server Chain Cert), which I saved as ca.pem.
4. In the Admin Console, I configured the server in my target domain with: Server
Certificate File Name = cert.pem, Trusted CA File Name = ca.pem, and Trusted CA
File Name = security_net-chef_net-key.der.
5. When I attempt to start my target server, I am seeing the following alert:
===========================================================
<2001/08/07 13:22:25:JST> <Alert> <WebLogicServer> <&#35469;&#35388;&#12501;&#12449;&#12452;&#12523;
config/net-chef
/security_net-chef_net-key.der &#12395;&#12475;&#12461;&#12517;&#12522;&#12486;&#12451;
&#12467;&#12531;&#12501;&#12451;&#12464;&#12524;&#12540;&#12471;&#12519;&#12531;&#19978;&#12398;&#21839;&#38988;&#12364;&#12354;&#12426;
&#12414;&#12377;&#12290;java.io.IOException: weblogic.security.CipherException:
Invalid padding le
ngth 72>
java.io.IOException: weblogic.security.CipherException: Invalid padding length
7
2
at weblogic.security.RSAPrivateKeyPKCS8.input(RSAPrivateKeyPKCS8.java:15
7)
at weblogic.security.RSAPrivateKeyPKCS8.<init>(RSAPrivateKeyPKCS8.java:1
25)
at weblogic.t3.srvr.SSLListenThread.<init>(SSLListenThread.java:387)
at weblogic.t3.srvr.SSLListenThread.<init>(SSLListenThread.java:297)
at weblogic.t3.srvr.T3Srvr.initializeListenThreads(T3Srvr.java:942)
at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:403)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:169)
at weblogic.Server.main(Server.java:35)
===========================================================
Please note that as I am doing this on a Japanese OS, some of the above messages
may be rendered illegible.
If anyone out there has a clue to why I am seeing the above error, I would greatly
appreciate your help.
Thanks and aloha in advance,
Brooke

See Posting 5457.

Similar Messages

  • Weblogic.security.CipherException: Incorrect block length 256 (modulus

    Hi,
    I have a stand alone java client which runs in the weblogic 8.1 server and when I tried to connect to the external site using the weblogic's HttpsURLConnection ,its throws the below exception.
    weblogic.security.CipherException: Incorrect block length 256 (modulus length 128)
    <Info> <Security> <BEA-090511> <The following exception has occurred:
    weblogic.security.CipherException: Incorrect encrypted block
         at weblogic.security.RSApkcs1.decrypt(RSApkcs1.java:205)
         at weblogic.security.RSAMDSignature.verify(RSAMDSignature.java:89)
         at weblogic.security.X509.verifySignature(X509.java:246)
         at weblogic.security.X509.verify(X509.java:176)
         at weblogic.security.SSL.SSLCertificate.verify(SSLCertificate.java:133)
         at weblogic.security.SSL.SSLCertificate.input(SSLCertificate.java:116)
         at weblogic.security.SSL.Handshake.input(Handshake.java:121)
         at weblogic.security.SSL.SSLSocket.getHandshake(SSLSocket.java:1117)
         at weblogic.security.SSL.SSLSocket.clientInit(SSLSocket.java:432)
         at weblogic.security.SSL.SSLSocket.initialize(SSLSocket.java:276)
         at weblogic.security.SSL.SSLSocket.<init>(SSLSocket.java:222)
         at weblogic.security.SSL.SSLSocketFactory.createSocket(SSLSocketFactory.java:213)
         at weblogic.net.http.HttpsClient.openServer(HttpsClient.java:238)
         at weblogic.net.http.HttpsClient.openServer(HttpsClient.java:389)
         at weblogic.net.http.HttpsClient.<init>(HttpsClient.java:209)
         at weblogic.net.http.HttpClient.New(HttpClient.java:228)
         at weblogic.net.http.HttpsURLConnection.getHttpClient(HttpsURLConnection.java:246)
         at weblogic.net.http.HttpsURLConnection.connect(HttpsURLConnection.java:217)
         at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:319)
         at HttpsConnect.main(HttpsConnect.java:13)
    <Info> <SSL> <000000> <weblogic.security.AuthenticationException: Incorrect encrypted block possibly incorrect SSLServerCertificateChainFileName set for this server certificate>
    java.io.IOException: weblogic.security.AuthenticationException: Incorrect encrypted block possibly incorrect SSLServerCertificateChainFileName set for this server certificate
    at weblogic.security.SSL.SSLCertificate.verify(SSLCertificate.java:172)
    at weblogic.security.SSL.SSLCertificate.input(SSLCertificate.java:116)
    at weblogic.security.SSL.Handshake.input(Handshake.java:121)
    at weblogic.security.SSL.SSLSocket.getHandshake(SSLSocket.java:1117)
    at weblogic.security.SSL.SSLSocket.clientInit(SSLSocket.java:432)
    at weblogic.security.SSL.SSLSocket.initialize(SSLSocket.java:276)
    at weblogic.security.SSL.SSLSocket.<init>(SSLSocket.java:222)
    at weblogic.security.SSL.SSLSocketFactory.createSocket(SSLSocketFactory.java:213)
    at weblogic.net.http.HttpsClient.openServer(HttpsClient.java:238)
    at weblogic.net.http.HttpsClient.openServer(HttpsClient.java:389)
    at weblogic.net.http.HttpsClient.<init>(HttpsClient.java:209)
    at weblogic.net.http.HttpClient.New(HttpClient.java:228)
    at weblogic.net.http.HttpsURLConnection.getHttpClient(HttpsURLConnection.java:246)
    at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:359)
    at HttpsConnect.main(HttpsConnect.java:13)
    I verified the certifiate chain by using the weblogic's ValidateCertChain utility, and the output seems to be confusing for the intermediate site and the entity site.
    java utils.ValidateCertChain -pem inter.cerCert[0]: CN=VeriSign Class 3 International Server CA - G3,OU=Terms of use at https://www.verisign.com/r
    pa (c)10,OU=VeriSign Trust Network,O=VeriSign\, Inc.,C=US
    Certificate chain is incomplete, can't confirm the entire chain is valid
    Certificate chain appears valid
    Any pointers will be appreciated.

    This might be because Verisign has included anadditional intermediate certificate in its chain
    You can find it here
    https://knowledge.verisign.com/support/ssl-certificates-support/index?page=content&id=AR657&actp=search&viewlocale=en_US
    Contact Verisign Support, u can chat with them even...
    Let me know if you have any doubt.
    Cheers!
    Faisal
    http://www.weblogic-wonders.com

  • CipherException: Invalid padding length

    Hello there,
    I'm having problem to get our certifikates to work properly. I've been searching
    BEA's newsgroups and found some things we've tried without any succes.
    We have two certificates for our domain because we are using an load balancer(Local
    Directory)infront of our two webservers. Our webservers have version 6.1 of WLS
    and are managed from an ServerManager(also WLS 6.1).
    We us the same ./config/mydomain directory on the ServerManager for both of our
    webserver. The filenames for each server in ./config/mydomain are different ex:
    my_domain_server1-key.der and my_domain_server2-key.der. We have also checked
    that they are correct defind for both servers under each server SSL tag.
    We have an newly fetched a CA-cert from Thawte and recived our certificates for
    this domain during this week.
    Could there be any problem with that we using the
    same ./config/mydomain directory on the ServerManager for both of our webserver?
    Or does anybody have any other suggestion of what more to check before we fetches
    new certificates?
    Regards
    Lennart

    If you are using password encryption, then please make sure KeyEncrypted field is
    enabled and please make sure the password which you set for:
    -Dweblogic.management.pkpassword is the same as value of the Private Key Password field
    of the Certificate Request Generator servlet (please go through the documentation:
    http://e-docs.bea.com/wls/docs61/adminguide/cnfgsec.html#1053930
    for details).
    Please inform whether the problem has been resolved with the above suggestions. Thank
    you.
    Lennart wrote:
    Hello there,
    I'm having problem to get our certifikates to work properly. I've been searching
    BEA's newsgroups and found some things we've tried without any succes.
    We have two certificates for our domain because we are using an load balancer(Local
    Directory)infront of our two webservers. Our webservers have version 6.1 of WLS
    and are managed from an ServerManager(also WLS 6.1).
    We us the same ./config/mydomain directory on the ServerManager for both of our
    webserver. The filenames for each server in ./config/mydomain are different ex:
    my_domain_server1-key.der and my_domain_server2-key.der. We have also checked
    that they are correct defind for both servers under each server SSL tag.
    We have an newly fetched a CA-cert from Thawte and recived our certificates for
    this domain during this week.
    Could there be any problem with that we using the
    same ./config/mydomain directory on the ServerManager for both of our webserver?
    Or does anybody have any other suggestion of what more to check before we fetches
    new certificates?
    Regards
    Lennart--
    Developer Relations Engineer
    BEA Support

  • Invalid key length: exception

    Hi,
    I will really appreciate if someone can help me on this.
    I created a keystore using below tool
    keytool -genkey -v -alias myAlias -keyalg DSA -keystore myKey.keystore -storetype JCEKS -provider com.sun.crypto.provider.SunJCEI am using following code to encrypt the data.
    Cipher cipher = Cipher.getInstance("DESede/ECB/PKCS5Padding",provider.getName());
    Key key = store.getKey(myAlias, myPassword);
    cipher.init(Cipher.ENCRYPT_MODE, key);
    encrypted = cipher.doFinal(data);But I get following error everytime,
    java.security.InvalidKeyException: Invalid key length: 335 bytes
    at com.sun.crypto.provider.DESedeCipher.engineGetKeySize(DashoA12275)
    at javax.crypto.Cipher.init(DashoA12275)I will appreciate if who can advice me on this issue.
    Thanks,
    Rouble

    Please look at http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=65&t=001211

  • Weblogic upgrade 9.2 - 10.2: Could not perform unpadding: invalid pad byte

    While upgrading a domain from 9.2 to 10.2, I get the following error on running upgrade.sh:
    -bash-3.00$ ./upgrade.sh
    Warning: Cannot convert string "-monotype-arial-regular-r-normal--*-140-*-*-p-*-iso8859-1" to type FontStruct
    Calling Wizard framework for upgrade: args2: [-mode=gui, -file=wcf/plugin_gui_wizard.xml, -log=/app/bea/bea_10.2/user_projects/upgrade_logs/domain_04292008_152323_1, -p:plugin:plugin.executionPlan.file=resources/portal-upgrade.xml, -p:plugin:I18N_PLUGIN=weblogic/upgrade/i18n_upgrade, -p:plugin:TARGET_VERSION=10.0.1.0]
    weblogic.upgrade.domain.directoryselection.DomainDirectorySelectionPlugIn.validatePlatformDomain: Property set to skip platform domain validation. Skipping...
    <apr 29, 2008 3:23:56 PM CEST> <INFO> <Upgrade> <BEA-800000> <If not present, set the source WebLogic Configuration to:9.0>
    <apr 29, 2008 3:23:56 PM CEST> <INFO> <Upgrade> <BEA-800000> <If not present, set the source WebLogic Configuration to:9.0>
    <apr 29, 2008 3:23:56 PM CEST> <INFO> <Upgrade> <BEA-800000> <Domain directory selected: /app/bea_domains/portal>
    <apr 29, 2008 3:23:56 PM CEST> <INFO> <Upgrade> <BEA-800000> <Domain directory selected: /app/bea_domains/portal>
    <apr 29, 2008 3:24:16 PM CEST> <FATAL> <Upgrade> <BEA-800000> <Execute Exception ... weblogic.descriptor.DescriptorException: Unmarshaller failed>
    com.bea.plateng.plugin.PlugInException: Execute Exception ... weblogic.descriptor.DescriptorException: Unmarshaller failed
    at weblogic.upgrade.domain.directoryselection.DomainDirectorySelectionPlugIn.execute(DomainDirectorySelectionPlugIn.java:261)
    at com.bea.plateng.wizard.plugin.silent.tasks.ExecutePlugInTask.execute(ExecutePlugInTask.java:76)
    at com.bea.plateng.wizard.silent.tasks.AbstractSilentTask.run(AbstractSilentTask.java:28)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: weblogic.descriptor.DescriptorException: Unmarshaller failed
    at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor(MarshallerFactory.java:152)
    at weblogic.descriptor.BasicDescriptorManager.createDescriptor(BasicDescriptorManager.java:292)
    at weblogic.management.provider.internal.DescriptorManagerHelper.loadDescriptor(DescriptorManagerHelper.java:58)
    at weblogic.upgrade.domain.directoryselection.DomainDirectorySelectionPlugIn.parseNewStyleConfig(DomainDirectorySelectionPlugIn.java:416)
    at weblogic.upgrade.domain.directoryselection.DomainDirectorySelectionPlugIn.execute(DomainDirectorySelectionPlugIn.java:226)
    ... 3 more
    Caused by: com.bea.xml.XmlException: weblogic.management.ManagementRuntimeException: weblogic.descriptor.DescriptorException: Unmarshaller failed: com.bea.xml.XmlException: java.lang.AssertionError: java.lang.reflect.InvocationTargetException
    at com.bea.staxb.runtime.internal.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:54)
    at com.bea.staxb.runtime.internal.RuntimeBindingType$BeanRuntimeProperty.setValue(RuntimeBindingType.java:483)
    Caused by: weblogic.security.internal.encryption.EncryptionServiceException: com.rsa.jsafe.JSAFE_PaddingException: Could not perform unpadding: invalid pad byte.
    at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptBytes(JSafeEncryptionServiceImpl.java:78)
    at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptString(JSafeEncryptionServiceImpl.java:94)
    at weblogic.security.internal.encryption.ClearOrEncryptedService.decrypt(ClearOrEncryptedService.java:87)
    ... 55 more
    Caused by: com.rsa.jsafe.JSAFE_PaddingException: Could not perform unpadding: invalid pad byte.
    at com.rsa.jsafe.JA_PKCS5Padding.a(Unknown Source)
    at com.rsa.jsafe.JG_BlockCipher.decryptFinal(Unknown Source)
    at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptBytes(JSafeEncryptionServiceImpl.java:68)
    ... 57 more
    Before running upgrade.sh, all applications were undeployed from the domain and I've verified that config.xml is valid with no refs to previously installed apps.
    I've also removed refs to custom security providers in config.xml, but stil the same.
    Can anyone please help?
    Edited by mirzaei at 04/29/2008 7:18 AM

    Fixed.
    The xml-file for one of the jdbc-resources defined in config.xml was missing from DOMAIN_HOME/conf/jdbc. Adding the file fixed the problem.
    Edited by mirzaei at 04/29/2008 11:07 AM

  • Java.lang.SecurityException: [Security:090398]Invalid Subject: WEBLOGIC 9.1

    Hi
    I am getting this error when I am making an EJB method which resides in a different weblogic 9.1 server.
    I have enaled the trust between my two domains. Set the required class path settings.
    My client call is from a JSP , say client.jsp.
    Here I get remote object of the EJB and calls the required method
    Now
    1) My EJB calls are succesful when I DO NOT secure it
    2) but when I make it is secured , ie when I
    include the jsp in secured URL ie. under <security-constraint><url-pattern>client.jsp</> in web.xml
    , it gives me the follwing error
    The stack trace is given below
    java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[com.ebreviate.security.wl9realm.EBRUser@a09a08, ess, everyone]
    at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:191)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:315)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:250)
    at weblogic.jndi.internal.ServerNamingNode_910_WLStub.lookup(Unknown Source)
    at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:374)
    Truncated. see log file for complete stacktrace
    Any idea why it is ?
    Please let me know
    Thanks
    Binu
    Edited by binurajkr at 01/25/2008 4:36 AM

    Hi. Contact official BEA Support. This is likely
    to be a known issue with a patch available to fix it.
    Joe
    binu raj wrote:
    Hi
    I am getting this error when I am making an EJB method which resides in a different weblogic 9.1 server.
    I have enaled the trust between my two domains. Set the required class path settings.
    My client call is from a JSP , say client.jsp.
    Here I get remote object of the EJB and calls the required method
    Now
    1) My EJB calls are succesful when I DO NOT secure it
    2) but when I make it is secured , ie when I
    include the jsp in secured URL ie. under <security-constraint><url-pattern>client.jsp</> in web.xml
    , it gives me the follwing error
    The stack trace is given below
    java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[com.ebreviate.security.wl9realm.EBRUser@a09a08, ess, everyone]
    at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:191)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:315)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:250)
    at weblogic.jndi.internal.ServerNamingNode_910_WLStub.lookup(Unknown Source)
    at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:374)
    Truncated. see log file for complete stacktrace
    Any idea why it is ?
    Please let me know
    Thanks
    Binu
    Edited by binurajkr at 01/25/2008 4:36 AM

  • ERROR com.rsa.jsafe.JSAFE_PaddingException: Could not perform unpadding: invalid pad byte.

              Hi,
              I am trying to setup cluster environment with weblogic7.0. I have two managed
              servers in my cluster. The first one I am able start without any problem(The first
              server and admin is on the same UNIX m/c). When I am trying to start the second
              server from different m/c(this is another UNIX m/c) it is giving the following
              error. I am not using default security realm.
              If anybody come across this error before,please reply me.
              Thanks
              Venkat
              com.rsa.jsafe.JSAFE_PaddingException: Could not perform unpadding: invalid pad
              byte.
              at com.rsa.jsafe.JA_PKCS5Padding.performUnpadding(JA_PKCS5Padding.java:111)
              at com.rsa.jsafe.JG_BlockCipher.decryptFinal(JG_BlockCipher.java:1092)
              at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptBytes(JSafeEncryptionServiceImpl.java:67)
              at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptString(JSafeEncryptionServiceImpl.java:93)
              at weblogic.security.internal.encryption.ClearOrEncryptedService.decrypt(ClearOrEncryptedService.java:53)
              at weblogic.management.commo.CommoModelMBean.getAttribute(CommoModelMBean.java:319)
              at com.sun.management.jmx.MBeanServerImpl.getAttribute(MBeanServerImpl.java:1183)
              at com.sun.management.jmx.MBeanServerImpl.getAttribute(MBeanServerImpl.java:1153)
              at weblogic.management.internal.RemoteMBeanServerImpl.getAttribute(RemoteMBeanServerImpl.java:844)
              at weblogic.management.commo.CommoProxy.invoke(CommoProxy.java:330)
              at $Proxy42.getCredential(Unknown Source)
              at weblogic.security.providers.authentication.LDAPAtnDelegate.<init>(LDAPAtnDelegate.java:452)
              at weblogic.security.providers.authentication.LDAPAuthenticationProviderImpl.initialize(LDAPAuthenticationProviderImpl.java:67)
              at weblogic.security.service.SecurityServiceManager.createSecurityProvider(SecurityServiceManager.java:1820)
              at weblogic.security.service.PrincipalAuthenticator.initialize(PrincipalAuthenticator.java:151)
              at weblogic.security.service.PrincipalAuthenticator.<init>(PrincipalAuthenticator.java:248)
              at weblogic.security.service.SecurityServiceManager.doATN(SecurityServiceManager.java:1574)
              at weblogic.security.service.SecurityServiceManager.initializeRealm(SecurityServiceManager.java:1376)
              at weblogic.security.service.SecurityServiceManager.loadRealm(SecurityServiceManager.java:1315)
              at weblogic.security.service.SecurityServiceManager.initializeRealms(SecurityServiceManager.java:1432)
              at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:1157)
              at weblogic.t3.srvr.T3Srvr.initialize1(T3Srvr.java:697)
              at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:589)
              at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:277)
              at weblogic.Server.main(Server.java:32)
              --------------- nested within: ------------------
              weblogic.security.internal.encryption.EncryptionServiceException - with nested
              exception:
              [com.rsa.jsafe.JSAFE_PaddingException: Could not perform unpadding: invalid pad
              byte.]
              at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptBytes(JSafeEncryptionServiceImpl.java:77)
              at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptString(JSafeEncryptionServiceImpl.java:93)
              at weblogic.security.internal.encryption.ClearOrEncryptedService.decrypt(ClearOrEncryptedService.java:53)
              at weblogic.management.commo.CommoModelMBean.getAttribute(CommoModelMBean.java:319)
              at com.sun.management.jmx.MBeanServerImpl.getAttribute(MBeanServerImpl.java:1183)
              at com.sun.management.jmx.MBeanServerImpl.getAttribute(MBeanServerImpl.java:1153)
              at weblogic.management.internal.RemoteMBeanServerImpl.getAttribute(RemoteMBeanServerImpl.java:844)
              at weblogic.management.commo.CommoProxy.invoke(CommoProxy.java:330)
              at $Proxy42.getCredential(Unknown Source)
              at weblogic.security.providers.authentication.LDAPAtnDelegate.<init>(LDAPAtnDelegate.java:452)
              at weblogic.security.providers.authentication.LDAPAuthenticationProviderImpl.initialize(LDAPAuthenticationProviderImpl.java:67)
              at weblogic.security.service.SecurityServiceManager.createSecurityProvider(SecurityServiceManager.java:1820)
              at weblogic.security.service.PrincipalAuthenticator.initialize(PrincipalAuthenticator.java:151)
              at weblogic.security.service.PrincipalAuthenticator.<init>(PrincipalAuthenticator.java:248)
              at weblogic.security.service.SecurityServiceManager.doATN(SecurityServiceManager.java:1574)
              at weblogic.security.service.SecurityServiceManager.initializeRealm(SecurityServiceManager.java:1376)
              at weblogic.security.service.SecurityServiceManager.loadRealm(SecurityServiceManager.java:1315)
              at weblogic.security.service.SecurityServiceManager.initializeRealms(SecurityServiceManager.java:1432)
              at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:1157)
              at weblogic.t3.srvr.T3Srvr.initialize1(T3Srvr.java:697)
              at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:589)
              at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:277)
              at weblogic.Server.main(Server.java:32)
              --------------- nested within: ------------------
              javax.management.RuntimeOperationsException: RuntimeException thrown by the getAttribute
              method of the DynamicMBean for the attribute Credential
              at com.sun.management.jmx.MBeanServerImpl.getAttribute(MBeanServerImpl.java:1185)
              at com.sun.management.jmx.MBeanServerImpl.getAttribute(MBeanServerImpl.java:1153)
              at weblogic.management.internal.RemoteMBeanServerImpl.getAttribute(RemoteMBeanServerImpl.java:844)
              at weblogic.management.commo.CommoProxy.invoke(CommoProxy.java:330)
              at $Proxy42.getCredential(Unknown Source)
              at weblogic.security.providers.authentication.LDAPAtnDelegate.<init>(LDAPAtnDelegate.java:452)
              at weblogic.security.providers.authentication.LDAPAuthenticationProviderImpl.initialize(LDAPAuthenticationProviderImpl.java:67)
              at weblogic.security.service.SecurityServiceManager.createSecurityProvider(SecurityServiceManager.java:1820)
              at weblogic.security.service.PrincipalAuthenticator.initialize(PrincipalAuthenticator.java:151)
              at weblogic.security.service.PrincipalAuthenticator.<init>(PrincipalAuthenticator.java:248)
              at weblogic.security.service.SecurityServiceManager.doATN(SecurityServiceManager.java:1574)
              at weblogic.security.service.SecurityServiceManager.initializeRealm(SecurityServiceManager.java:1376)
              at weblogic.security.service.SecurityServiceManager.loadRealm(SecurityServiceManager.java:1315)
              at weblogic.security.service.SecurityServiceManager.initializeRealms(SecurityServiceManager.java:1432)
              at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:1157)
              at weblogic.t3.srvr.T3Srvr.initialize1(T3Srvr.java:697)
              at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:589)
              at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:277)
              at weblogic.Server.main(Server.java:32)
              <Dec 7, 2002 8:57:33 PM EST> <Critical> <WebLogicServer> <000364> <Server failed
              during initialization. Exception:weblogic.security.service.SecurityServiceRuntimeException:
              Problem instantiating Authentication Providerjavax.management.RuntimeOperationsException:
              RuntimeException thrown by the getAttribute method of the DynamicMBean for the
              attribute Credential
              weblogic.security.service.SecurityServiceRuntimeException: Problem instantiating
              Authentication Providerjavax.management.RuntimeOperationsException: RuntimeException
              thrown by the getAttribute method of the DynamicMBean for the attribute Credential
              at weblogic.security.service.PrincipalAuthenticator.initialize(PrincipalAuthenticator.java:198)
              at weblogic.security.service.PrincipalAuthenticator.<init>(PrincipalAuthenticator.java:248)
              at weblogic.security.service.SecurityServiceManager.doATN(SecurityServiceManager.java:1574)
              at weblogic.security.service.SecurityServiceManager.initializeRealm(SecurityServiceManager.java:1376)
              at weblogic.security.service.SecurityServiceManager.loadRealm(SecurityServiceManager.java:1315)
              at weblogic.security.service.SecurityServiceManager.initializeRealms(SecurityServiceManager.java:1432)
              at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:1157)
              at weblogic.t3.srvr.T3Srvr.initialize1(T3Srvr.java:697)
              at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:589)
              at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:277)
              at weblogic.Server.main(Server.java:32)
              >
              <Dec 7, 2002 8:57:33 PM EST> <Emergency> <WebLogicServer> <000342> <Unable to
              initialize the server: Fatal initialization exception
              Throwable: weblogic.security.service.SecurityServiceRuntimeException: Problem
              instantiating Authentication Providerjavax.management.RuntimeOperationsException:
              RuntimeException thrown by the getAttribute method of the DynamicMBean for the
              attribute Credential
              weblogic.security.service.SecurityServiceRuntimeException: Problem instantiating
              Authentication Providerjavax.management.RuntimeOperationsException: RuntimeException
              thrown by the getAttribute method of the DynamicMBean for the attribute Credential
              at weblogic.security.service.PrincipalAuthenticator.initialize(PrincipalAuthenticator.java:198)
              at weblogic.security.service.PrincipalAuthenticator.<init>(PrincipalAuthenticator.java:248)
              at weblogic.security.service.SecurityServiceManager.doATN(SecurityServiceManager.java:1574)
              at weblogic.security.service.SecurityServiceManager.initializeRealm(SecurityServiceManager.java:1376)
              at weblogic.security.service.SecurityServiceManager.loadRealm(SecurityServiceManager.java:1315)
              at weblogic.security.service.SecurityServiceManager.initializeRealms(SecurityServiceManager.java:1432)
              at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:1157)
              at weblogic.t3.srvr.T3Srvr.initialize1(T3Srvr.java:697)
              at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:589)
              at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:277)
              at weblogic.Server.main(Server.java:32)
              >
              The WebLogic Server did not start up properly.
              Exception raised:
              weblogic.security.service.SecurityServiceRuntimeException: Problem instantiating
              Authentication Providerjavax.management.RuntimeOperationsException: RuntimeException
              thrown by the getAttribute method of the DynamicMBean for the attribute Credential
              at weblogic.security.service.PrincipalAuthenticator.initialize(PrincipalAuthenticator.java:198)
              at weblogic.security.service.PrincipalAuthenticator.<init>(PrincipalAuthenticator.java:248)
              at weblogic.security.service.SecurityServiceManager.doATN(SecurityServiceManager.java:1574)
              at weblogic.security.service.SecurityServiceManager.initializeRealm(SecurityServiceManager.java:1376)
              at weblogic.security.service.SecurityServiceManager.loadRealm(SecurityServiceManager.java:1315)
              at weblogic.security.service.SecurityServiceManager.initializeRealms(SecurityServiceManager.java:1432)
              at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:1157)
              at weblogic.t3.srvr.T3Srvr.initialize1(T3Srvr.java:697)
              at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:589)
              at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:277)
              at weblogic.Server.main(Server.java:32)
              Reason: Fatal initialization exception
              Throwable: weblogic.security.service.SecurityServiceRuntimeException: Problem
              instantiating Authentication Providerjavax.management.RuntimeOperationsException:
              RuntimeException thrown by the getAttribute method of the DynamicMBean for the
              attribute Credential
              weblogic.security.service.SecurityServiceRuntimeException: Problem instantiating
              Authentication Providerjavax.management.RuntimeOperationsException: RuntimeException
              thrown by the getAttribute method of the DynamicMBean for the attribute Credential
              at weblogic.security.service.PrincipalAuthenticator.initialize(PrincipalAuthenticator.java:198)
              at weblogic.security.service.PrincipalAuthenticator.<init>(PrincipalAuthenticator.java:248)
              at weblogic.security.service.SecurityServiceManager.doATN(SecurityServiceManager.java:1574)
              at weblogic.security.service.SecurityServiceManager.initializeRealm(SecurityServiceManager.java:1376)
              at weblogic.security.service.SecurityServiceManager.loadRealm(SecurityServiceManager.java:1315)
              at weblogic.security.service.SecurityServiceManager.initializeRealms(SecurityServiceManager.java:1432)
              at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:1157)
              at weblogic.t3.srvr.T3Srvr.initialize1(T3Srvr.java:697)
              at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:589)
              at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:277)
              at weblogic.Server.main(Server.java:32)
              

    Venkat,
              I assume you are using symmetric ciphers. If soo make sure you
              generate the key for the admin server and copy that to all the managed
              servers in the cluster before you start each of the managed servers. I
              think you are generating keys for each server seperately (which might
              be the reason for the errors you got).
              Hope this helps.
              -Kiran
              "Venkat" <[email protected]> wrote in message news:<[email protected]>...
              > Hi,
              >
              > I am trying to setup cluster environment with weblogic7.0. I have two managed
              > servers in my cluster. The first one I am able start without any problem(The first
              > server and admin is on the same UNIX m/c). When I am trying to start the second
              > server from different m/c(this is another UNIX m/c) it is giving the following
              > error. I am not using default security realm.
              > If anybody come across this error before,please reply me.
              >
              > Thanks
              > Venkat
              >
              > com.rsa.jsafe.JSAFE_PaddingException: Could not perform unpadding: invalid pad
              > byte.
              > at com.rsa.jsafe.JA_PKCS5Padding.performUnpadding(JA_PKCS5Padding.java:111)
              > at com.rsa.jsafe.JG_BlockCipher.decryptFinal(JG_BlockCipher.java:1092)
              > at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptBytes(JSafeEncryptionServiceImpl.java:67)
              > at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptString(JSafeEncryptionServiceImpl.java:93)
              > at weblogic.security.internal.encryption.ClearOrEncryptedService.decrypt(ClearOrEncryptedService.java:53)
              > at weblogic.management.commo.CommoModelMBean.getAttribute(CommoModelMBean.java:319)
              > at com.sun.management.jmx.MBeanServerImpl.getAttribute(MBeanServerImpl.java:1183)
              > at com.sun.management.jmx.MBeanServerImpl.getAttribute(MBeanServerImpl.java:1153)
              > at weblogic.management.internal.RemoteMBeanServerImpl.getAttribute(RemoteMBeanServerImpl.java:844)
              > at weblogic.management.commo.CommoProxy.invoke(CommoProxy.java:330)
              > at $Proxy42.getCredential(Unknown Source)
              > at weblogic.security.providers.authentication.LDAPAtnDelegate.<init>(LDAPAtnDelegate.java:452)
              > at weblogic.security.providers.authentication.LDAPAuthenticationProviderImpl.initialize(LDAPAuthenticationProviderImpl.java:67)
              > at weblogic.security.service.SecurityServiceManager.createSecurityProvider(SecurityServiceManager.java:1820)
              > at weblogic.security.service.PrincipalAuthenticator.initialize(PrincipalAuthenticator.java:151)
              > at weblogic.security.service.PrincipalAuthenticator.<init>(PrincipalAuthenticator.java:248)
              > at weblogic.security.service.SecurityServiceManager.doATN(SecurityServiceManager.java:1574)
              > at weblogic.security.service.SecurityServiceManager.initializeRealm(SecurityServiceManager.java:1376)
              > at weblogic.security.service.SecurityServiceManager.loadRealm(SecurityServiceManager.java:1315)
              > at weblogic.security.service.SecurityServiceManager.initializeRealms(SecurityServiceManager.java:1432)
              > at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:1157)
              > at weblogic.t3.srvr.T3Srvr.initialize1(T3Srvr.java:697)
              > at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:589)
              > at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:277)
              > at weblogic.Server.main(Server.java:32)
              > --------------- nested within: ------------------
              > weblogic.security.internal.encryption.EncryptionServiceException - with nested
              > exception:
              > [com.rsa.jsafe.JSAFE_PaddingException: Could not perform unpadding: invalid pad
              > byte.]
              > at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptBytes(JSafeEncryptionServiceImpl.java:77)
              > at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptString(JSafeEncryptionServiceImpl.java:93)
              > at weblogic.security.internal.encryption.ClearOrEncryptedService.decrypt(ClearOrEncryptedService.java:53)
              > at weblogic.management.commo.CommoModelMBean.getAttribute(CommoModelMBean.java:319)
              > at com.sun.management.jmx.MBeanServerImpl.getAttribute(MBeanServerImpl.java:1183)
              > at com.sun.management.jmx.MBeanServerImpl.getAttribute(MBeanServerImpl.java:1153)
              > at weblogic.management.internal.RemoteMBeanServerImpl.getAttribute(RemoteMBeanServerImpl.java:844)
              > at weblogic.management.commo.CommoProxy.invoke(CommoProxy.java:330)
              > at $Proxy42.getCredential(Unknown Source)
              > at weblogic.security.providers.authentication.LDAPAtnDelegate.<init>(LDAPAtnDelegate.java:452)
              > at weblogic.security.providers.authentication.LDAPAuthenticationProviderImpl.initialize(LDAPAuthenticationProviderImpl.java:67)
              > at weblogic.security.service.SecurityServiceManager.createSecurityProvider(SecurityServiceManager.java:1820)
              > at weblogic.security.service.PrincipalAuthenticator.initialize(PrincipalAuthenticator.java:151)
              > at weblogic.security.service.PrincipalAuthenticator.<init>(PrincipalAuthenticator.java:248)
              > at weblogic.security.service.SecurityServiceManager.doATN(SecurityServiceManager.java:1574)
              > at weblogic.security.service.SecurityServiceManager.initializeRealm(SecurityServiceManager.java:1376)
              > at weblogic.security.service.SecurityServiceManager.loadRealm(SecurityServiceManager.java:1315)
              > at weblogic.security.service.SecurityServiceManager.initializeRealms(SecurityServiceManager.java:1432)
              > at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:1157)
              > at weblogic.t3.srvr.T3Srvr.initialize1(T3Srvr.java:697)
              > at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:589)
              > at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:277)
              > at weblogic.Server.main(Server.java:32)
              > --------------- nested within: ------------------
              > javax.management.RuntimeOperationsException: RuntimeException thrown by the getAttribute
              > method of the DynamicMBean for the attribute Credential
              > at com.sun.management.jmx.MBeanServerImpl.getAttribute(MBeanServerImpl.java:1185)
              > at com.sun.management.jmx.MBeanServerImpl.getAttribute(MBeanServerImpl.java:1153)
              > at weblogic.management.internal.RemoteMBeanServerImpl.getAttribute(RemoteMBeanServerImpl.java:844)
              > at weblogic.management.commo.CommoProxy.invoke(CommoProxy.java:330)
              > at $Proxy42.getCredential(Unknown Source)
              > at weblogic.security.providers.authentication.LDAPAtnDelegate.<init>(LDAPAtnDelegate.java:452)
              > at weblogic.security.providers.authentication.LDAPAuthenticationProviderImpl.initialize(LDAPAuthenticationProviderImpl.java:67)
              > at weblogic.security.service.SecurityServiceManager.createSecurityProvider(SecurityServiceManager.java:1820)
              > at weblogic.security.service.PrincipalAuthenticator.initialize(PrincipalAuthenticator.java:151)
              > at weblogic.security.service.PrincipalAuthenticator.<init>(PrincipalAuthenticator.java:248)
              > at weblogic.security.service.SecurityServiceManager.doATN(SecurityServiceManager.java:1574)
              > at weblogic.security.service.SecurityServiceManager.initializeRealm(SecurityServiceManager.java:1376)
              > at weblogic.security.service.SecurityServiceManager.loadRealm(SecurityServiceManager.java:1315)
              > at weblogic.security.service.SecurityServiceManager.initializeRealms(SecurityServiceManager.java:1432)
              > at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:1157)
              > at weblogic.t3.srvr.T3Srvr.initialize1(T3Srvr.java:697)
              > at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:589)
              > at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:277)
              > at weblogic.Server.main(Server.java:32)
              > <Dec 7, 2002 8:57:33 PM EST> <Critical> <WebLogicServer> <000364> <Server failed
              > during initialization. Exception:weblogic.security.service.SecurityServiceRuntimeException:
              > Problem instantiating Authentication Providerjavax.management.RuntimeOperationsException:
              > RuntimeException thrown by the getAttribute method of the DynamicMBean for the
              > attribute Credential
              > weblogic.security.service.SecurityServiceRuntimeException: Problem instantiating
              > Authentication Providerjavax.management.RuntimeOperationsException: RuntimeException
              > thrown by the getAttribute method of the DynamicMBean for the attribute Credential
              > at weblogic.security.service.PrincipalAuthenticator.initialize(PrincipalAuthenticator.java:198)
              > at weblogic.security.service.PrincipalAuthenticator.<init>(PrincipalAuthenticator.java:248)
              > at weblogic.security.service.SecurityServiceManager.doATN(SecurityServiceManager.java:1574)
              > at weblogic.security.service.SecurityServiceManager.initializeRealm(SecurityServiceManager.java:1376)
              > at weblogic.security.service.SecurityServiceManager.loadRealm(SecurityServiceManager.java:1315)
              > at weblogic.security.service.SecurityServiceManager.initializeRealms(SecurityServiceManager.java:1432)
              > at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:1157)
              > at weblogic.t3.srvr.T3Srvr.initialize1(T3Srvr.java:697)
              > at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:589)
              > at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:277)
              > at weblogic.Server.main(Server.java:32)
              > >
              > <Dec 7, 2002 8:57:33 PM EST> <Emergency> <WebLogicServer> <000342> <Unable to
              > initialize the server: Fatal initialization exception
              > Throwable: weblogic.security.service.SecurityServiceRuntimeException: Problem
              > instantiating Authentication Providerjavax.management.RuntimeOperationsException:
              > RuntimeException thrown by the getAttribute method of the DynamicMBean for the
              > attribute Credential
              > weblogic.security.service.SecurityServiceRuntimeException: Problem instantiating
              > Authentication Providerjavax.management.RuntimeOperationsException: RuntimeException
              > thrown by the getAttribute method of the DynamicMBean for the attribute Credential
              > at weblogic.security.service.PrincipalAuthenticator.initialize(PrincipalAuthenticator.java:198)
              > at weblogic.security.service.PrincipalAuthenticator.<init>(PrincipalAuthenticator.java:248)
              > at weblogic.security.service.SecurityServiceManager.doATN(SecurityServiceManager.java:1574)
              > at weblogic.security.service.SecurityServiceManager.initializeRealm(SecurityServiceManager.java:1376)
              > at weblogic.security.service.SecurityServiceManager.loadRealm(SecurityServiceManager.java:1315)
              > at weblogic.security.service.SecurityServiceManager.initializeRealms(SecurityServiceManager.java:1432)
              > at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:1157)
              > at weblogic.t3.srvr.T3Srvr.initialize1(T3Srvr.java:697)
              > at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:589)
              > at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:277)
              > at weblogic.Server.main(Server.java:32)
              > >
              > ***************************************************************************
              > The WebLogic Server did not start up properly.
              > Exception raised:
              > weblogic.security.service.SecurityServiceRuntimeException: Problem instantiating
              > Authentication Providerjavax.management.RuntimeOperationsException: RuntimeException
              > thrown by the getAttribute method of the DynamicMBean for the attribute Credential
              > at weblogic.security.service.PrincipalAuthenticator.initialize(PrincipalAuthenticator.java:198)
              > at weblogic.security.service.PrincipalAuthenticator.<init>(PrincipalAuthenticator.java:248)
              > at weblogic.security.service.SecurityServiceManager.doATN(SecurityServiceManager.java:1574)
              > at weblogic.security.service.SecurityServiceManager.initializeRealm(SecurityServiceManager.java:1376)
              > at weblogic.security.service.SecurityServiceManager.loadRealm(SecurityServiceManager.java:1315)
              > at weblogic.security.service.SecurityServiceManager.initializeRealms(SecurityServiceManager.java:1432)
              > at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:1157)
              > at weblogic.t3.srvr.T3Srvr.initialize1(T3Srvr.java:697)
              > at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:589)
              > at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:277)
              > at weblogic.Server.main(Server.java:32)
              > Reason: Fatal initialization exception
              > Throwable: weblogic.security.service.SecurityServiceRuntimeException: Problem
              > instantiating Authentication Providerjavax.management.RuntimeOperationsException:
              > RuntimeException thrown by the getAttribute method of the DynamicMBean for the
              > attribute Credential
              > weblogic.security.service.SecurityServiceRuntimeException: Problem instantiating
              > Authentication Providerjavax.management.RuntimeOperationsException: RuntimeException
              > thrown by the getAttribute method of the DynamicMBean for the attribute Credential
              > at weblogic.security.service.PrincipalAuthenticator.initialize(PrincipalAuthenticator.java:198)
              > at weblogic.security.service.PrincipalAuthenticator.<init>(PrincipalAuthenticator.java:248)
              > at weblogic.security.service.SecurityServiceManager.doATN(SecurityServiceManager.java:1574)
              > at weblogic.security.service.SecurityServiceManager.initializeRealm(SecurityServiceManager.java:1376)
              > at weblogic.security.service.SecurityServiceManager.loadRealm(SecurityServiceManager.java:1315)
              > at weblogic.security.service.SecurityServiceManager.initializeRealms(SecurityServiceManager.java:1432)
              > at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:1157)
              > at weblogic.t3.srvr.T3Srvr.initialize1(T3Srvr.java:697)
              > at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:589)
              > at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:277)
              > at weblogic.Server.main(Server.java:32)
              

  • Security Problem when call EJB in servlet:[Security:090398]Invalid Subject

    Hi guys,
    I have several years experience with Java and EJB developing,but still I cann't explain this problem although I already knew the fix...
    Please,can anyone help me to explain why? Thanks very much!
    Ok,the problem is when I call a remote EJB in one method ,that is everything about EJB is in one method,then everything is ok.But when I just return the
    *remote service object from an helper class's static method, and call the service in servlet ,then I get java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[sundan076],which sundan076 is username login into the web application.*
    The right way, call method directCall(param) ; The wrong way, call  method staticToolCall(final Map param) .
    public class EJBServletClient extends HttpServlet
         protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
              this.doPost(request, response);
         protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,
                   IOException
              try
                   Map<String, String> param = new HashMap<String, String>();
                   param.put("CTS_CUSTOMER_ID", request.getParameter("CTS_CUSTOMER_ID"));
                   param.put("CTS_TASK_ID", request.getParameter("CTS_TASK_ID"));
                   param.put("SERIALNO", request.getParameter("SERIALNO"));
                   param.put("CUSTOMER_SERVICE_UM", request.getParameter("CUSTOMER_SERVICE_UM"));
                   Map result = this.directCall(param);
                   System.out.println(result);
              } catch (Exception e)
                   e.printStackTrace();
                   throw new ServletException(e);
         private Map directCall(Map param) throws Exception
              Context context = null;
              try
                   Properties p = new Properties();
                   p.put(Context.PROVIDER_URL, "t3://10.25.32.13:31256");
                   p.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
                   p.put(Context.SECURITY_PRINCIPAL, "username");
                   p.put(Context.SECURITY_CREDENTIALS, "password");
                   context = new InitialContext(p);
                   BizApplyServiceHome home = (BizApplyServiceHome) PortableRemoteObject.narrow(
                             context.lookup("ejb/rcs-css/BizApplyService"), BizApplyServiceHome.class);
                   BizApplyService bizApplyService = home.create();
                   return bizApplyService.modifyApplyCustomerInfo(param);
              } finally
                   if (context != null)
                        context.close();
         private Map staticToolCall(final Map param) throws Exception
              BizApplyService bizApplyService = EJBTool.getBizApplyService();
              return bizApplyService.modifyApplyCustomerInfo(param);
    public class EJBTool
         public static BizApplyService getBizApplyService() throws Exception
              Context context = null;
              try
                   Properties p = new Properties();
                   p.put(Context.PROVIDER_URL, "t3://10.25.32.13:31256");
                   p.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
                   p.put(Context.SECURITY_PRINCIPAL, "username");
                   p.put(Context.SECURITY_CREDENTIALS, "password");
                   context = new InitialContext(p);
                   BizApplyServiceHome home = (BizApplyServiceHome) PortableRemoteObject.narrow(
                             context.lookup("ejb/rcs-css/BizApplyService"), BizApplyServiceHome.class);
                   return home.create();
              } finally
                   if (context != null)
                        context.close();
    java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[sundan076]
         at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:234)
         at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
         at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
         at com.pingan.rcs.css.biz.service.remote.ejb.bizApplyService_u7jjbk_EOImpl_1032_WLStub.modifyApplyCustomerInfo(Unknown Source)
         at com.pingan.pafax.web.EJBServletClient.staticToolCall(EJBServletClient.java:80)
         at com.pingan.pafax.web.EJBServletClient.doPost(EJBServletClient.java:43)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3594)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[sundan076]
         at weblogic.security.service.SecurityServiceManager.seal(SecurityServiceManager.java:835)
         at weblogic.security.service.SecurityServiceManager.getSealedSubjectFromWire(SecurityServiceManager.java:524)
         at weblogic.rjvm.MsgAbbrevInputStream.getSubject(MsgAbbrevInputStream.java:315)
         at weblogic.rmi.internal.BasicServerRef.acceptRequest(BasicServerRef.java:875)
         at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:310)
         at weblogic.rmi.cluster.ClusterableServerRef.dispatch(ClusterableServerRef.java:242)
         at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:1138)
         at weblogic.rjvm.RJVMImpl.dispatch(RJVMImpl.java:1020)
         at weblogic.rjvm.ConnectionManagerServer.handleRJVM(ConnectionManagerServer.java:240)
         at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:882)
         at weblogic.rjvm.MsgAbbrevJVMConnection.dispatch(MsgAbbrevJVMConnection.java:453)
         at weblogic.rjvm.t3.MuxableSocketT3.dispatch(MuxableSocketT3.java:322)
         at weblogic.socket.BaseAbstractMuxableSocket.dispatch(BaseAbstractMuxableSocket.java:298)
         at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:915)
         at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:854)
         at weblogic.socket.EPollSocketMuxer.dataReceived(EPollSocketMuxer.java:215)
         at weblogic.socket.EPollSocketMuxer.processSockets(EPollSocketMuxer.java:177)
         at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
         at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:42)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
    Edited by: 993478 on 2013-3-12 下午8:40

    I tried your way,it works! Still ,does anyone know why staticToolCall() raised exception?
    By the way,here is the code as you suggested:
    public class EJBServletClient extends HttpServlet
         protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,
                   IOException
              Context context = null;
              try
                   Map<String, String> param = new HashMap<String, String>();
                   param.put("CTS_CUSTOMER_ID", request.getParameter("CTS_CUSTOMER_ID"));
                   param.put("CTS_TASK_ID", request.getParameter("CTS_TASK_ID"));
                   param.put("SERIALNO", request.getParameter("SERIALNO"));
                   param.put("CUSTOMER_SERVICE_UM", request.getParameter("CUSTOMER_SERVICE_UM"));
                   //Map result = this.staticToolCall(param);
                   Properties p = new Properties();
                   p.put(Context.PROVIDER_URL, "t3://10.25.32.13:31256");
                   p.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
                   p.put(Context.SECURITY_PRINCIPAL, "username");
                   p.put(Context.SECURITY_CREDENTIALS, "password");
                   context = new InitialContext(p);
                   Map result=EJBTool.modifyApplyCustomerInfo(context, param);
                   System.out.println(result);
              } catch (Exception e)
                   e.printStackTrace();
                   throw new ServletException(e);
              }finally
                   if (context != null)
                        try{context.close();} catch (NamingException e){e.printStackTrace();}
    public class EJBTool
         public static Map modifyApplyCustomerInfo(Context context, Map param) throws Exception
              BizApplyServiceHome home = (BizApplyServiceHome) PortableRemoteObject.narrow(
                        context.lookup("ejb/rcs-css/BizApplyService"), BizApplyServiceHome.class);
              BizApplyService bizApplyService = home.create();
              Map result = bizApplyService.modifyApplyCustomerInfo(param);
              return result;
    }

  • Java.lang.SecurityException: [Security:090398]Invalid Subject

    Hi
              I am getting this error when I am making an EJB method which resides in a different weblogic 9.1 server.
              I have enaled the trust between my two domains. Set the required class path settings.
              My client call is from a JSP , say client.jsp.
              Here I get remote object of the EJB and calls the required method
              Now
              1) My EJB calls are succesful when I DO NOT secure it
              2) but when I make it is secured , ie when I
              include the jsp in secured URL ie. under <security-constraint><url-pattern>client.jsp</> in web.xml
              , it gives me the follwing error
              The stack trace is given below
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[com.ebreviate.security.wl9realm.EBRUser@a09a08, ess, everyone]
              at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:191)
              at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:315)
              at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:250)
              at weblogic.jndi.internal.ServerNamingNode_910_WLStub.lookup(Unknown Source)
              at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:374)
              Truncated. see log file for complete stacktrace
              Any idea why it is ?
              Please let me know
              Thanks
              Binu

    I got this issue resolved by setting
              Context.SECURITY_PRINCIPAL, "" , before the RMI ejb call
              Binu

  • Java.lang.SecurityException: [Security:090398]Invalid Subject: admin

    I have a class that is used to check the status of all managed server in a domain. I use this class to check on the status of multiple domains.
    I have a for loop over all the domains and then invoke the method below, one for each domain (I instantiate the class anew for each domain)
    The 1st domain connects and returns the status properly. However on subsequent iterations thru the look I get the following SecuriyException below. I have tried a number of things such as setting MBeanHome to null etc but this error repeats anytime I connect to N+1 domains.
    Is there a fix for this.
    Note: I am using WLS 8.1 SP3 thru 5. And I know the username & pwd is correct cause I can connect using to the admin console using the same username & password and am part of the Administrators group.
    Exception on the client on N+1 connect attemp:
    java.lang.SecurityException: [Security:090398]Invalid Subject: admin
    at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.j
    ava:108)
    at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:137)
    at weblogic.management.internal.AdminMBeanHomeImpl_815_WLStub.getDomainN
    ame(Unknown Source)
    Exception on the server:
    ####<Mar 28, 2006 2:59:51 PM CST> <Warning> <RMI> <htx6056> <AdminServer> <Execu
    teThread: '2' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <BEA-080003>
    <RuntimeException thrown by rmi server: weblogic.rmi.internal.BasicServerRef@10
    2 - hostID: '-4547912678907759832S:htx6056.cce.hp.com:[10250,10250,10251,10251,1
    0250,10251,-1,0,0]:arc_prd1:AdminServer', oid: '258', implementation: 'weblogic.
    management.internal.AdminMBeanHomeImpl@1e22632'
    java.lang.SecurityException: [Security:090398]Invalid Subject: admin.
    java.lang.SecurityException: [Security:090398]Invalid Subject: admin
    The code:
    public void checkWebLogicServerState( String user, String pass, String url ) throws Exception {
              MBeanHome home = Helper.getAdminMBeanHome( user, pass, url );
              Set beans = home.getMBeansByType( "Server", home.getDomainName( ));
              for( Iterator iter = beans.iterator( ); iter.hasNext( );){
                   WebLogicMBean bean = (WebLogicMBean)iter.next( );
                   WebLogicObjectName objName = bean.getObjectName( );
                   String serverName = objName.getName( );
                   String location = objName.getLocation( );
                   ServerRuntimeMBean serverRuntimeMBean = null;
                   try {
                        serverRuntimeMBean = (ServerRuntimeMBean)home.getMBean( serverName, "ServerRuntime", home.getDomainName( ), serverName);
                        String state = serverRuntimeMBean.getState( );
                        System.out.println( "\t[" + serverName + "] IS " + state + "." );
                   } catch( Exception ex ) {
                        System.out.println( "\t[" + serverName + "] IS NOT RUNNING." );
         }

    I worked around the problem by removing the usage of the weblogic.management.Helper and using standard JNDI lookups instead.
    Clearly there is a bug in the Helper class that stores securtiy information in a static variable since it cannot be re used within the same JVM/Classloader without sharing the security information.
    Used instead:
                   Environment env = new Environment();
                   env.setProviderUrl( url );
                   env.setSecurityPrincipal( user );
                   env.setSecurityCredentials( pass );
                   Context ctx = env.getInitialContext( );
                   home = (MBeanHome)ctx.lookup( MBeanHome.ADMIN_JNDI_NAME );

  • Java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[

    HI,
    I am trying to monitor multiple weblogic servers, I am getting the exception when the program is trying to read multiple domains of the same weblogic server version 8.1.
    Can any one help me in getting this fix programatically using weblogic.management.*;
    I have searched all the sites where I got only a perticular solution which states to maintain the same domain level credentials.
    please reply me back if there is a programatical approach to fix this exception.
    The exception is given below:
    java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[weblogic, Administrators]
         at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
         at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:138)
         at weblogic.management.internal.AdminMBeanHomeImpl_811_WLStub.getDomainName(Unknown Source)
         at MonitorServers.getDataWeblogic(MonitorServers.java:138)
         at MonitorServers.getServers(MonitorServers.java:89)
         at MonitorServers.main(MonitorServers.java:352)
    Caused by: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[weblogic, Administrators]
         at weblogic.security.service.SecurityServiceManager.seal(SecurityServiceManager.java:682)
         at weblogic.rjvm.MsgAbbrevInputStream.getSubject(MsgAbbrevInputStream.java:181)
         at weblogic.rmi.internal.BasicServerRef.acceptRequest(BasicServerRef.java:814)
         at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:299)
         at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:920)
         at weblogic.rjvm.RJVMImpl.dispatch(RJVMImpl.java:841)
         at weblogic.rjvm.ConnectionManagerServer.handleRJVM(ConnectionManagerServer.java:222)
         at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:794)
         at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:570)
         at weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:105)
         at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:32)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    Thanks in advance

    Hi,
    I think that if you don't specify the credentials, the current one will be used to connect to the server.
    Try to specify the guest identity by explicitely adding the following properties to override the current identity
                   properties.put(Context.SECURITY_PRINCIPAL, "");
    properties.put(Context.SECURITY_CREDENTIALS, "");
    Otherwise you will need to setup a trust between the servers.
    I Hope this helps.
    Giorgio Anastopoulos

  • Weblogic.security.X509 alternative in WLS 9.1

    Hi All
    We have setup IIS 5.0 with 2 way SSL for client connection. We have also configured IIS weblogic proxy for Weblogic 9.1 using iisproxy.dll. The connection between IIS and WebLogic 9.1 is HTTP based. We are trying to get the client certificate in Weblogic 9.1 using the following code
    java.security.cert.X509Certificate certs [];
    certs = (java.security.cert.X509Certificate [])
    request.getAttribute("javax.servlet.request.X509Certificate");
    However the returned certificates are NULL.
    We have also enabled Client Cert Proxy and Weblogic Plug-in in Weblogic 9.1 configuration.
    We are trying to migrate from weblogic 8 to 9.1 and our previous code was as follows
    weblogic.security.X509 [] certs = (weblogic.security.X509[])req.getAttribute("javax.net.ssl.peer_certificates");
    This code work fine with the same IIS setup. Since weblogic.security.X509 is removed in WLS 9.1 we are forced to change our code.
    Please help!
    Message was edited by:
    rmkandan

    hi
    Currently I am using
    req.getHeader("WL-Proxy-Client-Cert")
    to get the client certificate and then i do the following to get the X509 cert format
         if (pemCert != null && pemCert.length() > 0 ){
              pemCertBuff.append("-----BEGIN CERTIFICATE-----");
              pemCertBuff.append(pemCert);
              pemCertBuff.append("-----END CERTIFICATE-----");
         System.out.println("CertificateUtil:getFingerPrint: pemCertBuff --"+pemCertBuff.toString());
         X509Certificate certs = null;
         try {
              CertificateFactory cf = CertificateFactory.getInstance("X.509");
              ByteArrayInputStream bis = new ByteArrayInputStream(pemCertBuff.toString().getBytes());
              weblogic.security.PEMInputStream pemIs = new weblogic.security.PEMInputStream(bis);
              BufferedInputStream bufis = new BufferedInputStream(pemIs);
              certs = (X509Certificate)cf.generateCertificate(bufis);
         } catch (CertificateException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
         } catch (IOException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
    And I am able to get the certificate, but I need to know is there any other elegant way to get the certificate as we did using weblogic.security.X509 class?
    Please help!!
    Message was edited by:
    rmkandan

  • Java.lang.SecurityException: [Security:090398]Invalid Subject - multithre..

    Hi
    I am getting java.lang.SecurityException: [Security:090398]Invalid Subject ... under the following scenario:
    - I have a simple dispatcher class which is starting a number of threads, every one of them sending messages to different Weblogic server.
    - The dispatcher class is a simple Java class, running from outside of Weblogic server; the authentication is done using the JNDI login.
    - The message sender threads create an InitialContext for each message being sent and the context is closed after succesfully sending the message.
    With just one message sender thread running, everything is OK.
    The problems appear when at least two threads run at the same time. What happens is that one of the threads sends messages successfully while the other ones fail with:
    java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[user1, role1, role2, role3, role4]
    at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
    at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:138)
    at weblogic.jms.dispatcher.DispatcherImpl_812_WLStub.dispatchSyncFuture(Unknown Source)
    at weblogic.jms.dispatcher.DispatcherWrapperState.dispatchSync(DispatcherWrapperState.java:339)
    at weblogic.jms.client.JMSConnection.createSessionInternal(JMSConnection.java:400)
    at weblogic.jms.client.JMSConnection.createTopicSession(JMSConnection.java:359)
    at com.delta.parser.test.TestMessageThread.sendMessage(TestMessageThread.java:54)
    at com.delta.parser.test.TestMessageThread.run(TestMessageThread.java:34)
    Caused by: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[user1, role1, role2, role3, role4]
    at weblogic.security.service.SecurityServiceManager.seal(SecurityServiceManager.java:682)
    at weblogic.rjvm.MsgAbbrevInputStream.getSubject(MsgAbbrevInputStream.java:182)
    at weblogic.rmi.internal.BasicServerRef.acceptRequest(BasicServerRef.java:825)
    at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:300)
    at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:923)
    at weblogic.rjvm.RJVMImpl.dispatch(RJVMImpl.java:844)
    at weblogic.rjvm.ConnectionManagerServer.handleRJVM(ConnectionManagerServer.java:222)
    at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:794)
    at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:570)
    at weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:105)
    at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:32)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    The environment is Weblogic 8.1 (WebLogic Platform Developer license) running on Windows XP Professional.
    In the classpath I have the following weblogic jar files: weblogic.jar, wlclient.jar, wljmsclient.jar.
    The code that is generating the exceptions is:
    /****************** Dispatcher ************************/
    package test;
    public class TestThreadDispatcher {
    public TestThreadDispatcher() {
    public static void main(String[] args) {
    TestThreadDispatcher instance = new TestThreadDispatcher();
    instance.doTest();
    private void doTest() {
    TestMessageThread t1 = new TestMessageThread("weblogic.jndi.WLInitialContextFactory",
    "t3://pc10:7001",
    "user1",
    "passwd");
    t1.start();
    TestMessageThread t2 = new TestMessageThread("weblogic.jndi.WLInitialContextFactory",
    "t3://sjn:7001",
    "user1",
    "passwd");
    t2.start();
    TestMessageThread t3 = new TestMessageThread("weblogic.jndi.WLInitialContextFactory",
    "t3://pc99:7001",
    "user1",
    "passwd");
    t3.start();
    /****************** Message sender thread **************/
    package test;
    import java.util.*;
    import javax.jms.*;
    import javax.naming.*;
    import com.delta.parser.util.*;
    public class TestMessageThread extends Thread implements ParserConstants {
    private Hashtable environment;
    public TestMessageThread(String initialFactory,
    String url,
    String principal,
    String credentials) {
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY,
    initialFactory);
    env.put(Context.PROVIDER_URL,
    url);
    env.put(Context.SECURITY_PRINCIPAL,
    principal);
    env.put(Context.SECURITY_CREDENTIALS,
    credentials);
    environment = env;
    public void run() {
    int cnt = 0;
    while(true) {
    sendMessage("" + cnt++);
    try {
    sleep(500);
    } catch (InterruptedException iex) {
    private void sendMessage(String text) {
    try {
    Context ctx = new InitialContext(environment);
    TopicConnectionFactory factory = (TopicConnectionFactory)
    ctx.lookup("javax.jms.TopicConnectionFactory");
    TopicConnection connection = factory.createTopicConnection();
    TopicSession session = connection.createTopicSession(false,
    javax.jms.Session.AUTO_ACKNOWLEDGE);
    Topic topic = (Topic)ctx.lookup("FileTopic");
    TopicPublisher publisher = session.createPublisher(topic);
    TextMessage message = session.createTextMessage(text);
    publisher.publish(message);
    System.out.println("Message " + text + " sent to " +
    environment.get(Context.PROVIDER_URL));
    ctx.close();
    catch (JMSException jmsex) {
    jmsex.printStackTrace();
    catch (NamingException nex) {
    nex.printStackTrace();
    catch (SecurityException scex) {
    scex.printStackTrace();
    Any workarounds for this?
    BTW, I also tried using weblogic.jndi.Environment to obtain an InitialContext and wrapping the code inside thread's run() into Security.runAs(subject, new PrivilegedAction() { ....}, without success.
    Thanks in advance
    Mirel Rata

    Hi Kiran,
    Thank you for replying.
    Unfortunately the fix you suggested did not solve the problem. The server version I'm using is 8.1.
    The application I'm sending messages from is a standalone Java application, does not run from inside Weblogic server.
    Any thoughts?
    Regards,
    Mirel Rata

  • [Security:090398] Invalid Subject error in clustered deployment

    Hi,
              I have a simple Java client that calls an EJB which works fine when the EJB is deployed on a non-clustered server, but it fails intermittently with a [Security:090398]Invalid Subject: ... error when the EJB is deployed on a clustered server. Looking at the log files, it seems that one of the two servers in the cluster is throwing the exception consistently. I believe the servers are in the same domain, but since I've migrated the WL 6.1 config.xml file to 8.1 perhaps there is something I missed.
              Also, I noticed that the two servers in the cluster are able to see each other. The messages about the other node joining the cluster are in both logs.
              Here's the exception on the client side:
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[system]
                   at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
                   at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:284)
                   at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:244)
                   at com.kiodex.ejb.security.PrincipalOpsBean_21hnly_HomeImpl_813_WLStub.create(Unknown Source)
                   at com.kiodex.wlclient.WeblogicClusterClient.main(WeblogicClusterClient.java:41)
                   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:324)
                   at com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
              Caused by: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[system]
                   at weblogic.security.service.SecurityServiceManager.seal(SecurityServiceManager.java:680)
                   at weblogic.rjvm.MsgAbbrevInputStream.getSubject(MsgAbbrevInputStream.java:187)
                   at weblogic.rmi.internal.BasicServerRef.acceptRequest(BasicServerRef.java:827)
                   at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:300)
                   at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:996)
                   at weblogic.rjvm.RJVMImpl.dispatch(RJVMImpl.java:917)
                   at weblogic.rjvm.ConnectionManagerServer.handleRJVM(ConnectionManagerServer.java:225)
                   at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:794)
                   at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:742)
                   at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:682)
                   at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:628)
                   at weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:123)
                   at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:32)
                   at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
                   at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
              Here is the server-side exception:
              ####<Sep 17, 2004 4:44:17 PM EDT> <Warning> <RMI> <titanic> <titanic> <ExecuteThread: '0' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <BEA-080003> <RuntimeException thrown by rmi server:
              weblogic.rmi.cluster.ClusterableServerRef@12e - hostID: '2921525709399114632S:10.0.14.10:[23770,23770,-1,-1,-1,-1,-1,0,0]:hindenburg.nis.kiodex.com:23770,titanic.nis.kiodex.com:23770:RiskWorkbenc
              h:titanic', oid: '302', implementation: 'com.kiodex.ejb.security.PrincipalOpsBean_21hnly_HomeImpl@120a9d6'
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[system].
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[system]
              at weblogic.security.service.SecurityServiceManager.seal(SecurityServiceManager.java:680)
              at weblogic.rjvm.MsgAbbrevInputStream.getSubject(MsgAbbrevInputStream.java:187)
              at weblogic.rmi.internal.BasicServerRef.acceptRequest(BasicServerRef.java:827)
              at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:300)
              at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:996)
              at weblogic.rjvm.RJVMImpl.dispatch(RJVMImpl.java:917)
              at weblogic.rjvm.ConnectionManagerServer.handleRJVM(ConnectionManagerServer.java:225)
              at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:794)
              at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:742)
              at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:682)
              at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:628)
              at weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:123)
              at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:32)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
              Any ideas?

    Hi Joshua,
              Make sure that
              a) Servers in the cluster are in the same domain;
              b) Server in the cluster are named differently.
              Also, check this:
              http://www.viewtier.com/newsgroups/thread.jspa?threadID=4&tstart=0
              http://support.bea.com/support_news/product_troubleshooting/Investigating_Domain_Trust_Issues_Pattern.html
              Regards,
              Slava Imeshev
              "Joshua Davis" <[email protected]> wrote in message news:32871939.1095455911574.JavaMail.root@jserv5...
              > Hi,
              >
              > I have a simple Java client that calls an EJB which works fine when the EJB is deployed on a non-clustered server, but it fails
              intermittently with a [Security:090398]Invalid Subject: ... error when the EJB is deployed on a clustered server. Looking at the
              log files, it seems that one of the two servers in the cluster is throwing the exception consistently. I believe the servers are
              in the same domain, but since I've migrated the WL 6.1 config.xml file to 8.1 perhaps there is something I missed.
              >
              > Also, I noticed that the two servers in the cluster are able to see each other. The messages about the other node joining the
              cluster are in both logs.
              >
              > Here's the exception on the client side:
              > java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[system]
              > at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
              > at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:284)
              > at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:244)
              > at com.kiodex.ejb.security.PrincipalOpsBean_21hnly_HomeImpl_813_WLStub.create(Unknown Source)
              > at com.kiodex.wlclient.WeblogicClusterClient.main(WeblogicClusterClient.java:41)
              > 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:324)
              > at com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
              > Caused by: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[system]
              > at weblogic.security.service.SecurityServiceManager.seal(SecurityServiceManager.java:680)
              > at weblogic.rjvm.MsgAbbrevInputStream.getSubject(MsgAbbrevInputStream.java:187)
              > at weblogic.rmi.internal.BasicServerRef.acceptRequest(BasicServerRef.java:827)
              > at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:300)
              > at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:996)
              > at weblogic.rjvm.RJVMImpl.dispatch(RJVMImpl.java:917)
              > at weblogic.rjvm.ConnectionManagerServer.handleRJVM(ConnectionManagerServer.java:225)
              > at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:794)
              > at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:742)
              > at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:682)
              > at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:628)
              > at weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:123)
              > at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:32)
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
              >
              > Here is the server-side exception:
              >
              > ####<Sep 17, 2004 4:44:17 PM EDT> <Warning> <RMI> <titanic> <titanic> <ExecuteThread: '0' for queue: 'weblogic.socket.Muxer'>
              <<WLS Kernel>> <> <BEA-080003> <RuntimeException thrown by rmi server:
              > weblogic.rmi.cluster.ClusterableServerRef@12e - hostID:
              '2921525709399114632S:10.0.14.10:[23770,23770,-1,-1,-1,-1,-1,0,0]:hindenburg.nis.kiodex.com:23770,titanic.nis.kiodex.com:23770:RiskW
              orkbenc
              > h:titanic', oid: '302', implementation: 'com.kiodex.ejb.security.PrincipalOpsBean_21hnly_HomeImpl@120a9d6'
              > java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[system].
              > java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[system]
              > at weblogic.security.service.SecurityServiceManager.seal(SecurityServiceManager.java:680)
              > at weblogic.rjvm.MsgAbbrevInputStream.getSubject(MsgAbbrevInputStream.java:187)
              > at weblogic.rmi.internal.BasicServerRef.acceptRequest(BasicServerRef.java:827)
              > at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:300)
              > at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:996)
              > at weblogic.rjvm.RJVMImpl.dispatch(RJVMImpl.java:917)
              > at weblogic.rjvm.ConnectionManagerServer.handleRJVM(ConnectionManagerServer.java:225)
              > at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:794)
              > at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:742)
              > at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:682)
              > at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:628)
              > at weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:123)
              > at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:32)
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
              >
              > Any ideas?
              

  • Could not perform unpadding: invalid pad byte.

    Hello All
    In my config file I have 2 references to connection pool files.. In the files I have the following tag.
    <password-encrypted>{3DES}I8OqBHafh35fn6iVd6YXxw==</password-encrypted>
    When I try to run my connection pools are not getting initalized and the following error is displayed
    Could not perform unpadding: invalid pad byte.
    From my limitied knowledge I would just liek to change this to clear text or reencrypt the password. Can anyone help or send a link to an article that would help?
    I am running weblogic 9.2
    Thanks

    You can use the encrypt utility to reencrypt the password.
    http://edocs.bea.com/wls/docs90/admin_ref/utils.html#1209592
    D Walt wrote:
    Hello All
    In my config file I have 2 references to connection pool files.. In the files I have the following tag.
    <password-encrypted>{3DES}I8OqBHafh35fn6iVd6YXxw==</password-encrypted>
    When I try to run my connection pools are not getting initalized and the following error is displayed
    Could not perform unpadding: invalid pad byte.
    From my limitied knowledge I would just liek to change this to clear text or reencrypt the password. Can anyone help or send a link to an article that would help?
    I am running weblogic 9.2
    Thanks

Maybe you are looking for

  • Can't install Win7 with K8N Neo Platinum (MS-7030)

    Hi, with an XP system running smoothly on my old machine, I decided it's time for a Win7 installation. However, the Win7 installation crashes after first reboot with a BSOD some 20 seconds into the windows boot process (logo displayed). I suspect mis

  • Installing Oracle 10g on Windows Server 2008

    Hi, I want to install Oracle 10g on Windows Server 2008. As per Oracle, I should install 10.2.0.3 and then apply patchset 10.2.0.4. For that, one has to sign in to metalink which is possible only for customers. I am using Oracle only for educational

  • Snapshot of database

    Hello, I created a snapshot of SQL 2008 database. The goal in my case was to use it for reporting and client querying instead of using Production database. I'm planning to drop and create it again daily. My question and confusion is: 1.is this snapsh

  • How to remove Soft hyphens in text PDF?

    Currently am working on the text validation for ebooks using PDF compare process. And am able to fetch errors along with false positive issues in final compare report. To ignore the false positive errors, i need to delete the soft hyphen in source PD

  • Program.: FAGL_ACTIVATE_OP

    Hi people, We need to execute the program: FAGL_ACTIVATE_OP (about open item management of the account). We don't have this program in our Client yet, could you tell me what the SAP note that apply that? Thanks, Rosana.