How to verify client application identity?

Hello,
I would appreciate some guidance from senior security people in this forum. Here is what I am trying to do:
1- I am responsible for partial development of a TECHNICAL FRAMEWORK, which will end-up packaged as a signed jar file: i.e., "signedFramework.jar".
2- The purpose of the framework is, of course, to be used by different BUSINESS APPLICATIONS.
3- These business applications are typically packaged as war files, and embed the above "signedFramework.jar" with them, allowing them to make direct calls to some framework operations/classes (so, no networking involved).
3- Each business application has its own certificate that will be used to sign its own package.
==> Given the situation above, can anyone help (high-level description) with the following:
- Whenever framework sensitive operations get called, I would like to be able to verify the calling application identity: To do that, I was thinking of retrieving the certificate from the calling application. By comparing info from the retrieved certificate with a "trusted keystore" , I'd be able to authenticate the client application and allow or deny the operation.
Is this common practice? Any hint?
Thanks for your help and time,
MD

or... from DAA.
1. client sends U to server
2. server creates a nonce n and encrypts with the public key of the client
3. client decrypts n and computes hash(U||n) and sends to server
4. server computes hash(U||n) and compares it with the value received from the client
This may take place over a public network iff U can be made public.
     C                         S
     |---------U-------->|
     |                         |
     |<------{n}_PK------|
     |                         |
     |----hash(U||n)---->|
     |          ____________|________________
     |          | Server computes hash(U||n) |
     |       | and compares it to value   |
     |          | supplied by client         |
    |       |----------------------------|
     |                         |

