SSL client authentication: how to get the cert used in call?

Hi !
I'd like to authenticate my clients based on their certificate. Unfortunately, there doesn't seem to be an easy way to get the client certificate that was used for the current method call.
I am thinking of something like this:
SomeClass dosomething(param a, param b) {
RemoteUser ru = getUserFromCert();
if (ru==null) return;
....do the job....
SomeOtherClass dosomethingelse() {
....same thing
RemoteUser getUserFromCert() {
Principal pr = RMIContext.getRMIContext().getSSLSocket().getSSLSession().getPrincipal();
Is that the way to do it?
What do I need to implement to get that getUserFromCert method going?
Has anyone done that before?
Thanks for any help,
ken

Thanks for your reply. I'd like option (b) best as well. But I think I read somewhere that the HandshakeCompletedListener is called asynchronously? Would be bad if it'd be called after a call has been handled.
I did some more research and realized I might as well use JMX. JMX has authentication included and does remote method invocation just like RMI. There even seems to be a so called JMXMP connector which supports client authentication by certificate, which is exactly what I want. I'd probably have to rewrite some parts but it seems to be an elegant solution.
Am I right?

Similar Messages

  • How to get the workcentres used in the routing out of 2 alternate routings

    Dear All,
    I would like to know how to get the workcentres used in the routing out of 2 alternate routings.
    I referred PLKO got the Task List Type (PLNTY), Group(PLNNR), Group Counter(PLNAL), Plant(werks).
    I passed this in to PLPO, The problem in PLPO is we don’t have the distinguishing field Group Counter(PLNAL), so I am getting all the ARBID including both alternates.
    How to get the ARBID with respect to Groupcounter 1 alone.
    If a get the ARBID , I can get the ARBPL from CRHD.

    HI,
    Use PLAS Table also.  you have to use PLKO> PLAS> PLPO.
    Pass PLNNR & PLNAL in PLAS and get PLNNR & PLNKN.
    Then pass these into PLPO.
    work centers from CRHD
    Regards,
    Krishna Mohan
    Edited by: Krishna Mohan N on Jan 31, 2008 12:28 PM

  • HT4061 My ipad was stolen, i would like to ask how to get the IMEI using the serial number DL*******FJ1.

    my ipad 2 was stolen last january 7, 2013.  i want to know how to get the IMEI.  unfortunately i was not able to connect it to my pc even once.  but i can tract my ipad using my find my iphone in icloud. the serial no is DL*******FJ1.

    Do you have the original retail box the tablet came in? If so its where the barcode is located, ideally labeled as the IMEI.

  • How to get  the last used session id for a browser session

    In HTMLDB 2.0 it is not possible to start a page with authentication without a SESSION_ID and when you start a public page without a SESSION_ID, then every time a new SESSION_ID is generated when you don't use the SESSION_ID in the URL.
    In the same browser session I want to make a URL call to a HTMLDB page without a SESSION_ID and this page has to give back the last used SESSION_ID.
    How can I do that?

    Fred - You could record that session ID in a table. Each time your authenticated application runs, it would update that table with the "latest" session ID, perhaps using an application process. Then when you are formulating the URL to the public page from another application, you'd get the session ID from that table. Or you could use the page sentry component of your app's authentication scheme to send a cookie to the browser on every page view. The cookie would contain the session ID and the other application could access the cookie to complete the URL.
    Scott

  • How to get the file using file adapter.

    Hi All,
    We have a requirement, IDoc -> PI -> JMS Adapter. Here the IDoc is in Flat file format. How can i consume Flat file version of IDoc into PI using Sender File Adapter for further processing..
    The Flat file version is been created within the SAP Application server "/usr/sap/SID/SYS/global"
    Do I need to specific Source Directory as "/usr/sap/SID/SYS/global" in Sender comm channel? How about the remaining parameters like authentication details?
    plz guide me..
    Thnx

    Check the below link:
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/e0901cba-f49e-2910-748c-d7ce4c0c4c1c?quicklink=index&overridelayout=true
    go to transaction AL11 and there you can find DIR_HOME with a path.
    D:usrsapPID..
    Double click on the filename, you would be able to view the file content.
    That path is ur Application Server path, there you can save your file. Then in the External Data tab in Scheduling screen select Application server and on the file name press F4 so u can get the AL11 files select that then double click DIR_HOME, select your file.
    It will ask for display contents or copy name. Give COPY NAME the file name with path will be copied.
    If we are using Sender File Adapter to consume the file then what should be the source directory (i.e., /usr/SAP/PID/Global/..)
    If you are on the same network then use File Aapter(NFS).
    Now, the path should be usrSAPPIDGlobal

  • Select Count(*) from Sample_table - how to get the count using JDBC?

    Hi All,
    It would be glad if anyone could help me with this. The problem is that I have to get the 'count' of records selected from a arbitrary table say, 'sample_table'. Is that possible to form the SQL in JDBC as
    Select Count(*) from Sample_table
    and get the value of the count? If yes, how?
    Thanks in advance
    Prabz

    stmt = con.createStatement();
    ResultSet recordcnt_rs = stmt.executeQuery("Select Count (*) as record_ctr From Sample_table");
    recordcnt_rs.next();     
    record_ctr = recordcnt_rs.getInt("record_ctr");
    hope this helps.

  • CS2- How to get the fonts used in a document ?

    Hi,
    Can anyone tell how to find the the fonts used in the document directly without iterating through the text art used in the document.BCOZ if i iterate through each text frame or character my plugin works very slowly.I want to speed up the process of finding & replacing the fonts like wat we do manually in the "Type-> Find Font" menu thru my code.
    Please post ur comments on this .If there is no direct option to find &replace the fonts used in the document ,pls let me know the simplest logic of finding & replacing all occurances of a font in a doc so that my process of doing this should be faster.
    Thanks in advance.
    myRiaz

    As far as I know, there's no way to get a list of fonts in use in a document without iterating over the document and compiling a list by asking every piece of art.
    If you want to trigger 'Type > Find Font' there might be a way to invoke that using Actions (AIActionManager.h). I'm not sure if that would help or not though.
    This probably isn't very helpful depending on what you're doing, but I think this is meant to be handled by using character styles. That way you can change a style and update any related text instantly. Not much help though if you're just trying to write a S&R font plugin.

  • How to get the root class in call heirarchy

    Hi,
    Is anybody have some idea regarding the getting name of a class whose, main method was called at the time of begining. In other words if we say, how can we get the invoker class of a java program with multiple level of inheritence.
    Regards

    DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
         DocumentBuilder db=factory.newDocumentBuilder();
         Document doc=db.parse(new File(ur xml file"));
         Element root=doc.getDocumentElement();
         System.out.println("root "+root.getNodeName());

  • How to get the "where used" of a portal object.

    Hi folks!
    I'm coding a program to get the list of the portal objects where a specific portal object (an iView  for example) is used. I found the method getWhereUsedList from IPcdContext but I'm getting some errors.
    Is this the best/correct way to get a "where used list"?
    Does anyone have an example of how to use this method correctly?
    Thanks in advance.
    Geraldo.

    Hi Tanja, thank you very much for your attention.
    Following your tips I figured out that the error was occurring during the casting and not during the getWhereUsedList method call. Now, I'm casting to Object. I'd like to cast to a more proper class. During my tests I got an error that showed me that the cast should be to a PcdGlSearchResult class. I couldn't find any javadoc for this class and when I changed the cast to this class I started to get a execution class load  error. Please let me know if you have any advice regarding the casting.
    private void getWhereUsed1(IPortalComponentRequest request, String id, StringBuffer sb) {
    InitialContext iCtx = null;
    Object objectId = null;
    String tString = null;
    Hashtable env = null;
    IPcdContext result = null;
                         env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY, IPcdContext.PCD_INITIAL_CONTEXT_FACTORY);
    env.put(Context.SECURITY_PRINCIPAL, request.getUser());
    env.put(Constants.REQUESTED_ASPECT, IPcdAttribute.PERSISTENCY_ASPECT);
    try {
    iCtx = new InitialContext(env);
    result = (IPcdContext) iCtx.lookup(id);
    for (NamingEnumeration ne = result.getWhereUsedList(""); ne.hasMoreElements();) {
    objectId = (Object) ne.nextElement();
    tString = objectId.toString();
    sb.append(tString + CR);
    } catch (Exception e) {
    StackTraceElement[] elements = e.getStackTrace();
    for (int i = 0; i < elements.length; i++)
    sb.append(elements<i> + CR);

  • How to get the debug sqlserver procedure calling from powerbuilder

    How to get sqlserver debug while calling   the procedure from PowerBuilder. Please can you help
    Many Thanks
    Pol

    You are better off doing this through the native SQL server tools.  You can debug your PB code to find the variables being sent to the stored proc (if any) from PB and then use them in SQL Server Management Studio or similar.

  • How to get the XML Payload of called process from calling process?

    I have two SOA processes say process A and process B.
    Process B is called by process A.In process A I, am using the getRequestMessage() method in Java code to get the XML payload of process A.
    But i want the XML payload of process B in process A.How can i achieve it?

    Doug,
              I used the property loader method but I could not load the limits of any sub sequence call calling an external sequence file.
    I took the FlowRate_test.seq example from the NI Example folder "C:\Documents and Settings\All Users\Documents\National Instruments\TestStand 4.2.1\Examples\PropertyLoader\LoadingLimits\LimitsFromExcelFile\UsingCVI". I created a sequence called PumpTest.seq in the same folder path. I then moved the Pump Test step from the FlowRate_test.seq to the PumpTest.seq. Now created a sequence call in the FlowRate_test.seq and called the PumpTest.Seq as the module path. When I execute the FlowRate_test.seq , I get the error as shown below:
    Attached is the Flowrate_Test.seq and the PumpTest.seq which should be there in the folder path "C:\Documents and Settings\All Users\Documents\National Instruments\TestStand 4.2.1\Examples\PropertyLoader\LoadingLimits\LimitsFromExcelFile\UsingCVI".
    Let me know whether I am doing something wrong in this method. 
    My idea is to alter the runstate variable High and Low of Pump Test in the PumpTest.seq and then run the Flowrate_Test.seq.
    Attachments:
    PumpTest.seq ‏6 KB
    FlowRate_test.seq ‏11 KB

  • How to get the current use name edited the page

    Hi All,
    I have a table which contains set of users,
    namely
    A
    B
    C
    When the user A changes a particular pages and in that page i have a page item named LAST REVIEWED BY its Display only column and i need to Auto Populated the user Name A
    How to do this ?
    Thanks & Regards
    Srikkanth.M

    Put a Trigger on your Table which fills the column using
        NEW.LAST_REVIEWED_BY := v('APP_USER');
        ...brgds,
    Peter
    Blog: http://www.oracle-and-apex.com
    ApexLib: http://apexlib.oracleapex.info
    BuilderPlugin: http://builderplugin.oracleapex.info
    Work: http://www.click-click.at

  • How to get the values from form calls in user exit?

    Hi all,
    I am not getting a specific value readily in an user exit.
    ?Can any one tell me how to find what are the fields,tables available in various form calls(visible while debugging) in an user exit.
    For example sapxkl is one ofthe callls...(sapxkl)<table>[] will hold some data.how to find what r the values available for <table>.
    Thanks.
    Edited by: sanjay_ask on Apr 16, 2010 10:43 PM

    HI ,
    Use this line of code
      field-symbols: <l_fs> type any.
      data: l_value type char20.
    Get Plant
      l_value =  '(SAPLCEI0)GV_WERKS'. " Here give the program name and variable name
      assign (l_value) to <l_fs>.
      v_werks = <l_fs>.         " Instead of V_werks use you internal table
    Thanks
    Subhankar

  • How to get the IP of the client when TCP connect in the server

    How to get the IP of the client when TCP connect in the server.
    The only parameter got from the connection is connectionID.
    Solved!
    Go to Solution.

    I guess you're using "TCP Wait on Listener" on the server. This returns the remote address and port (as optional outputs).

  • How to get the failover partner name from C++ client

    Hi All,
    I have configured the mirroring session for my application.
    I want to modify the connection string with failover partner name.
    Could any one please let me to know how to get the failover partner instance from C++ client dynamically.
    Thanks,
    Prasad.

    Are you looking for this?
    http://www.connectionstrings.com/sql-server-2012/
    http://stackoverflow.com/questions/25534972/auto-failover-multiple-connections-to-mirror-database-when-principal-goes-down

Maybe you are looking for