Similar Messages

  • How to make client application

    hi....
    help me...^ ^ how to make client application(not standalone..)
    I seached bea document.. but I can't it.
    if someone have sample(.ear or .jar), I hope you it share...

    Hi
    Client Application can be any Java class, JSP etc which is a part of multi
    tier architecture which accepts input from Client and directs request to the
    middle tier for processing. You can refer to
    http://e-docs.bea.com/wls/docs61/jsp/index.html
    for building jsp's as Client application.
    Regards
    johny
    "kyungmoon" <[email protected]> wrote in message
    news:3c4f571d$[email protected]..
    >
    hi....
    help me...^ ^ how to make client application(not standalone..)
    I seached bea document.. but I can't it.
    if someone have sample(.ear or .jar), I hope you it share...

  • How to Install VPN and how to connect client Application server

    Hi All,
    Could any one tell me. How to connect Client's Application server and How to Install VPN. Thanks in advance.......
    Thanks  & regards
    Vardhan

    where r u working?
    ask your help desk to give the URL link to down load vpn
    after downloading install it, its just like a wizard
    you need to give your userid and password , and secureid number
    secureid is a small device which displays a number(say a 6 digit number ) this number is keeps on changing for every one minitue.
    you need to enter the number which is displaing while you are trying to connect to vpn.
    in the middle of connecting to vpn if your secureid number changed , you need to login once again by the same procedure

  • How can I start a client Application from a procedure?

    Hello, can someone help me to solve this problem?
    I've written a client Application.(just one file Client.java) Then I created a .jar file for my applicaiton component and loaded it to the server using loadjava. (MyExample.jar)
    It should be invoked by a procedure, which I've created.
    create or replace procedure TEST as language java name 'MyExample.main(java.lang.String[])';
    But when I want to start it in the SQl*Plus using "call TEST();", I received the message:
    Executing PL/SQL: CALL COSMOS."JDEV_TMP_PROC_1"()
    ORA-29541: Klasse COSMOS.CompUpdateClient konnte nicht aufgelöst werden
    ORA-06512: in "COSMOS.TEST", Zeile 0
    ORA-06512: in "COSMOS.JDEV_TMP_PROC_1", Zeile 3
    ORA-06512: in Zeile 1
    Process exited.
    Can someone tell me why and how I can solve it?
    Thanks
    Lucia

    As Andrew suggested, it might be an issue with broken java installation on your system.
    You could try performing following steps to see if you get similar results. This will verify if there is something with your java installation or something to with the way you coded your java class(es).
    (since you did not post the code, I'm not sure which one might be a problem.
    SQL> create or replace and compile java source named "Hello" as
      2  import java.lang.* ;
      3  import java.util.* ;
      4
      5  public class Hello
      6  {
      7    public static void Say()
      8    {
      9     System.out.println("Hello World in Java!") ;
    10    }
    11  }
    12  /
    Java created.
    SQL>
    SQL> create or replace procedure Hello_Java is
      2  language java
      3  name 'Hello.Say()' ;
      4  /
    Procedure created.
    SQL> show errors
    No errors.
    SQL>
    SQL> set serveroutput on size 100000
    SQL> exec dbms_java.set_output(100000) ;
    PL/SQL procedure successfully completed.
    SQL> exec Hello_Java ;
    Hello World in Java!
    PL/SQL procedure successfully completed.
    SQL>

  • How to tackle files other then jars inorder to run Client applications?

    Hi,
    I am moving my client application to run through JWS. In order to run client application, i need to download files other then jars like xml, some bin files etc. My JNLP file is something like following.
    <security>
    <all-permissions/>
    </security>
    <resources>
    <j2se version="1.6"/>
    <jar href="client.jar" download="eager"/>
    <jar href="log4j.xml" download="eager"/>
    </resources>
    During downloading of XML, JWS raises exception for XML file "#### Could not verify signing in resource: tttp://testmachine:8080/classes/log4j.xml"..
    #1 How can i avoid these Exception ?
    #2. Can only Jar files be downloaded by JWS or i need to package files other jar into jar file format ?
    Appreciate if someone can help me on that matter?

    The jnlp specification only allows jar files as resources . Downloading anything else would not help anyway as there would be no way to access it. Only the classloader has access to the downloaded resources, so it is required to bundle all other resources in jar files and access them with Thread.currentThread().getResourceAsStream("myfile.xml");
    /Andy

  • How to invoke A CORBA-Java Client Application, from Oracle???

    Hi,
    I have a CORBA-Java Client Application, which takes the input parameters from a Oracle table and calls the CORBA Server, passes these parameters to the C++ Server Application and gets the results back thorugh CORBA.
    My problem is, this java application needs to be invoked, when ever there is a new record in the Oracle table.
    I am not sure if i can use Java Stored Procedures in Oracle in this case, because my app is in Sun JVM and i am using BEA WebLogic Enterprise 5.1 for the CORBA.
    Is there any other way by which i can invoke this app, when a new record is updated in the Oracle table?
    Currently, i have just put a TIMER in my java App, to check the oracle table in every few seconds, to see if there is a new reocrd. If it finds a new record it invokes the corresponding class(corba class), or else just keep sending a messsage that no new record is available.
    The problems i am facing in this method are as follows;
    1. Unnecessarily, the application has to keep on running if there is no request coming frequently.
    2. When there is a new record found, the Corba Class is called and the whole process (till it gets the result back from the server) takes about 20 - 30 secs. But within this period, if there is another record coming into Oracle table, my timer class doesnt invoke another corba class....(though i am using multithreading by using the RemidTask method in the timer.schedule.
    (timer.schedule(new RemindTask(),10,5*1000);)
    3. Also, if during the first call, there is some error, then the whole process exits, instead of another process running parallely (when a second new record is found).
    So how does this timer class act like a multithreading process?
    Well, i hope i am not confusing....Please let me know if anyone wants bit more elaboration on this.
    It would be really helpful if someone can suggest some answer to my problem.
    Thanks in advance.

    Thank you very much Keith.
    Though i am really getting a hope of solving this problem, from you answer, i am actually not 100% sure if i understood your reply properly.
    First of all, about
    1. "use the update stored procedure to place the updated record (or unique index) onto an Oracle Application Queue."
    -- Why do i need to put the record in the AQ. (Frankly speaking, at this moment i dont have much idea about AQ, probably i can learn more about it from oracle technet site? Or would u suggest anything else?)
    Then,
    2."Your app then waits on this queue and for each new message, consumes it, gets the data required from the AQ load (e.g the index and or record), and fires off the CORBA class"
    -- How does my application stay in the queue? and gets the data from the queue?
    Of course, as far as i understand, i am going through the same principle...keeping on running a timer class, which keeps on checking the table for a new record, and when it finds, it calls the CORBA class.
    Of course, i feel there should be a difference in running the timer continuosly and staying in queue. However i am totally unaware, how can i make my java app to wait in the queue and waits for a new record?
    Can you please elaborate your answer a bit more, because i dont know about the AQ, that you have mentioned.
    Thank you very much in advance for your time. But please know that it will be of great help to me and hence will be higly appreciated.
    Regards,
    Subhasree.

  • How to pass XML file as a input to DataService from client application

    Hi,
    I have a function in DataService which will take a complex parameter as input. So from client application how can I pass the Complex parameter?
    If anyone knows please help me.
    thanks,
    Suresh varma

    Something like this. The types will be generated when you Generate SDO Mediator client.
    somenamespace.MyComplexParamDocument myComplexParamDoc=
    MyComplexParamDocument.factory().newInstance();
    MyComplexParam myComplexParam=myComplexParamDoc.addNewMyComplexParam();
    myComplexParam.setFirstName("John");
    CUSTOMERPROFILEDocument[] myCust =
    customerDS.getCustomerByComplexParam(myComplexParamDoc);

  • How to setup the client application for the RMI?

    Question:
    I write a short program of RMI It contain server and client
    if server and client are run on localhost they are running ok
    but run client application on remote machine it occure issuses.
    How to setup the client on remote machine?

    hello Dhanraj K, for gmail accounts there shouldn't be much manual configuration required. please try to set it up like described in [[Add an email account to the Mail app in Firefox OS]]

  • How i upload a web page named index.html generated by NI Web UI Builder in thin client application on world wide Web

    Hello All,
                   I have an example which use simulated signal with its web service generated by LabVIEW. Then an application of this web service was created using NI web UI builder. And application was build and deployed on NI Cloud Portal, a zip file was downloaded of that project  after build and deploying application.
    The downloaded file contain a thin client application like :index.html page, readme file etc.
                  Now problems is this index.html runs easily on http://localhost:8080/appname/index.html or on my computer name like
    http://iaa42:8080/appname/index.html web page runs and shows updated values in indicators and graphs  but when i use ip address of my system like http://192.168.1.6:8080/appname/index.html , index.html runs but the values in indicator and graphs remains 0 (zero) constantly.     how can i get all indicators and graphs updating continously on by using my ip address like same when i use localhost or computer name in url bar.    1st problem is this.
    Now 2nd question.
                 I get a page index.html in a zip file built by NI web UI builder now i want this page to be viewed by every one world wide
    where should i upload that code. Should NI Cloud Portal be my hosting server for that web page ? or i have to purchase a domain other than NI cloud portal?
     Thanks in Advance
    Regards
    Waqas

    Hi Waqas,
    For your first question, my first thoughts turn to your router (which I assume you are using with a 192.168.x.x address). Are you sure you are configuring your ports and firewalls to allow NI services to function? Here is a really good resource on how to check if your ports and firewalls are configured properly:
    http://www.ni.com/white-paper/12402/en/
    For your second question, when you deploy a web service you are hosting it on your local machine. If you wanted to host it elsewhere (i.e. another server or another domain) you would have to be sure that the server hosting your application has the LabVIEW run-time engine installed. 
    Rick C.

  • How to debug a Mobile client application

    Hi,
    How to debug a mobile client application on the laptop, where we dont have any .NET 2003 application installed. (not an MDW)
    If we get any error on the application, which could be a UI error on laptop, and if everything is working fine on the MDW, is there any way to debug the application on Mobile client?
    Also, please provide me links or tips on how to debug the mobile application, on MDW as well.
    Regards,
    Praveen.

    Hi,
    to be able to debug on a local machine you would need at least to install the UI/BOL class files and the project files and make some local settings.
    But anyway on all clients there should be the same MSA installation like it is on the MDW so in case of an issue it is normally caused by local (inconsistent) data.
    I would suggest to access the laptop IDES database by changing your MDW odbc settings and perform the debug session on the MDW.
    Debugging in VB .net is similar to VB6 but you have to notice that changing of the code is NOT possible when being in debug mode.
    Regards,
    Wolfhard

  • Help:How can I run the J2EE Client Application? Thanks

    Help:How can I run the J2EE Client Application that will access the remote J2EE1.4 application server which runs on another host computer?
    I have developped a stateles senterprise java bean name converter and deloyed it in the j2ee1.4 application server on the host machine A. The converterbean provides the remote home interface and remote interface. At the same time I have developped the j2ee application client named convertappclient. When I access the conveter bean at host computer A through the script 'appclient.bat' as 'appclient -client convertappclient.jar', the client can access the bean sucessfully. Now I want to access the bean through the script 'appclient.bat' at host computer B,what files should I copy from host computer A to host computer B;and what the command line should be like? Thanks!
    The following are the code of the enterprise java bean and it's home interface .
    The client code is also provided.
    The enterprise java bean:
    package converter;
    import java.rmi.RemoteException;
    import javax.ejb.SessionBean;
    import javax.ejb.SessionContext;
    import java.math.*;
    public class ConverterBean implements SessionBean {
    BigDecimal yenRate = new BigDecimal("121.6000");
    BigDecimal euroRate = new BigDecimal("0.0077");
    public ConverterBean() {
    public BigDecimal dollarToYen(BigDecimal dollars) {
    BigDecimal result = dollars.multiply(yenRate);
    return result.setScale(2, BigDecimal.ROUND_UP);
    public BigDecimal yenToEuro(BigDecimal yen) {
    BigDecimal result = yen.multiply(euroRate);
    return result.setScale(2, BigDecimal.ROUND_UP);
    public void ejbCreate() {
    public void ejbRemove() {
    public void ejbActivate() {
    public void ejbPassivate() {
    public void setSessionContext(SessionContext sc) {
    The bean's remote home interface :
    package converter;
    import java.rmi.RemoteException;
    import javax.ejb.CreateException;
    import javax.ejb.EJBHome;
    public interface ConverterHome extends EJBHome {
    Converter create() throws RemoteException, CreateException;
    The bean's remote interface:
    package converter;
    import javax.ejb.EJBObject;
    import java.rmi.RemoteException;
    import java.math.*;
    public interface Converter extends EJBObject {
    public BigDecimal dollarToYen(BigDecimal dollars) throws RemoteException;
    public BigDecimal yenToEuro(BigDecimal yen) throws RemoteException;
    The j2ee application client:
    import converter.Converter;
    import converter.ConverterHome;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.rmi.PortableRemoteObject;
    import java.math.BigDecimal;
    public class ConverterClient {
    public static void main(String[] args) {
    try {
    Context initial = new InitialContext();
    System.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
                   System.setProperty("java.naming.provider.url","jnp://10.144.97.250:3700");
    Context myEnv = (Context) initial.lookup("java:comp/env");
    Object objref = myEnv.lookup("ejb/SimpleConverter");
    ConverterHome home =
    (ConverterHome) PortableRemoteObject.narrow(objref,
    ConverterHome.class);
    Converter currencyConverter = home.create();
    BigDecimal param = new BigDecimal("100.00");
    BigDecimal amount = currencyConverter.dollarToYen(param);
    System.out.println(amount);
    amount = currencyConverter.yenToEuro(param);
    System.out.println(amount);
    System.exit(0);
    } catch (Exception ex) {
    System.err.println("Caught an unexpected exception!");
    ex.printStackTrace();
    }

    Surprisingly I find an upsurge in the number of posts with this same problem. I recently found a post which gave a nice link for this. Follow the steps and it should help:
    http://docs.sun.com/source/819-0079/dgacc.html#wp1022105

  • How to build and run enterprise client application in SJS

    Hello
    I need to create client application (not web component) for some Entity Beans in SJS, but I don't know how. In projects menu, when I choose Enterprise Application I can add only EJB, when I choose Application - I don't have access to Bean objects. What should I do? Thanks for any help.

    I think you've posted this question to the wrong forum. This is the Sun Studio forum, which deals with C, C++, Fortran, and related tools.
    Better check with http://developers.sun.com/forums/ to find the right forum for your question.

  • How can I catch Client Application crash?

    Hi all.
    I'm developing a client application, which makes several long-time operations on its server.
    These server-operations are started, monitored and stopped by my cllient, during a "normal" lifecycle.
    The problem is: if my client unexpectedly shut down (i.e. system crash or interruption by task manager), how can I catch this event, in order to send the "interrupt" to the server and stop the current thread?
    I tried to add a WindowListener on the Main Window of my client app, but it doesn't work... any other idea?
    Thanks in advance for any help.

    But if you "pull the plug" how can the "finalize" method in the client be called?
    It's like asking your wife if she is sleeping.
    If she answers "yes" she is lying because she must be awaken to answer your question.
    The server must manage disconnections (for instance, you can devise a "ping" transaction that all clients must execute periodically.
    If the client stops to send the "ping" you can assume that the client was disconnected.)

  • How to verify identity for keychain on iPad

    How to verify my identity on my iPad when trying to access keychain?

    Source: http://support.apple.com/kb/HT5813
    How do I set up iCloud Keychain on a new device if I don't have one of my other devices to approve from?
    If you don't have access to any of your other devices that are using iCloud Keychain, you can still set up iCloud Keychain on another device if you have these items:
    Your iCloud Security Code
    The device that is using the SMS-capable phone number you provided when you first set up iCloud Keychain. A verification code is sent via SMS to this phone number. If you don't have access to this number, contact Apple Support, who can verify your identity so that you can complete setup on your new device.
    If you have these items, follow the iCloud Keychain setup steps documented above. Your iCloud Keychain will then be pushed from the cloud to the new device.
    How can I set up additional devices to use iCloud Keychain?
    Follow the iCloud Keychain setup steps above for each device that you want to add. When you enable iCloud Keychain on an additional device, your other devices that use iCloud Keychain receive a notification requesting approval for the additional device. After you approve the additional device, your iCloud Keychain automatically begins updating on that device.
    Message was edited by: Jay-Ray

  • Urgent: How to execute a Client application

    Hi All,
    I have deployed a very simple ear file ( consisting of 1 session bean ) called
    HelloEjbsApp.ear in Weblogic 6.1. I want to access the method in this ejb from
    a client application. Please can anybody tell me the steps to do the same? I have
    referred to the documentation, but it isn't too clear.
    I have a HelloClient.java class inside a jar file called HelloClientJAR.jar,
    which is inside the client application called HelloClientApp.ear. As I understand,
    I should have the following 3 files for the same.
    application.xml
    application-client.xml
    HelloClientJAR.runtime.xml ( This exists in the same directory as the HelloClientApp.ear
    I then ran the following command
    java appclient.ClientDeployer HelloClientApp.ear HelloClientJAR
    It deployed properly, without any errors.
    After this, how do I exceute the HelloClient class? Please if anybody knows the
    solution to my problem, help me.
    Thanks,
    Vani

    Unless it's a J2EE "application client" which is packaged in the ear.
    Unfortunately 6.1 still doesn't support that standard.
    "Vani" <[email protected]> wrote in message
    news:[email protected]...
    >
    Thank you very much. It works now. As you said, I should use only the JNDIname
    to do lookup outside an ejb.
    Thanks,
    Vani
    "Cameron Purdy" <[email protected]> wrote:
    That means that you can only look up java:comp/env/* from inside (for
    example) an EJB. You cannot do that from a Java client. From a Java
    client,
    you look up the EJB using its "global" JNDI name. Use the WL console
    to
    peruse your JNDI tree.
    Peace,
    Cameron Purdy
    Tangosol Inc.
    Tangosol Coherence: Clustered Coherent Cache for J2EE
    Information at http://www.tangosol.com/
    "Vani" <[email protected]> wrote in message
    news:[email protected]...
    Hi All,
    I am able to execute the client application. But when I do that,I get
    the following
    exception.
    javax.naming.NamingException: java:comp/env namespace is only availablefrom within
    a J2EE component
    at
    com.sun.enterprise.naming.java.javaURLContext.getComponentContext(javaURLCon
    text.java:392)
    at
    com.sun.enterprise.naming.java.javaURLContext.lookup(javaURLContext.java:51)
    at javax.naming.InitialContext.lookup(InitialContext.java:350)
    at HelloClient.main(Unknown Source)
    Please if anybody knows the reason for this, help me.
    Thanks,
    Vani
    "Vani" <[email protected]> wrote:
    Hi All,
    I have deployed a very simple ear file ( consisting of 1 session
    bean
    ) called
    HelloEjbsApp.ear in Weblogic 6.1. I want to access the method in this
    ejb from
    a client application. Please can anybody tell me the steps to do the
    same? I have
    referred to the documentation, but it isn't too clear.
    I have a HelloClient.java class inside a jar file calledHelloClientJAR.jar,
    which is inside the client application called HelloClientApp.ear.As
    I understand,
    I should have the following 3 files for the same.
    application.xml
    application-client.xml
    HelloClientJAR.runtime.xml ( This exists in the same directory asthe
    HelloClientApp.ear
    I then ran the following command
    java appclient.ClientDeployer HelloClientApp.ear HelloClientJAR
    It deployed properly, without any errors.
    After this, how do I exceute the HelloClient class? Please if anybody
    knows the
    solution to my problem, help me.
    Thanks,
    Vani

Maybe you are looking for

  • Why won't my Apple ID work for Facetime & Imessages?

    Ok, I've just brought the new Itouch (I was using the first gen itouch beforehand) I've connected it up to my Itunes and registered my new product with out a hitch.  However!  One of the many reasons for the upgrade is so that I can keep in touch wit

  • PGI reversal not happening in vl09

    hi user has done following cycle 1.ME21N-PO document type UB and Item cat I. 2.VL10B- Outbound delivery 3.VL06G-goods issue using automatic MVT 647 and 101) 4.VF01-Performa Invoice(billing Type JEX) 5.J1IIN- Excise invoice. In billing base price is m

  • How do I stop Final Cut Pro 10.1 from  introducing artifacts?

    How do I stop Final Cut Pro 10.1 from introducing artifacts? Can someone please tell me what do do differently so that my edited video does not develop artifacts that were not in the original camera file.  My Sony HDR CX900 produces crazy detailed XA

  • Returns to vendor and their effect on on-time delivery calculation

    Hi, we're on ECC 6,0 and using vendor evaluation. We are using automatic calculation of on-time delivery. I have a question about how return deliveries to vendor affect the calculation of on-time delivery points. SAP documentation says "The system co

  • Problème pour enregistrer dans une version antérieure

    bonjour  je suis étudiant, je travaille avec la version 2009 de Labview ( fourni par mon école) et j'aimerais convertir mon application en Labview 8.2. Malheureusement lorsque je fais enregistrer dans une version antérieure j'ai le message suivant :