Client Certificate Rejected, repeatedly +with great vigor

Hi all --
Perhaps you can give me a hand. I recently got a new Macbook Pro -- my first new CPU since the ole' clamshell back in 2001. Very happy with it as a whole but also finding that I am a bit behind the times in terms of my understanding of the software. Here is the problem: Yesterday I tried to access a page using Safari (2.0.3) from my history. I do not believe that it was a secure page as it was part of the dartmouth.edu website but it may have been. Anyway, a dialouge box popped up asking for my to use FileVaultMaster keychain. I did not know that I had such a thing but I typed in my master password. The page still did not open, but Safari displayed a text box saying that there was an error -- this particular error, in fact:
<begin quote>
The error was: “client certificate rejected” (NSURLErrorDomain:-1205) Please choose Report Bug to Apple from the Safari menu, note the error number, and describe what you did before you saw this message
<end of quote>
Now, when I try to access the basic Dartmouth homepage of http://www.dartmouth.edu, Safari converts it automatically to https://www.dartmouth.edu and asks for the keychain and then displays the error. I tried emptying the cache and resetting Safari (and even restarting the computer, although I understand that that is no longer necessairy with OS X) but to no avail. Can anyone clue me as to what is happening, and why?
Thanks much in advance,
-Sparco03
MacBook Pro   Mac OS X (10.4.5)  

I emailed [email protected] about this problem and here is the response. The solution of getting a valid Dartmouth certificate doesn't apply to non Dartmouth users, so I'm not sure what to do in that case.
"You need to check your Keychain. The reason you are getting that error is because Safari is sending a Client Certificate back to the web server (which asked for it), but the web server can't verify that it's a good certificate. This usually happens when you have an expired certificate, or you have a non-Dartmouth certificate that Safari is likely sending because it can't find a Dartmouth one."
"Whichever of these is the case, the solution is to get a valid Dartmouth certificate, which you can generate by going to https://collegeca.dartmouth.edu/ and following the directions on the web page. If you have an expired Dartmouth cert, you will need to delete that before you import your new, valid certificate."
"The reason all of this is happening is specific to Intel Macs. The mechanism that Dartmouth has used, better than 7+ years, to authenticate browser users to web site (Kerberos) uses the SideCar helper application. This application doesn't run on Intel Macs, and it most likely never will. Fortunately, Dartmouth installed client certificates as an additional/alternate solution for web site authentication a few years ago. Since client certs work great on Intel Macs, we had to force Intel Macs to always use HTTPS when connecting to any site on www.dartmouth.edu. That way we can always be able to ask for your client cert, so that we don't break your ability to access protected sites that live on the www.dartmouth.edu server."

Similar Messages

  • How to install and use a client certificate for use with https sites on Android?

    I need to be able to install a .p12 client side certificate to be sent to the admin section of my company's site to authenticate me as an employee. In FireFox for PC there is the ability to install this client certificate. In the mobile I cannot figure out how to get this to work.
    I just bought an Asus Transformer Android Tablet running Honeycomb. I have tried the following method below:
    http://support.mozilla.com/en-US/questions/786035
    I get to the screen where I am able to present and choose a certificate but I still get the (Error code: ssl_error_handshake_failure_alert).
    Now that Android is really picking up steam, there needs to be a way to install client side certificates to present to sites requesting them.
    Is there another way to hack the system to allow or install a client side certificate in .p12 format?

    Sorry, there's not a good way to install client certificates in Firefox 4 for Android. A bug has been filed, and any work that we do on adding this feature will be tracked here:
    https://bugzilla.mozilla.org/show_bug.cgi?id=478938

  • Client Certificate Authentication

    Hi guys
    I am not sure if this is the right place to ask but here I go. We are trying to find the best option to push client certificates to our user's Mobile Devices so they just log into a website, type their credentials and the user certificated get pushed.
    We have implemented Workplace Join, this allows us to use the certificate pushed by ADFS to log into a webapp with the only once, then for some reason (still under investigation) doesn't work anymore.
    I have also read about Client Certificate Mapping Authentication with IIS and AD but obviously the Client Certificate has to be in the mobile device in order to accomplish the authentication.
    Windows Intune ultimately will do the trick but the idea of this research is to find out what's available in Microsoft platform.
    any help would be truly appreciated
    Jesus

    If IIS is used for certificate distribution (and access to CRLs), I think this could be done with Active Directory Certificate Services.
    Users could go to the website of the issuing certificate authorities and make a request.
    I've only done this for real with Group Policy triggering the request behind the scenes for *domain members* and approval based on membership in a particular group.
    So I'm not 100% sure how you would configure automatic issuance of the cert based on entry of a correct password. Usually, the "certificate managers" have to approve per company policy.
    I'll look further though (interested in this myself).
    Please mark as helpful if you find my contribution useful or as an answer if it does answer your question. That will encourage me - and others - to take time out to help you.

  • Using X.509 Client Certificates - SAP ABAP Webgui (SSL)

    Hello,
    current runs the integrated ITS (Webgui). We now want the smart card and have adapted to the configuration:
    RZ10:
    icm/server_port_0=PROT=HTTPS,PORT=1443,TIMEOUT=180                                                                               
    icm/HTTPS/verify_client=2   
    table USREXTID: C=DE,ST=xxx,L=xxx,O=xxx,OU=xxx,CN=xxx,emailAddress=xxx
    smart card certification -> firefox 2.x and IE 7.x install.
    SICF: Webgui Service -> Login with Client Certificate
    The test (with IE or Firefox) was unsuccessful.
    SMICM Trace:
    [Thr 5708] >> -
    Begin of Secude-SSL Errorstack -
    >>
    [Thr 5708] ERROR in ssl3_get_client_certificate: (536871698/0x20000312) the client did not send a certificate handshake message
    [Thr 5708] << -
    End of Secude-SSL Errorstack -
    [Thr 5708] <<- ERROR: SapSSLSessionStart(sssl_hdl=003FFBC0)==SSSLERR_SSL_ACCEPT
    [Thr 5708] ->> SapSSLErrorName(rc=-56)
    [Thr 5708] <<- SapSSLErrorName()==SSSLERR_SSL_ACCEPT
    [Thr 5708] *** ERROR => IcmConnInitServerSSL: SapSSLSessionStart returned (-56): SSSLERR_SSL_ACCEPT [icxxconn.c   1777]
    [Thr 5708] ->> SapSSLSessionDone(&sssl_hdl=023BC640)
    What should I do now?
    Thanks, Silke
    Full Trace:
    sysno      02
    sid        RD1
    systemid   560 (PC with Windows NT)
    relno      7000
    patchlevel 0
    patchno    148
    intno      20050900
    make:      multithreaded, ASCII, optimized
    pid        5468
    [Thr 5416] started security log to file dev_icm_sec
    [Thr 5416] ICM running on: sdatu100.pvw.tu-darmstadt.de
    [Thr 5416] MtxInit: 30001 0 2
    [Thr 5416] IcmInit: listening to admin port: 65000
    [Thr 5416] DpSysAdmExtCreate: ABAP is active
    [Thr 5416] DpSysAdmExtCreate: VMC (JAVA VM in WP) is not active
    [Thr 5416] DpShMCreate: sizeof(wp_adm)          13576     (1044)
    [Thr 5416] DpShMCreate: sizeof(tm_adm)          36258120     (18120)
    [Thr 5416] DpShMCreate: sizeof(wp_ca_adm)          18000     (60)
    [Thr 5416] DpShMCreate: sizeof(appc_ca_adm)     6000     (60)
    [Thr 5416] DpCommTableSize: max/headSize/ftSize/tableSize=2000/8/2112040/2112048
    [Thr 5416] DpShMCreate: sizeof(comm_adm)          2112048     (1048)
    [Thr 5416] DpSlockTableSize: max/headSize/ftSize/fiSize/tableSize=0/0/0/0/0
    [Thr 5416] DpShMCreate: sizeof(slock_adm)          0     (96)
    [Thr 5416] DpFileTableSize: max/headSize/ftSize/tableSize=0/0/0/0
    [Thr 5416] DpShMCreate: sizeof(file_adm)          0     (72)
    [Thr 5416] DpShMCreate: sizeof(vmc_adm)          0     (1296)
    [Thr 5416] DpShMCreate: sizeof(wall_adm)          (224040/329544/56/100)
    [Thr 5416] DpShMCreate: sizeof(gw_adm)     48
    [Thr 5416] DpShMCreate: SHM_DP_ADM_KEY          (addr: 028C0040, size: 38968448)
    [Thr 5416] DpShMCreate: allocated sys_adm at 028C0040
    [Thr 5416] DpShMCreate: allocated wp_adm at 028C1B30
    [Thr 5416] DpShMCreate: allocated tm_adm_list at 028C5038
    [Thr 5416] DpShMCreate: allocated tm_adm at 028C5068
    [Thr 5416] DpShMCreate: allocated wp_ca_adm at 04B591B0
    [Thr 5416] DpShMCreate: allocated appc_ca_adm at 04B5D800
    [Thr 5416] DpShMCreate: allocated comm_adm at 04B5EF70
    [Thr 5416] DpShMCreate: system runs without slock table
    [Thr 5416] DpShMCreate: system runs without file table
    [Thr 5416] DpShMCreate: allocated vmc_adm_list at 04D629A0
    [Thr 5416] DpShMCreate: allocated gw_adm at 04D629E0
    [Thr 5416] DpShMCreate: system runs without vmc_adm
    [Thr 5416] DpShMCreate: allocated ca_info at 04D62A10
    [Thr 5096] IcmProxyWatchDog: proxy watchdog started
    [Thr 5416] CCMS: AlInitGlobals : alert/use_sema_lock = TRUE.
    [Thr 5416] IcmCreateWorkerThreads: created worker thread 0
    [Thr 5416] IcmCreateWorkerThreads: created worker thread 1
    [Thr 5416] IcmCreateWorkerThreads: created worker thread 2
    [Thr 5416] IcmCreateWorkerThreads: created worker thread 3
    [Thr 5416] IcmCreateWorkerThreads: created worker thread 4
    [Thr 5416] IcmCreateWorkerThreads: created worker thread 5
    [Thr 5416] IcmCreateWorkerThreads: created worker thread 6
    [Thr 5416] IcmCreateWorkerThreads: created worker thread 7
    [Thr 5416] IcmCreateWorkerThreads: created worker thread 8
    [Thr 5416] IcmCreateWorkerThreads: created worker thread 9
    [Thr 4352] IcmWatchDogThread: watchdog started
    [Thr 5672] =================================================
    [Thr 5672] = SSL Initialization  on  PC with Windows NT
    [Thr 5672] =   (700_REL,Mar 25 2008,mt,ascii,SAP_UC/size_t/void* = 8/32/32)
    [Thr 5672]   profile param "ssl/ssl_lib" = "D:\usr\sap\RD1\SYS\exe\run\sapcrypto.dll"
               resulting Filename = "D:\usr\sap\RD1\SYS\exe\run\sapcrypto.dll"
    [Thr 5672] =   found SAPCRYPTOLIB  5.5.5C pl17  (Aug 18 2005) MT-safe
    [Thr 5672] =   current UserID: SDATU100\SAPServiceRD1
    [Thr 5672] =   found SECUDIR environment variable
    [Thr 5672] =   using SECUDIR=D:\usr\sap\RD1\DVEBMGS02\sec
    [Thr 5672] =  secudessl_Create_SSL_CTX():  PSE "D:\usr\sap\RD1\DVEBMGS02\sec\SAPSSLC.pse" not found,
    [Thr 5672] =      using PSE "D:\usr\sap\RD1\DVEBMGS02\sec\SAPSSLS.pse" as fallback
    [Thr 5672] =  secudessl_Create_SSL_CTX():  PSE "D:\usr\sap\RD1\DVEBMGS02\sec\SAPSSLA.pse" not found,
    [Thr 5672] =      using PSE "D:\usr\sap\RD1\DVEBMGS02\sec\SAPSSLS.pse" as fallback
    [Thr 5672] ******** Warning ********
    [Thr 5672] *** No SSL-client PSE "SAPSSLC.pse" available
    [Thr 5672] *** -- this will probably limit SSL-client side connectivity
    [Thr 5672] ********
    [Thr 5672] = Success -- SapCryptoLib SSL ready!
    [Thr 5672] =================================================
    [Thr 5672] *** WARNING => HttpPlugInInit: Parameter icm/HTTPS/trust_client_with_issuer or icm/HTTPS/trust_client_with_subject no
    X.509 cert data will be removed from header [http_plg.c   720]
    [Thr 5672] ISC: created 400 MB disk cache.
    [Thr 5672] ISC: created 50 MB memory cache.
    [Thr 5672] HttpSubHandlerAdd: Added handler HttpCacheHandler(slot=0, flags=12293) for /:0
    [Thr 5672] HttpExtractArchive: files from archive D:\usr\sap\RD1\SYS\exe\run/icmadmin.SAR in directory D:/usr/sap/RD1/DVEBMGS02/
    [Thr 5672] HttpSubHandlerAdd: Added handler HttpAdminHandler(slot=1, flags=4101) for /sap/admin:0
    [Thr 5672] CsiInit(): Initializing the Content Scan Interface
    [Thr 5672]            PC with Windows NT (mt,ascii,SAP_CHAR/size_t/void* = 8/32/32)
    [Thr 5672] CsiInit(): CSA_LIB = "D:\usr\sap\RD1\SYS\exe\run\sapcsa.dll"
    [Thr 5672] HttpSubHandlerAdd: Added handler HttpAuthHandler(slot=2, flags=12293) for /:0
    [Thr 5672] HttpSubHandlerAdd: Added handler HttpSAPR3Handler(slot=3, flags=1052677) for /:0
    [Thr 5672] Started service 1443 for protocol HTTPS on host "sdatu100.pvw.tu-darmstadt.de"(on all adapters) (processing timeout=9
    [Thr 5672] Started service 25000 for protocol SMTP on host "sdatu100.pvw.tu-darmstadt.de"(on all adapters) (processing timeout=8
    [Thr 5672] Tue Jul 15 14:38:37 2008
    [Thr 5672] *** WARNING => IcmNetCheck: NiAddrToHost(10.0.0.1) took 5 seconds [icxxman.c    4578]
    [Thr 5672] *** WARNING => IcmNetCheck: 1 possible network problems detected - please check the network/DNS settings [icxxman.c
    [Thr 3932] Tue Jul 15 14:39:32 2008
    [Thr 3932] *** WARNING => IcmCallAllSchedules: Schedule func 1 already running - avoid recursion [icxxsched.c  430]
    [Thr 5416] Tue Jul 15 14:40:23 2008
    [Thr 5416] IcmSetParam: Switched trace level to: 3
    [Thr 5416] *
    [Thr 5416] * SWITCH TRC-LEVEL to 3
    [Thr 5416] *
    [Thr 5416] NiBufIAlloc: malloc ICM_EXT, to 80 bytes
    [Thr 5416]
    NiBufSend starting
    [Thr 5416] NiIWrite: hdl 3 sent data (wrt=80,pac=1,MESG_IO)
    [Thr 5416] SiSelNSelect: start select (timeout=-1)
    [Thr 5416] SiSelNNext: sock 8088 selected (revt=r--)
    [Thr 5416] NiBufISelProcess: hdl 9 process r-
    [Thr 5416] NiBufIAlloc: malloc NIBUF-IN, to 72 bytes
    [Thr 5416] NiIRead: hdl 9 received data (rcd=72,pac=1,MESG_IO)
    [Thr 5416] NiBufIIn: NIBUF len=72
    [Thr 5416] NiBufIIn: packet complete for hdl 9
    [Thr 5416] NiBufISelUpdate: new MODE -- (r-) for hdl 9 in set0
    [Thr 5416] SiSelNSet: set events of sock 8088 to: ---
    [Thr 5416] NiBufISelUpdate: new STAT r-- (---) for hdl 9 in set0
    [Thr 5416] NiSelIListInsert: add hdl 9 [17] to buf-list (0) of set0
    [Thr 5416] NiSelISelectInt: 1 handles selected (1 buffered)
    [Thr 5416] IcmMsgProcess: Receive data from partner: WP(2), wp_no: 1
    [Thr 5416]
    NiBufReceive starting
    [Thr 5416] NiBufISelUpdate: new MODE r- (--) for hdl 9 in set0
    [Thr 5416] SiSelNSet: set events of sock 8088 to: rp-
    [Thr 5416] NiBufISelUpdate: new STAT - (r) for hdl 9 in set0
    [Thr 5416] NiSelIListRemove: remove hdl 9 [17] from buf-list (1) of set0
    [Thr 5416] IcmRecMsg: received 72 bytes
    [Thr 5416] ============================================
    [Thr 5416] | COM_DATA:
    [Thr 5416] | Offset: 0     | Version: 7000
    [Thr 5416] | MsgNo: 2     | Opcode: ICM_COM_OP_ICM_MONITOR (66)
    [Thr 5416] ============================================
    [Thr 5416] IcmHandleAdmMsg: op: 66
    [Thr 5416] NiBufIAlloc: malloc NiBufadm, to 0 bytes
    [Thr 5416] NiBufDup: ref 1 for buf 0252CE50
    [Thr 5416] IcmQueueAppend: queuelen:     1
    [Thr 5416] IcmCreateRequest: Appended request 13
    [Thr 5416] NiBufIAlloc: malloc ICM_EXT, to 80 bytes
    [Thr 5416]
    NiBufSend starting
    [Thr 4392] IcmWorkerThread: worker 3 got the semaphore
    [Thr 4392] REQUEST:
        Type: ADMMSG    Index = 12
    [Thr 4392] NiBufFree: ref 1 for buf 0252CE50
    [Thr 5416] NiIWrite: hdl 9 sent data (wrt=80,pac=1,MESG_IO)
    [Thr 4392] MPI<a>0#5 GetInbuf -1 138968 440 (1) -> 6
    [Thr 4392] IcmHandleMonitorMessage: called with opcode: 100
    [Thr 5416] SiSelNSelect: start select (timeout=-1)
    [Thr 4392] MPI<9>1#4 GetOutbuf -1 1489a0 65536 (0) -> 05348A00 0
    [Thr 4392] MPI<a>0#6 FreeInbuf#2 0 138968  0 -> 0
    [Thr 4392] MPI<9>1#5 FlushOutbuf l-1 1 1 1489a0 1104 6 -> 053489E0 0
    [Thr 4392] IcmWorkerThread: Thread 3: Waiting for event
    [Thr 5416] SiSelNNext: sock 8088 selected (revt=r--)
    [Thr 5416] NiBufISelProcess: hdl 9 process r-
    [Thr 5416] NiBufIAlloc: malloc NIBUF-IN, to 72 bytes
    [Thr 5416] NiIRead: hdl 9 received data (rcd=72,pac=1,MESG_IO)
    [Thr 5416] NiBufIIn: NIBUF len=72
    [Thr 5416] NiBufIIn: packet complete for hdl 9
    [Thr 5416] NiBufISelUpdate: new MODE -- (r-) for hdl 9 in set0
    [Thr 5416] SiSelNSet: set events of sock 8088 to: ---
    [Thr 5416] NiBufISelUpdate: new STAT r-- (---) for hdl 9 in set0
    [Thr 5416] NiSelIListInsert: add hdl 9 [17] to buf-list (0) of set0
    [Thr 5416] NiSelISelectInt: 1 handles selected (1 buffered)
    [Thr 5416] IcmMsgProcess: Receive data from partner: WP(2), wp_no: 1
    [Thr 5416]
    NiBufReceive starting
    [Thr 5416] NiBufISelUpdate: new MODE r- (--) for hdl 9 in set0
    [Thr 5416] SiSelNSet: set events of sock 8088 to: rp-
    [Thr 5416] NiBufISelUpdate: new STAT - (r) for hdl 9 in set0
    [Thr 5416] NiSelIListRemove: remove hdl 9 [17] from buf-list (1) of set0
    [Thr 5416] IcmRecMsg: received 72 bytes
    [Thr 5416] ============================================
    [Thr 5416] | COM_DATA:
    [Thr 5416] | Offset: 0     | Version: 7000
    [Thr 5416] | MsgNo: 2     | Opcode: ICM_COM_OP_ICM_MONITOR (66)
    [Thr 5416] ============================================
    [Thr 5416] IcmHandleAdmMsg: op: 66
    [Thr 5416] NiBufIAlloc: malloc NiBufadm, to 0 bytes
    [Thr 5416] NiBufDup: ref 1 for buf 0252CE50
    [Thr 5416] IcmQueueAppend: queuelen:     1
    [Thr 5416] IcmCreateRequest: Appended request 14
    [Thr 5416] NiBufIAlloc: malloc ICM_EXT, to 80 bytes
    [Thr 5416]
    NiBufSend starting
    [Thr 5784] IcmWorkerThread: worker 4 got the semaphore
    [Thr 5416] NiIWrite: hdl 9 sent data (wrt=80,pac=1,MESG_IO)
    [Thr 5416] NiBufFree: ref 1 for buf 0252CE50
    [Thr 5416] SiSelNSelect: start select (timeout=-1)
    [Thr 5784] REQUEST:
        Type: ADMMSG    Index = 13
    [Thr 5784] MPI<c>0#5 GetInbuf -1 1489a0 440 (1) -> 6
    [Thr 5784] IcmHandleMonitorMessage: called with opcode: 100
    [Thr 5784] MPI<b>1#4 GetOutbuf -1 138968 65536 (0) -> 053389C8 0
    [Thr 5784] MPI<c>0#6 FreeInbuf#2 0 1489a0  0 -> 0
    [Thr 5784] MPI<b>1#5 FlushOutbuf l-1 1 1 138968 1104 6 -> 053389A8 0
    [Thr 5784] IcmWorkerThread: Thread 4: Waiting for event
    [Thr 4352] Tue Jul 15 14:40:26 2008
    [Thr 4352] NiSelISelectInt: 0 handles selected (0 buffered)
    [Thr 4352] IcmWatchDogThread: check ni handles (timeout=10000)
    [Thr 4352] SiSelNFCSelect: start select (timeout=10000)
    [Thr 5416] Tue Jul 15 14:40:29 2008
    [Thr 5416] SiSelNNext: sock 8160 selected (revt=r--)
    [Thr 5416] NiSelIListInsert: add hdl 6 [3] to sel-list (0) of set0
    [Thr 5416] NiSelISelectInt: 1 handles selected (0 buffered)
    [Thr 5416] IcmExternalLogin: Connection request from Client received
    [Thr 5416] NiIAccept: hdl 6 accepted connection
    [Thr 5416] NiICreateHandle: hdl 8 state NI_INITIAL
    [Thr 5416] NiIInitSocket: set default settings for hdl 8 / sock 8076 (I4; ST)
    [Thr 5416] NiIBlockMode: set blockmode for hdl 8 FALSE
    [Thr 5416] NiIAccept: state of hdl 8 NI_ACCEPTED
    [Thr 5416] NiIAccept: hdl 6 accepted hdl 8 from 192.168.1.3:1305
    [Thr 5416] NiIAccept: hdl 8 took local address 130.83.89.22:1443
    [Thr 5416] IcmConnCheckStoredClientConn: next client timeout check in 3 sec
    [Thr 5416] IcmServIncrRefCount: sdatu100.pvw.tu-darmstadt.de:1443 - serv_ref_count: 2
    [Thr 5416] IcmQueueAppend: queuelen:     1
    [Thr 5416] IcmCreateRequest: Appended request 15
    [Thr 5416] IcmConnIntegrateServer: accepted connection from 192.168.1.3 on service 1443
    [Thr 3932] IcmWorkerThread: worker 5 got the semaphore
    [Thr 3932] REQUEST:
        Type: ACCEPT CONNECTION    Index = 14
    [Thr 3932] CONNECTION (id=1/8):
        used: 1, type: 1, role: 1, stateful: 0
        NI_HDL: 8, protocol: HTTPS(2)
        local host:  130.83.89.22:1443 ()
        remote host: 192.168.1.3:1305 ()
        status: NOP
        connect time: 15.07.2008 14:40:29
        MPI request:        <0>      MPI response:        <0>
        request_buf_size:   0        response_buf_size:   0
        request_buf_used:   0        response_buf_used:   0
        request_buf_offset: 0        response_buf_offset: 0
    [Thr 5416] SiSelNSelect: start select (timeout=-1)
    [Thr 3932] MPI:1 create pipe 052002C0 1
    [Thr 3932] MPI<d>1#1 Open( ANONYMOUS 1 1 ) -> 1
    [Thr 3932] MPI<d>1#2 Open( ANONYMOUS 1 0 ) -> 1
    [Thr 3932] MPI:0 create pipe 05200180 1
    [Thr 3932] MPI<e>0#1 Open( ANONYMOUS 0 0 ) -> 0
    [Thr 3932] MPI<e>0#2 Open( ANONYMOUS 0 1 ) -> 0
    [Thr 3932] ->> SapSSLSessionInit(&sssl_hdl=023BC640, role=2 (SERVER), auth_type=2 (REQUIRE_CLIENT_CERT))
    [Thr 3932] <<- SapSSLSessionInit()==SAP_O_K
    [Thr 3932]      in: args = "role=2 (SERVER), auth_type=2 (REQUIRE_CLIENT_CERT)"
    [Thr 3932]     out: sssl_hdl = 003FFBC0
    [Thr 3932] ->> SapSSLSetNiHdl(sssl_hdl=003FFBC0, ni_hdl=8)
    [Thr 3932] NiIBlockMode: set blockmode for hdl 8 TRUE
    [Thr 3932]   SSL NI-sock: local=130.83.89.22:1443  peer=192.168.1.3:1305
    [Thr 3932] <<- SapSSLSetNiHdl(sssl_hdl=003FFBC0, ni_hdl=8)==SAP_O_K
    [Thr 3932] ->> SapSSLSessionStart(sssl_hdl=003FFBC0)
    [Thr 3932]   SapISSLServerCacheExpiration(): Calling ServerCacheCleanup() (lifetime=900)
    [Thr 3932]   SapISSLServerCacheExpiration(srv,"D:\usr\sap\RD1\DVEBMGS02\sec\SAPSSLS.pse"): Cache max/before/now = 5000/1/1
    [Thr 5096] Tue Jul 15 14:40:32 2008
    [Thr 5096] SiSelNSelect: of 1 sockets 0 selected
    [Thr 5096] IcmProxyWatchDog: check sockets (timeout=10000)
    [Thr 5096] SiSelNSelect: start select (timeout=10000)
    [Thr 4352] Tue Jul 15 14:40:36 2008
    [Thr 4352] NiSelISelectInt: 0 handles selected (0 buffered)
    [Thr 4352] IcmCheckForBlockedThreads: check for blocked SSL-threads
    [Thr 4352] IcmWatchDogThread: check ni handles (timeout=10000)
    [Thr 4352] SiSelNFCSelect: start select (timeout=10000)
    [Thr 5096] Tue Jul 15 14:40:42 2008
    [Thr 5096] SiSelNSelect: of 1 sockets 0 selected
    [Thr 5096] IcmProxyWatchDog: check sockets (timeout=10000)
    [Thr 5096] SiSelNSelect: start select (timeout=10000)
    [Thr 3932] Tue Jul 15 14:40:45 2008
    [Thr 3932]   peer has closed connection
    [Thr 3932] <<- SapSSLSessionStart(sssl_hdl=003FFBC0)==SSSLERR_CONN_CLOSED
    [Thr 3932] ->> SapSSLSessionDone(&sssl_hdl=023BC640)
    [Thr 3932] <<- SapSSLSessionDone(sssl_hdl=003FFBC0)==SAP_O_K
    [Thr 3932] NiICloseHandle: shutdown and close hdl 8 / sock 8076
    [Thr 3932] MPI<d>1#3 Close( 1 ) del=0 -> 0
    [Thr 3932] MPI<d>1#5 Delete( 1 ) -> 0
    [Thr 3932] MPI<d>1#4 Close( 1 ) del=1 -> 0
    [Thr 3932] MPI<e>0#3 Close( 0 ) del=0 -> 0
    [Thr 3932] MPI<e>0#5 Delete( 0 ) -> 0
    [Thr 3932] MPI<e>0#4 Close( 0 ) del=1 -> 0
    [Thr 3932] IcmConnFreeContext: context 1 released
    [Thr 3932] IcmServDecrRefCount: sdatu100.pvw.tu-darmstadt.de:1443 - serv_ref_count: 1
    [Thr 3932] IcmWorkerThread: Thread 5: Waiting for event
    [Thr 5416] SiSelNNext: sock 8160 selected (revt=r--)
    [Thr 5416] NiSelIListInsert: add hdl 6 [3] to sel-list (0) of set0
    [Thr 5416] NiSelISelectInt: 1 handles selected (0 buffered)
    [Thr 5416] IcmExternalLogin: Connection request from Client received
    [Thr 5416] NiIAccept: hdl 6 accepted connection
    [Thr 5416] NiICreateHandle: hdl 8 state NI_INITIAL
    [Thr 5416] NiIInitSocket: set default settings for hdl 8 / sock 8092 (I4; ST)
    [Thr 5416] NiIBlockMode: set blockmode for hdl 8 FALSE
    [Thr 5416] NiIAccept: state of hdl 8 NI_ACCEPTED
    [Thr 5416] NiIAccept: hdl 6 accepted hdl 8 from 192.168.1.3:1309
    [Thr 5416] NiIAccept: hdl 8 took local address 130.83.89.22:1443
    [Thr 5416] IcmConnCheckStoredClientConn: check for client conn timeout
    [Thr 5416] IcmConnCheckStoredClientConn: next client timeout check in 60 sec
    [Thr 5416] IcmServIncrRefCount: sdatu100.pvw.tu-darmstadt.de:1443 - serv_ref_count: 2
    [Thr 5416] IcmQueueAppend: queuelen:     1
    [Thr 5416] IcmCreateRequest: Appended request 16
    [Thr 5416] IcmConnIntegrateServer: accepted connection from 192.168.1.3 on service 1443
    [Thr 5708] IcmWorkerThread: worker 6 got the semaphore
    [Thr 5708] REQUEST:
        Type: ACCEPT CONNECTION    Index = 15
    [Thr 5708] CONNECTION (id=1/9):
        used: 1, type: 1, role: 1, stateful: 0
        NI_HDL: 8, protocol: HTTPS(2)
        local host:  130.83.89.22:1443 ()
        remote host: 192.168.1.3:1309 ()
        status: NOP
        connect time: 15.07.2008 14:40:45
        MPI request:        <0>      MPI response:        <0>
        request_buf_size:   0        response_buf_size:   0
        request_buf_used:   0        response_buf_used:   0
        request_buf_offset: 0        response_buf_offset: 0
    [Thr 5416] SiSelNSelect: start select (timeout=-1)
    [Thr 5708] MPI:0 create pipe 05200180 1
    [Thr 5708] MPI<f>0#1 Open( ANONYMOUS 0 1 ) -> 0
    [Thr 5708] MPI<f>0#2 Open( ANONYMOUS 0 0 ) -> 0
    [Thr 5708] MPI:1 create pipe 052002C0 1
    [Thr 5708] MPI<10>1#1 Open( ANONYMOUS 1 0 ) -> 1
    [Thr 5708] MPI<10>1#2 Open( ANONYMOUS 1 1 ) -> 1
    [Thr 5708] ->> SapSSLSessionInit(&sssl_hdl=023BC640, role=2 (SERVER), auth_type=2 (REQUIRE_CLIENT_CERT))
    [Thr 5708] <<- SapSSLSessionInit()==SAP_O_K
    [Thr 5708]      in: args = "role=2 (SERVER), auth_type=2 (REQUIRE_CLIENT_CERT)"
    [Thr 5708]     out: sssl_hdl = 003FFBC0
    [Thr 5708] ->> SapSSLSetNiHdl(sssl_hdl=003FFBC0, ni_hdl=8)
    [Thr 5708] NiIBlockMode: set blockmode for hdl 8 TRUE
    [Thr 5708]   SSL NI-sock: local=130.83.89.22:1443  peer=192.168.1.3:1309
    [Thr 5708] <<- SapSSLSetNiHdl(sssl_hdl=003FFBC0, ni_hdl=8)==SAP_O_K
    [Thr 5708] ->> SapSSLSessionStart(sssl_hdl=003FFBC0)
    [Thr 5708] NiIBlockMode: set blockmode for hdl 8 FALSE
    [Thr 5708] NiIHdlGetStatus: hdl 8 / sock 8092 ok, data pending (len=1)
    [Thr 5708] NiIBlockMode: set blockmode for hdl 8 TRUE
    [Thr 5708]   SSL_get_state() returned 0x00001181 "SSLv3 read client certificate B"
    [Thr 5708] *** ERROR during SecudeSSL_SessionStart() from SSL_accept()==SSL_ERROR_SSL
    [Thr 5708] SecudeSSL_SessionStart: SSL_accept() failed --
      secude_error 536871698 (0x20000312) = "the client did not send a certificate handshake message for its authentication and we c
    [Thr 5708] >> -
    Begin of Secude-SSL Errorstack -
    >>
    [Thr 5708] ERROR in ssl3_get_client_certificate: (536871698/0x20000312) the client did not send a certificate handshake message
    [Thr 5708] << -
    End of Secude-SSL Errorstack -
    [Thr 5708] <<- ERROR: SapSSLSessionStart(sssl_hdl=003FFBC0)==SSSLERR_SSL_ACCEPT
    [Thr 5708] ->> SapSSLErrorName(rc=-56)
    [Thr 5708] <<- SapSSLErrorName()==SSSLERR_SSL_ACCEPT
    [Thr 5708] *** ERROR => IcmConnInitServerSSL: SapSSLSessionStart returned (-56): SSSLERR_SSL_ACCEPT [icxxconn.c   1777]
    [Thr 5708] ->> SapSSLSessionDone(&sssl_hdl=023BC640)
    [Thr 5708] <<- SapSSLSessionDone(sssl_hdl=003FFBC0)==SAP_O_K
    [Thr 5708] NiICloseHandle: shutdown and close hdl 8 / sock 8092
    [Thr 5708] MPI<f>0#3 Close( 0 ) del=0 -> 0
    [Thr 5708] MPI<f>0#5 Delete( 0 ) -> 0
    [Thr 5708] MPI<f>0#4 Close( 0 ) del=1 -> 0
    [Thr 5708] MPI<10>1#3 Close( 1 ) del=0 -> 0
    [Thr 5708] MPI<10>1#5 Delete( 1 ) -> 0
    [Thr 5708] MPI<10>1#4 Close( 1 ) del=1 -> 0
    [Thr 5708] IcmConnFreeContext: context 1 released
    [Thr 5708] IcmServDecrRefCount: sdatu100.pvw.tu-darmstadt.de:1443 - serv_ref_count: 1
    [Thr 5708] IcmWorkerThread: Thread 6: Waiting for event
    [Thr 4352] Tue Jul 15 14:40:46 2008
    [Thr 4352] NiSelISelectInt: 0 handles selected (0 buffered)
    [Thr 4352] IcmQueueAppend: queuelen:     1
    [Thr 4352] IcmCreateRequest: Appended request 17
    [Thr 4352] IcmWatchDogThread: check ni handles (timeout=10000)
    [Thr 4352] SiSelNFCSelect: start select (timeout=10000)
    [Thr 4196] IcmWorkerThread: worker 7 got the semaphore
    [Thr 4196] REQUEST:
        Type: SCHEDULER    Index = 16
    [Thr 4196] IcmGetSchedule: found slot 0
    [Thr 4196] IcmAlReportData: Reporting data to CCMS Alerting Infrastructure
    [Thr 4196] NiIGetServNo: servicename '1443' = port 05.A3/1443
    [Thr 4196] IcmConnCheckStoredClientConn: next client timeout check in 59 sec
    [Thr 4196] NiIGetServNo: servicename '1443' = port 05.A3/1443
    [Thr 4196] IcmGetServicePtr: new serv_ref_count: 2
    [Thr 4196] PlugInHandleAdmMessage: request received:
    [Thr 4196] PlugInHandleAdmMessage: opcode: 136, len: 272, dest_type: 2, subhdlkey: 262145
    [Thr 4196] HttpSubHandlerCall: Call Handler: HttpCacheHandler, task=4, header_len=0
    [Thr 4196] HttpCacheHandler: 4 0 006BBBC4 00000000
    [Thr 4196] SCACHE: adm request received:
    [Thr 4196] SCACHE: opcode: 136, len: 272, dest_type: 2, dest:
    [Thr 4196] MTX_LOCK 3038 00ADEE88
    [Thr 4196] MTX_UNLOCK 3051 00ADEE88
    [Thr 4196] IctCmGetCacheInfo#5 -> 0
    [Thr 4196] IcmNetBufWrapBuf: allocated netbuf: 00AD2B48, blocks used: 1
    [Thr 4196] IcmNetBufWrapBuf: allocated netbuf: 00AD2B48
    [Thr 4196] IcmNetBufFree: free netbuf: 00AD2B48 out of 1 used
    [Thr 4196] IcmConnFreeContext: context 1 released
    [Thr 4196] IcmServDecrRefCount: sdatu100.pvw.tu-darmstadt.de:1443 - serv_ref_count: 1
    [Thr 4196] IcmGetSchedule: next schedule in 30 secs
    [Thr 4196] IcmWorkerThread: Thread 7: Waiting for event
    [Thr 5096] Tue Jul 15 14:40:52 2008
    [Thr 5096] SiSelNSelect: of 1 sockets 0 selected
    [Thr 5096] IcmProxyWatchDog: check sockets (timeout=10000)
    [Thr 5096] SiSelNSelect: start select (timeout=10000)

    >
    silke kubelka wrote:
    > SMICM-Log:
    >
    *** No SSL-client PSE "SAPSSLC.pse" available
    >
    *** this will probably limit SSL-client side connectivity
    >
    > is this a problem?
    Well, since you want to enable the certificate-based user authentication (where your ABAP server is in the role of the SSL server) this does not matter. But if you intend to use your NWAS ABAP as SSL client (for outbound https communication) then it will matter. To resolve this problem you simply create an SSL Client PSE using transaction STRUST.
    Once you've managed to [configure your NWAS ABAP for SSL,|https://service.sap.com/sap/support/notes/510007] you should see (in the ICM trace) that a X.509 client certificate was received. If the certificate-based logon does not succeed, then it's most likely due to some mapping problems - those can be analysed by using the tracing approach described in [note 495911|https://service.sap.com/sap/support/notes/495911].
    If you need assistance in enabling the X.509 client certificate authentication you should submit an inquiry to SAP (message component BC-SEC-LGN).
    Best regards,
    Wolfgang

  • Project Server 2010 Web services access with Client Certificate Authentication

    We switched our SharePoint/Project Server 2010 farm to use client certificate authentication with Active Directory Federation Services (AD FS) 2.0, which is working without issue. We have some administrative Project Server Interface (PSI)
    web service applications that no longer connect to server with the new authentication configuration.  Our custom applications are using the WCF interface to access the public web services.
    Please let us know if it is possible to authenticate with AD FS 2.0 and then call
    Project Server web services. Any help or coding examples would be greatly appreciated.

    what is the error occurred when the custom PSI app connects?
    can you upload the ULS logs here for research?
    What is the user account format you specified in the code for authentication?
    For proper authorization, the “user logon account” in PWA for the user needs to be changed from domain\username to the claims token (e.g.
    'I:0#.w|mybusinessdomain\ewmccarty').
    It requires you to manually call the UpnLogon method of
    “Claims to Windows Token Service”. if (Thread.CurrentPrincipal.Identity is ClaimsIdentity)  
    {  var identity = (ClaimsIdentity)Thread.CurrentPrincipal.Identity;  }  
    if (Thread.CurrentPrincipal.Identity is ClaimsIdentity)
    var identity = (ClaimsIdentity)Thread.CurrentPrincipal.Identity;
    Than you need to extract UPN-Claim from the identity.
    Upload the verbose log if possible.
    Did you see this?
    http://msdn.microsoft.com/en-us/library/ff181538(v=office.14).aspx
    Cheers. Happy troubleshooting !!! Sriram E - MSFT Enterprise Project Management

  • Rejected client certificate by the server

    Hello everyone.
    I writting you because a I have a big problem using ssl and client authenticate.
    I created a connector for the client connetions:
    <Connector port="9443"
         maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
         keystoreFile="C:/WINDOWS/security/server.ks"
         keystorePass="*********"
    enableLookups="false" disableUploadTimeout="true"
    acceptCount="100" debug="0" scheme="https" secure="true"
    clientAuth="true" sslProtocol="SSL" />
    As it is for educational propurses, I created my own self-signed CA using openssl and generate a certificate request for the
    web server and then I signed with the self-signed CA.
    Then I created a client certificate and I signed with the self-signed CA, I import the self-signed CA in firefox as a
    certificate authority and the client certificate as a client certificate, but when I try to establish a connection I got this
    error message: "Could not establish an encrypted connection because your certificate was rejected by agatha. Error Code -12271"
    (agatha is the apache server).
    I got a openssl manual and I saw I followed the right steps to create the CA and the client certificate, I also read that the
    common name of the client must match an entry in tomcat-users.xml, I created an entry with this common name and
    the error message still apears.
    When I use Internet Explorer I get a error page with this title: The page cannot be displayed
    I opened the stdout.log file and there is a exception repeted 5 times:
    NotifyUtil::java.net.ConnectException: Connection refused: connect
         at java.net.PlainSocketImpl.socketConnect(Native Method)
         at java.net.PlainSocketImpl.doConnect(Unknown Source)
         at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
         at java.net.PlainSocketImpl.connect(Unknown Source)
         at java.net.Socket.connect(Unknown Source)
         at java.net.Socket.connect(Unknown Source)
         at sun.net.NetworkClient.doConnect(Unknown Source)
         at sun.net.www.http.HttpClient.openServer(Unknown Source)
         at sun.net.www.http.HttpClient.openServer(Unknown Source)
         at sun.net.www.http.HttpClient.<init>(Unknown Source)
         at sun.net.www.http.HttpClient.<init>(Unknown Source)
         at sun.net.www.http.HttpClient.New(Unknown Source)
         at sun.net.www.http.HttpClient.New(Unknown Source)
         at sun.net.www.http.HttpClient.New(Unknown Source)
         at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
         at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
         at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source)
         at org.netbeans.modules.web.monitor.server.NotifyUtil$RecordSender.run(NotifyUtil.java:237)
    What is happening??? is there something wrong??

    That didn't work for me - as well as a host of other things that did not work for me. I can honestly say that Netbeans is the worst piece of junk software I've ever used in the entirety of my life and my previous one thousand lives.
    The best way to rid yourself of this problem is to uninstall Netcrap and run over to Eclipse. But beyond that, edit your [$TOMCAT_HOME]/conf/web.xml file and rip out the following section from the top - where Netcrap snuck it in, and didn't remove - even causing config errors after I turned it off.
    =========================================
    <filter>
    <filter-name>HTTPMonitorFilter</filter-name>
    <filter-class>org.netbeans.modules.web.monitor.server.MonitorFilter</filter-class>
    <init-param>
    <param-name>netbeans.monitor.ide</param-name>
    <param-value>127.0.0.1:8082</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>HTTPMonitorFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
    <dispatcher>ERROR</dispatcher>
    </filter-mapping>
    =========================================
    I'm using 4.0 on Linux. Thing has got a couple of cool features, but nothing beats dependability, and a darn config interface that actually makes sense. I mean, turn off some features and you can't even open your past projects?! WTF?! But no indication! But first the icon looks good! And then you click on it and it disappears! Un-effing-believable! And it took me hours to figure out how to set up a dang server! I just assumed it didn't have the ability to do it at all! The source-code control config is whack. Man. Total lack of useful documentation, no decent news/web boards. Totally outrageous.
    Worst. Software. Ever.

  • Half of clients report: MP has rejected registration request due to failure in client certificate

    My entire site is configured to use HTTPS, about half my clients have installed and continue to communicate with the MP successfully whereas the other half are reporting the following error during installation:
    MP has rejected registration request due to failure in client certificate (Subject Name: COMPUTER.DOMAIN.COM) chain validation. If this is a valid client, Configuration Manager Administrator needs to place the Root Certification Authority and Intermediate
    Certificate Authorities in the MPÆs Certificate store or configure Trusted Root Certification Authorities in primary site settings. The operating system reported error 2148204809: A certificate chain processed, but terminated in a root certificate which is
    not trusted by the trust provider. 
    The thing is, ALL clients have the same Root Certification Authority and Intermediate Certificate Authorities, any thoughts?

    Hi,
    Is possible that half of your clients are enrroll in your PKI infrastruture with a root certificate old of you Certificate authority and you only have one certifiacate register un the SCCM, you can't have 2 root certificate with the same subject but you
    can re-enrroll all your client machine if have auto-enrroll configured by GPO's.
    I will Attach 2 snapshot's that can help to identify if you root ca certificate in SCCM are correct and are the same that the certificate root authority in you client certificate, if you like re-enrroll all your machine to ensure that all clients machine
    have the same root ca you can see how in this link
    http://windowsitpro.com/security/q-there-easy-way-automatically-re-enroll-certificate-holders-received-certificate-old-ca-ne
    Client Side

  • Help required with ADFS 3.0 client certificate authentication

    Hi,
    I am currently working on integrating ADFS 3.o for Single Sign On to some 3rd party services along with PKI solution. The basic requirement is that I should be able to choose client authentication certificate as an authentication method in ADFS and then
    federate user credentials to 3rd party trust for single-sign-on.
    I had done this successfully with ADFS 2.0 and that setup is working fine. I have the setup as ADFS 3.0 client authentication method enabled. When I open browser to logon, the ADFS 3.0 page displays a message as "Select a certificate that you want to
    use for authentication. If you cancel the operation, please close your browser and try again." but the certificates are not displayed for selection.
    The certificates are valid and have valid chaining to CA. Could someone help me resolve this issue?
    Thanks!
    -Chinmaya Karve

    Hi Yan,
    Thanks for your response. I have gone through the posts that you have suggested, and my setup looks pretty much as expected.
    So, as I mentioned earlier, I have 2 parallel setups with 3rd party service(SalesForce). Once of them is running ADFS 2.0 and another one has ADFS 3.0. I can logon to the third-party services, from both the setups using username/format. I can logon to SF
    using client authentication certificate from ADFS 2.0 setup, but from the same client machine, when I try to logon SF via ADFS 3.0, the browser just does not pick up any certificate. The page just shows message of "Select a certificate that you want to use
    for authentication. If you cancel the operation, please close your browser and try again.".
    I have checked the browser, and it has the right certificates. Also, the same browser/machine is used to logon to SF through ADFS 2.0 via client certificate, which works just fine !
    I am really confused now, as to whose issue this really is...
    Just to confirm, I am using Certificate Authentication from ADFS 3.0 Authentication Methods for both Intranet and Extranet.
    Any suggestion or inputs where I could have gone wrong in the setup?
    Thanks!

  • Connecting Java client to SSL server with existing certificates

    I am currently trying to connect my Java client to an existing server application
    written in C++. I have been provided the needed certificates (root.pem, server.pem,
    and client.pem). My code simply creates a SSLSocket and then attempts to read
    from it. Something goes wrong during the handshake process and I get a SSLHandshakeException. The certificates have been added to the keystore
    I am using, and I do not know any other action to take.
    Here is the debug output:
    setting up default SSLSocketFactory
    use default SunJSSE impl class: com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl
    class com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl is loaded
    keyStore is :
    keyStore type is : jks
    keyStore provider is :
    init keystore
    init keymanager of type SunX509
    trustStore is: keystore.jks
    trustStore type is : jks
    trustStore provider is :
    init truststore
    adding as trusted cert:
    Subject: [email protected], CN=Employee, OU=test, O=company-USA, L=City, ST=AL, C=US
    Issuer: [email protected], CN=company Employee, OU=test, O="company, Inc.", L=City, ST=AL, C=US
    Algorithm: RSA; Serial number: 0xb40b909f74d167aa
    Valid from Tue Sep 12 09:42:01 CDT 2006 until Thu Oct 12 09:42:01 CDT 2006
    adding as trusted cert:
    Subject: [email protected], CN=Employee, OU=test, O="company, Inc.", L=City, ST=AL, C=US
    Issuer: [email protected], CN=ISAC Employee, OU=test, O="company, Inc.", L=City, ST=AL, C=US
    Algorithm: RSA; Serial number: 0xb40b909f74d167ab
    Valid from Tue Sep 12 09:49:12 CDT 2006 until Thu Oct 12 09:49:12 CDT 2006
    adding as trusted cert:
    Subject: [email protected], CN=company Employee, OU=test, O="company, Inc.", L=City, ST=AL, C=US
    Issuer: [email protected], CN=company, OU=test, O="company, Inc.", L=City, ST=AL, C=US
    Algorithm: RSA; Serial number: 0xf6e3ada87dc4004f
    Valid from Tue Sep 12 09:40:32 CDT 2006 until Thu Oct 12 09:40:32 CDT 2006
    init context
    trigger seeding of SecureRandom
    done seeding SecureRandom
    instantiated an instance of class com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl
    SSL socket created
    %% No cached client session
    *** ClientHello, TLSv1
    RandomCookie: GMT: 1158089181 bytes = { 138, 112, 170, 91, 246, 86, 216, 146, 160, 188, 243, 154, 238, 132, 33, 219, 251, 3, 93, 25, 191, 247, 41, 14, 99, 135, 130, 23 }
    Session ID: {}
    Cipher Suites: [SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA]
    Compression Methods: { 0 }
    [write] MD5 and SHA1 hashes: len = 79
    0000: 01 00 00 4B 03 01 45 07 0A DD 8A 70 AA 5B F6 56 ...K..E....p.[.V
    0010: D8 92 A0 BC F3 9A EE 84 21 DB FB 03 5D 19 BF F7 ........!...]...
    0020: 29 0E 63 87 82 17 00 00 24 00 04 00 05 00 2F 00 ).c.....$...../.
    0030: 35 00 33 00 39 00 32 00 38 00 0A 00 16 00 13 00 5.3.9.2.8.......
    0040: 09 00 15 00 12 00 03 00 08 00 14 00 11 01 00 ...............
    Client Thread, WRITE: TLSv1 Handshake, length = 79
    [write] MD5 and SHA1 hashes: len = 107
    0000: 01 03 01 00 42 00 00 00 20 00 00 04 01 00 80 00 ....B... .......
    0010: 00 05 00 00 2F 00 00 35 00 00 33 00 00 39 00 00 ..../..5..3..9..
    0020: 32 00 00 38 00 00 0A 07 00 C0 00 00 16 00 00 13 2..8............
    0030: 00 00 09 06 00 40 00 00 15 00 00 12 00 00 03 02 .....@..........
    0040: 00 80 00 00 08 00 00 14 00 00 11 45 07 0A DD 8A ...........E....
    0050: 70 AA 5B F6 56 D8 92 A0 BC F3 9A EE 84 21 DB FB p.[.V........!..
    0060: 03 5D 19 BF F7 29 0E 63 87 82 17 .]...).c...
    Client Thread, WRITE: SSLv2 client hello message, length = 107
    [Raw write]: length = 109
    0000: 80 6B 01 03 01 00 42 00 00 00 20 00 00 04 01 00 .k....B... .....
    0010: 80 00 00 05 00 00 2F 00 00 35 00 00 33 00 00 39 ....../..5..3..9
    0020: 00 00 32 00 00 38 00 00 0A 07 00 C0 00 00 16 00 ..2..8..........
    0030: 00 13 00 00 09 06 00 40 00 00 15 00 00 12 00 00 .......@........
    0040: 03 02 00 80 00 00 08 00 00 14 00 00 11 45 07 0A .............E..
    0050: DD 8A 70 AA 5B F6 56 D8 92 A0 BC F3 9A EE 84 21 ..p.[.V........!
    0060: DB FB 03 5D 19 BF F7 29 0E 63 87 82 17 ...]...).c...
    Client Thread, received EOFException: error
    Client Thread, handling exception: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
    Client Thread, SEND TLSv1 ALERT: fatal, description = handshake_failure
    Client Thread, WRITE: TLSv1 Alert, length = 2
    [Raw write]: length = 7
    0000: 15 03 01 00 02 02 28 ......(
    Client Thread, called closeSocket()
    Error: Remote host closed connection during handshake
    Thread-4, handling exception: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake

    (I am the original poster of this message, I had to create a new username though).
    The original problem had to do with incompatibilities with the protocol and/or cipher suites
    used. Now, the client and server perform most of the handshake process, but something
    goes wrong as the server requests the client certificate. In other words, the server requires
    mutual authentication, but for some reason it seems like my JSSE client won't send over
    it's client certificate. I don't get any type of bad certificate exceptions, so I'm not sure
    where the source of the error lies.
    Updated output:
    setting up default SSLSocketFactory
    use default SunJSSE impl class: com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl
    class com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl is loaded
    keyStore is : keystore
    keyStore type is : jks
    keyStore provider is :
    init keystore
    init keymanager of type SunX509
    trustStore is: truststore
    trustStore type is : jks
    trustStore provider is :
    init truststore
    adding as trusted cert:
    Subject: [email protected], CN=Employee, OU=default, O="default Inc.", L=default, ST=AL, C=US
    Issuer: [email protected], CN=default Employee, OU=default, O="default, Inc.", L=default, ST=AL, C=US
    Algorithm: RSA; Serial number: 0xb40b909f74d167ab
    Valid from Tue Sep 12 09:49:12 CDT 2006 until Thu Oct 12 09:49:12 CDT 2006
    adding as trusted cert:
    Subject: [email protected], CN=default-Server, OU=HawkEye, O=default, L=default, ST=AL, C=US
    Issuer: [email protected], CN=default Employee, OU=default, O="default, Inc.", L=default, ST=AL, C=US
    Algorithm: RSA; Serial number: 0xb40b909f74d167ac
    Valid from Tue Sep 12 14:42:28 CDT 2006 until Thu Oct 12 14:42:28 CDT 2006
    adding as trusted cert:
    Subject: [email protected], CN=default Employee, OU=default, O="default, Inc.", L=default, ST=AL, C=US
    Issuer: [email protected], CN=default Employee, OU=default, O="default, Inc.", L=default, ST=AL, C=US
    Algorithm: RSA; Serial number: 0xf6e3ada87dc4004f
    Valid from Tue Sep 12 09:40:32 CDT 2006 until Thu Oct 12 09:40:32 CDT 2006
    init context
    trigger seeding of SecureRandom
    done seeding SecureRandom
    instantiated an instance of class com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl
    %% No cached client session
    *** ClientHello, TLSv1
    RandomCookie: GMT: 1158242806 bytes = { 71, 195, 185, 44, 86, 96, 14, 11, 171, 76, 105, 135, 136, 114, 53, 54, 137, 75, 202, 254, 112, 208, 240, 91, 199, 246, 175, 207 }
    Session ID: {}
    Cipher Suites: [SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA]
    Compression Methods: { 0 }
    Client Thread, WRITE: TLSv1 Handshake, length = 79
    Client Thread, READ: TLSv1 Handshake, length = 74
    *** ServerHello, TLSv1
    RandomCookie: GMT: 1158242807 bytes = { 63, 93, 48, 73, 98, 251, 160, 215, 61, 110, 246, 12, 5, 209, 95, 194, 152, 193, 0, 181, 135, 26, 150, 174, 52, 92, 56, 250 }
    Session ID: {83, 31, 134, 30, 76, 200, 183, 120, 7, 94, 26, 65, 186, 91, 197, 25, 10, 193, 94, 220, 198, 250, 162, 153, 6, 89, 12, 250, 66, 105, 249, 211}
    Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA
    Compression Method: 0
    %% Created: [Session-1, TLS_RSA_WITH_AES_128_CBC_SHA]
    ** TLS_RSA_WITH_AES_128_CBC_SHA
    Client Thread, READ: TLSv1 Handshake, length = 1903
    *** Certificate chain
    chain [0] = [
    Version: V3
    Subject: [email protected], CN=Employee, OU=default, O="default, Inc.", L=default, ST=AL, C=US
    Signature Algorithm: SHA1withRSA, OID = 1.2.840.113549.1.1.5
    Key: Sun RSA public key, 1024 bits
    modulus: 164546130673614659100546464587508805401937082626997447139358150641653094778762702643605529386963945060462618417820295217144739538713137107756847225226998964727905246706969036839701385553183842454061172884072035749790213037240682893878786969498404371282074360019097248835858617183835587887295684928062301303789
    public exponent: 65537
    Validity: [From: Tue Sep 12 09:49:12 CDT 2006,
                   To: Thu Oct 12 09:49:12 CDT 2006]
    Issuer: [email protected], CN=default Employee, OU=default, O="default, Inc.", L=default, ST=AL, C=US
    SerialNumber: [    b40b909f 74d167ab]
    Certificate Extensions: 4
    [1]: ObjectId: 2.16.840.1.113730.1.13 Criticality=false
    Extension unknown: DER encoded OCTET string =
    0000: 04 1F 16 1D 4F 70 65 6E 53 53 4C 20 47 65 6E 65 ....OpenSSL Gene
    0010: 72 61 74 65 64 20 43 65 72 74 69 66 69 63 61 74 rated Certificat
    0020: 65 e
    [2]: ObjectId: 2.5.29.14 Criticality=false
    SubjectKeyIdentifier [
    KeyIdentifier [
    0000: C8 EA 02 93 42 9E 44 D1 55 7D 2D 32 4B 9B 1C 6D ....B.D.U.-2K..m
    0010: 63 6B 73 82 cks.
    [3]: ObjectId: 2.5.29.35 Criticality=false
    AuthorityKeyIdentifier [
    KeyIdentifier [
    0000: 2C BC 66 DC 06 BA 62 79 3B 1A 20 92 E0 81 71 A0 ,.f...by;. ...q.
    0010: 0D 05 3C 95 ..<.
    [[email protected], CN=default Employee, OU=default, O="default, Inc.", L=default, ST=AL, C=US]
    SerialNumber: [    f6e3ada8 7dc4004f]
    [4]: ObjectId: 2.5.29.19 Criticality=false
    BasicConstraints:[
    CA:false
    PathLen: undefined
    Algorithm: [SHA1withRSA]
    Signature:
    0000: BF 60 5A 67 3E E6 F0 92 4F E4 81 6D 71 0A 2E E8 .`Zg>...O..mq...
    0010: F3 59 A1 87 7B D1 3A 7A CB FF D6 39 63 79 B6 82 .Y....:z...9cy..
    0020: 2A 22 D0 46 51 30 6B 2A 61 6B A0 4C F0 3B CE 5B *".FQ0k*ak.L.;.[
    0030: 9C 1D 46 CB D7 C2 B2 23 E2 A5 06 CD 12 F8 A9 CB ..F....#........
    0040: B5 A2 43 B1 06 4C 42 B5 67 F2 DF 50 6B BC 8A 5E ..C..LB.g..Pk..^
    0050: 95 0D F3 2A 73 A8 5A C8 55 77 D7 36 74 16 9E 05 ...*s.Z.Uw.6t...
    0060: 85 C6 DC 3C 44 D3 06 5E 47 0C 1F 80 40 30 C7 D8 ...<D..^G...@0..
    0070: 8C 27 FF B9 0C 71 EB D4 31 5C 1F 15 A1 23 6F A2 .'...q..1\...#o.
    chain [1] = [
    Version: V3
    Subject: [email protected], CN=default Employee, OU=default, O="default, Inc.", L=default, ST=AL, C=US
    Signature Algorithm: SHA1withRSA, OID = 1.2.840.113549.1.1.5
    Key: Sun RSA public key, 1024 bits
    modulus: 140862286957037297158683104484469503810921697537964422595574798580128510755934413463045842414762254029728885690233847950678735782281077619629628663140568366247472189890316085560712610474766899389736269383565795688749374256479726939861138704211990111677657317335172626254520371267441364353295155431963634875809
    public exponent: 65537
    Validity: [From: Tue Sep 12 09:40:32 CDT 2006,
                   To: Thu Oct 12 09:40:32 CDT 2006]
    Issuer: [email protected], CN=default Employee, OU=default, O="default, Inc.", L=default, ST=AL, C=US
    SerialNumber: [    f6e3ada8 7dc4004f]
    Certificate Extensions: 3
    [1]: ObjectId: 2.5.29.14 Criticality=false
    SubjectKeyIdentifier [
    KeyIdentifier [
    0000: 2C BC 66 DC 06 BA 62 79 3B 1A 20 92 E0 81 71 A0 ,.f...by;. ...q.
    0010: 0D 05 3C 95 ..<.
    [2]: ObjectId: 2.5.29.35 Criticality=false
    AuthorityKeyIdentifier [
    KeyIdentifier [
    0000: 2C BC 66 DC 06 BA 62 79 3B 1A 20 92 E0 81 71 A0 ,.f...by;. ...q.
    0010: 0D 05 3C 95 ..<.
    [[email protected], CN=default Employee, OU=default, O="default, Inc.", L=default, ST=AL, C=US]
    SerialNumber: [    f6e3ada8 7dc4004f]
    [3]: ObjectId: 2.5.29.19 Criticality=false
    BasicConstraints:[
    CA:true
    PathLen:2147483647
    Algorithm: [SHA1withRSA]
    Signature:
    0000: AB 84 38 1F 7B 71 D8 87 FF 24 DB C2 7E DC D0 0B ..8..q...$......
    0010: 60 60 14 A8 F8 D5 46 AD 6B FC 33 90 6F 43 08 17 ``....F.k.3.oC..
    0020: AE 2B EE 6C 2B 29 85 E2 A6 67 EE 5D A4 61 F3 9E .+.l+)...g.].a..
    0030: E7 CA B1 27 F9 11 36 ED 93 05 7B E1 20 90 57 B5 ...'..6..... .W.
    0040: C6 F9 8A 9D 50 CD B3 4A 54 DC 1B 52 EC EA 7A 0B ....P..JT..R..z.
    0050: B6 E6 95 FD DD 80 BE 66 F0 77 F4 E7 9A 8A A3 EF .......f.w......
    0060: 9B 68 57 0C 9C 4B 4C C0 24 C5 34 16 D3 8E 45 27 .hW..KL.$.4...E'
    0070: CA 23 F1 E0 C5 5E FB FB AA 1C 21 6E CB 5B 57 D9 .#...^....!n.[W.
    Found trusted certificate:
    Version: V3
    Subject: [email protected], CN=Employee, OU=default, O="default, Inc.", L=default, ST=AL, C=US
    Signature Algorithm: SHA1withRSA, OID = 1.2.840.113549.1.1.5
    Key: Sun RSA public key, 1024 bits
    modulus: 164546130673614659100546464587508805401937082626997447139358150641653094778762702643605529386963945060462618417820295217144739538713137107756847225226998964727905246706969036839701385553183842454061172884072035749790213037240682893878786969498404371282074360019097248835858617183835587887295684928062301303789
    public exponent: 65537
    Validity: [From: Tue Sep 12 09:49:12 CDT 2006,
                   To: Thu Oct 12 09:49:12 CDT 2006]
    Issuer: [email protected], CN=default Employee, OU=default, O="default, Inc.", L=default, ST=AL, C=US
    SerialNumber: [    b40b909f 74d167ab]
    Certificate Extensions: 4
    [1]: ObjectId: 2.16.840.1.113730.1.13 Criticality=false
    Extension unknown: DER encoded OCTET string =
    0000: 04 1F 16 1D 4F 70 65 6E 53 53 4C 20 47 65 6E 65 ....OpenSSL Gene
    0010: 72 61 74 65 64 20 43 65 72 74 69 66 69 63 61 74 rated Certificat
    0020: 65 e
    [2]: ObjectId: 2.5.29.14 Criticality=false
    SubjectKeyIdentifier [
    KeyIdentifier [
    0000: C8 EA 02 93 42 9E 44 D1 55 7D 2D 32 4B 9B 1C 6D ....B.D.U.-2K..m
    0010: 63 6B 73 82 cks.
    [3]: ObjectId: 2.5.29.35 Criticality=false
    AuthorityKeyIdentifier [
    KeyIdentifier [
    0000: 2C BC 66 DC 06 BA 62 79 3B 1A 20 92 E0 81 71 A0 ,.f...by;. ...q.
    0010: 0D 05 3C 95 ..<.
    [[email protected], CN=default Employee, OU=default, O="default, Inc.", L=default, ST=AL, C=US]
    SerialNumber: [    f6e3ada8 7dc4004f]
    [4]: ObjectId: 2.5.29.19 Criticality=false
    BasicConstraints:[
    CA:false
    PathLen: undefined
    Algorithm: [SHA1withRSA]
    Signature:
    0000: BF 60 5A 67 3E E6 F0 92 4F E4 81 6D 71 0A 2E E8 .`Zg>...O..mq...
    0010: F3 59 A1 87 7B D1 3A 7A CB FF D6 39 63 79 B6 82 .Y....:z...9cy..
    0020: 2A 22 D0 46 51 30 6B 2A 61 6B A0 4C F0 3B CE 5B *".FQ0k*ak.L.;.[
    0030: 9C 1D 46 CB D7 C2 B2 23 E2 A5 06 CD 12 F8 A9 CB ..F....#........
    0040: B5 A2 43 B1 06 4C 42 B5 67 F2 DF 50 6B BC 8A 5E ..C..LB.g..Pk..^
    0050: 95 0D F3 2A 73 A8 5A C8 55 77 D7 36 74 16 9E 05 ...*s.Z.Uw.6t...
    0060: 85 C6 DC 3C 44 D3 06 5E 47 0C 1F 80 40 30 C7 D8 ...<D..^G...@0..
    0070: 8C 27 FF B9 0C 71 EB D4 31 5C 1F 15 A1 23 6F A2 .'...q..1\...#o.
    Client Thread, READ: TLSv1 Handshake, length = 13
    *** CertificateRequest
    Cert Types: RSA, DSS,
    Cert Authorities:
    *** ServerHelloDone
    *** Certificate chain
    *** ClientKeyExchange, RSA PreMasterSecret, TLSv1
    Random Secret: { 3, 1, 27, 159, 38, 131, 132, 24, 47, 148, 161, 90, 7, 39, 189, 28, 178, 156, 20, 151, 220, 192, 239, 182, 115, 234, 99, 225, 68, 250, 199, 173, 96, 181, 78, 180, 238, 37, 243, 72, 19, 91, 249, 11, 49, 83, 1, 150 }
    Client Thread, WRITE: TLSv1 Handshake, length = 141
    SESSION KEYGEN:
    PreMaster Secret:
    0000: 03 01 1B 9F 26 83 84 18 2F 94 A1 5A 07 27 BD 1C ....&.../..Z.'..
    0010: B2 9C 14 97 DC C0 EF B6 73 EA 63 E1 44 FA C7 AD ........s.c.D...
    0020: 60 B5 4E B4 EE 25 F3 48 13 5B F9 0B 31 53 01 96 `.N..%.H.[..1S..
    CONNECTION KEYGEN:
    Client Nonce:
    0000: 45 09 62 F6 47 C3 B9 2C 56 60 0E 0B AB 4C 69 87 E.b.G..,V`...Li.
    0010: 88 72 35 36 89 4B CA FE 70 D0 F0 5B C7 F6 AF CF .r56.K..p..[....
    Server Nonce:
    0000: 45 09 62 F7 3F 5D 30 49 62 FB A0 D7 3D 6E F6 0C E.b.?]0Ib...=n..
    0010: 05 D1 5F C2 98 C1 00 B5 87 1A 96 AE 34 5C 38 FA .._.........4\8.
    Master Secret:
    0000: 0E 63 38 16 86 A1 84 72 33 2C D7 07 D7 C3 AC E0 .c8....r3,......
    0010: AD 5B CD 3B 2E 2A 02 91 1E FE 17 97 4E 3B 56 C3 .[.;.*......N;V.
    0020: 5D 0F 7A 99 90 0D 3D 4E 5F 39 C5 EB 6E AD DA 71 ].z...=N_9..n..q
    Client MAC write Secret:
    0000: 99 32 FA 60 0B 88 36 CD 88 02 D5 4A CA D2 A6 49 .2.`..6....J...I
    0010: 69 60 42 B6 i`B.
    Server MAC write Secret:
    0000: 43 3F 85 72 FB 6D 28 1C BA 1E 8A 26 56 DE 18 FB C?.r.m(....&V...
    0010: 01 83 20 7F .. .
    Client write key:
    0000: 6F 58 29 AB B3 8C F5 75 3C 70 04 DF 9D 01 43 F5 oX)....u<p....C.
    Server write key:
    0000: 4A D7 E9 63 53 32 78 DF E0 99 89 60 A4 1A 3C E7 J..cS2x....`..<.
    Client write IV:
    0000: 24 FB 0E 12 AB D2 70 6D 80 B1 B2 BC 78 1A 55 88 $.....pm....x.U.
    Server write IV:
    0000: E4 75 62 25 46 95 0F 7A 44 16 E2 39 38 AD 29 CD .ub%F..zD..98.).
    HawkEye Client Thread, WRITE: TLSv1 Change Cipher Spec, length = 1
    *** Finished
    verify_data: { 98, 254, 245, 75, 252, 23, 91, 164, 67, 197, 69, 44 }
    Client Thread, WRITE: TLSv1 Handshake, length = 48
    Client Thread, READ: TLSv1 Alert, length = 2
    Client Thread, RECV TLSv1 ALERT: fatal, handshake_failure
    Client Thread, called closeSocket()
    Client Thread, handling exception: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
    Error: Received fatal alert: handshake_failure
    Thread-4, handling exception: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

  • Client certificate authentication with custom authorization for J2EE roles?

    We have a Java application deployed on Sun Java Web Server 7.0u2 where we would like to secure it with client certificates, and a custom mapping of subject DNs onto J2EE roles (e.g., "visitor", "registered-user", "admin"). If we our web.xml includes:
    <login-config>
        <auth-method>CLIENT-CERT</auth-method>
        <realm-name>certificate</realm-name>
    <login-config>that will enforce that only users with valid client certs can access our app, but I don't see any hook for mapping different roles. Is there one? Can anyone point to documentation, or an example?
    On the other hand, if we wanted to create a custom realm, the only documentation I have found is the sample JDBCRealm, which includes extending IASPasswordLoginModule. In our case, we wouldn't want to prompt for a password, we would want to examine the client certificate, so we would want to extend some base class higher up the hierarchy. I'm not sure whether I can provide any class that implements javax.security.auth.spi.LoginModule, or whether the WebServer requires it to implement or extend something more specific. It would be ideal if there were an IASCertificateLoginModule that handled the certificate authentication, and allowed me to access the subject DN info from the certificate (e.g., thru a javax.security.auth.Subject) and cache group info to support a specialized IASRealm::getGroupNames(string user) method for authorization. In a case like that, I'm not sure whether the web.xml should be:
    <login-config>
        <auth-method>CLIENT-CERT</auth-method>
        <realm-name>MyRealm</realm-name>
    <login-config>or:
    <login-config>
        <auth-method>MyRealm</auth-method>
    <login-config>Anybody done anything like this before?
    --Thanks                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    We have JDBCRealm.java and JDBCLoginModule.java in <ws-install-dir>/samples/java/webapps/security/jdbcrealm/src/samples/security/jdbcrealm. I think we need to tweak it to suite our needs :
    $cat JDBCRealm.java
    * JDBCRealm for supporting RDBMS authentication.
    * <P>This login module provides a sample implementation of a custom realm.
    * You may use this sample as a template for creating alternate custom
    * authentication realm implementations to suit your applications needs.
    * <P>In order to plug in a realm into the server you need to
    * implement both a login module (see JDBCLoginModule for an example)
    * which performs the authentication and a realm (as shown by this
    * class) which is used to manage other realm operations.
    * <P>A custom realm should implement the following methods:
    * <ul>
    *  <li>init(props)
    *  <li>getAuthType()
    *  <li>getGroupNames(username)
    * </ul>
    * <P>IASRealm and other classes and fields referenced in the sample
    * code should be treated as opaque undocumented interfaces.
    final public class JDBCRealm extends IASRealm
        protected void init(Properties props)
            throws BadRealmException, NoSuchRealmException
        public java.util.Enumeration getGroupNames (String username)
            throws InvalidOperationException, NoSuchUserException
        public void setGroupNames(String username, String[] groups)
    }and
    $cat JDBCLoginModule.java
    * JDBCRealm login module.
    * <P>This login module provides a sample implementation of a custom realm.
    * You may use this sample as a template for creating alternate custom
    * authentication realm implementations to suit your applications needs.
    * <P>In order to plug in a realm into the server you need to implement
    * both a login module (as shown by this class) which performs the
    * authentication and a realm (see JDBCRealm for an example) which is used
    * to manage other realm operations.
    * <P>The PasswordLoginModule class is a JAAS LoginModule and must be
    * extended by this class. PasswordLoginModule provides internal
    * implementations for all the LoginModule methods (such as login(),
    * commit()). This class should not override these methods.
    * <P>This class is only required to implement the authenticate() method as
    * shown below. The following rules need to be followed in the implementation
    * of this method:
    * <ul>
    *  <li>Your code should obtain the user and password to authenticate from
    *       _username and _password fields, respectively.
    *  <li>The authenticate method must finish with this call:
    *      return commitAuthentication(_username, _password, _currentRealm,
    *      grpList);
    *  <li>The grpList parameter is a String[] which can optionally be
    *      populated to contain the list of groups this user belongs to
    * </ul>
    * <P>The PasswordLoginModule, AuthenticationStatus and other classes and
    * fields referenced in the sample code should be treated as opaque
    * undocumented interfaces.
    * <P>Sample setting in server.xml for JDBCLoginModule
    * <pre>
    *    <auth-realm name="jdbc" classname="samples.security.jdbcrealm.JDBCRealm">
    *      <property name="dbdrivername" value="com.pointbase.jdbc.jdbcUniversalDriver"/>
    *       <property name="jaas-context"  value="jdbcRealm"/>
    *    </auth-realm>
    * </pre>
    public class JDBCLoginModule extends PasswordLoginModule
        protected AuthenticationStatus authenticate()
            throws LoginException
        private String[] authenticate(String username,String passwd)
        private Connection getConnection() throws SQLException
    }One more article [http://developers.sun.com/appserver/reference/techart/as8_authentication/]
    You can try to extend "com/iplanet/ias/security/auth/realm/certificate/CertificateRealm.java"
    [http://fisheye5.cenqua.com/browse/glassfish/appserv-core/src/java/com/sun/enterprise/security/auth/realm/certificate/CertificateRealm.java?r=SJSAS_9_0]
    $cat CertificateRealm.java
    package com.iplanet.ias.security.auth.realm.certificate;
    * Realm wrapper for supporting certificate authentication.
    * <P>The certificate realm provides the security-service functionality
    * needed to process a client-cert authentication. Since the SSL processing,
    * and client certificate verification is done by NSS, no authentication
    * is actually done by this realm. It only serves the purpose of being
    * registered as the certificate handler realm and to service group
    * membership requests during web container role checks.
    * <P>There is no JAAS LoginModule corresponding to the certificate
    * realm. The purpose of a JAAS LoginModule is to implement the actual
    * authentication processing, which for the case of this certificate
    * realm is already done by the time execution gets to Java.
    * <P>The certificate realm needs the following properties in its
    * configuration: None.
    * <P>The following optional attributes can also be specified:
    * <ul>
    *   <li>assign-groups - A comma-separated list of group names which
    *       will be assigned to all users who present a cryptographically
    *       valid certificate. Since groups are otherwise not supported
    *       by the cert realm, this allows grouping cert users
    *       for convenience.
    * </ul>
    public class CertificateRealm extends IASRealm
       protected void init(Properties props)
         * Returns the name of all the groups that this user belongs to.
         * @param username Name of the user in this realm whose group listing
         *     is needed.
         * @return Enumeration of group names (strings).
         * @exception InvalidOperationException thrown if the realm does not
         *     support this operation - e.g. Certificate realm does not support
         *     this operation.
        public Enumeration getGroupNames(String username)
            throws NoSuchUserException, InvalidOperationException
         * Complete authentication of certificate user.
         * <P>As noted, the certificate realm does not do the actual
         * authentication (signature and cert chain validation) for
         * the user certificate, this is done earlier in NSS. This default
         * implementation does nothing. The call has been preserved from S1AS
         * as a placeholder for potential subclasses which may take some
         * action.
         * @param certs The array of certificates provided in the request.
        public void authenticate(X509Certificate certs[])
            throws LoginException
            // Set up SecurityContext, but that is not applicable to S1WS..
    }Edited by: mv on Apr 24, 2009 7:04 AM

  • Mobile safari no longer able to authenticate with client certificate in ios 5...

    was working in 4.3.5 on iPad, but no more. Imported the cert with ipcu but Safari  seems to not recognize that there is a cert installed. All certs are using sha1

    Some additional info - the imported certificate works fine for Activesync, VPN, and WiFi, so I know it is installed correctly.  When connecting to a web server that requires the certificate, the following is logged in the IPCU console:
    MobileSafari[368] <Warning>: no itentities, but we have a challenge <NSURLAuthenticationChallenge: 0x2eeea0>
    So to me, it looks like the Web server is requesting the client certificate, but mobilesafari does not see the identity certificate I imported.

  • HTTPS connection with client certificate not working in spartan

    Spartan does not show certificate for the user to select
    when I click the https link.
    The certificates (taken from a smartcard) are indeed present in the user CertStore.
    It works with IE 11 and Chrome.
    Has somebody any suggestions ?
    Thanks.

    in fact you are more using a reverse-proxy than a proxy since it is on the server part..
    You have to put all the SSL server part on the reserve-proxy itself and not on the final RSS feed. Then, the reverse-proxy will authenticate your client and gets its certificate. After that, either this proxy will open a plain connection (no ssl) towards the RSS, or you can also open a ssl connection but this means you must create a client certificate for the proxy. It just depends on the security level you need, and I used this solution many times in professional hosting.
    hope it helps !

  • Problem with Require Client Certificate on on IPlanet 6.0 server

    I installed client certificate. When I connect to the server using browser, I get following error........
    You are not authorized to view this page
    You might not have permission to view this directory or page using the credentials you supplied.
    How can I run the server in Verbose mode and see exactly why this error.
    Default error file does not have any information about this rejection.
    Thanks
    Krishna

    The message is cut and paste of what client (IE) shows on the browser.
    But the Server does not show any thing in it;'s log. I don't see any activity. I have Log Verbose On.
    If I change the client certificate on to off it works fine.
    The problem is only when the client certificate is on.
    The client certificate is created using Iplanet Certificate Server as well the server certificate also generated using Iplanet Certificate Server.
    In this case I am not trying to authenticate user in the client certificate just the client certificate is valid or not.
    Thanks for the reply.
    Regards
    Krishna

  • Is there a way to make a self-signed client certificate with keytool...

    Is there a way to make a self-signed client certificate with keytool
    that will install successfully into the personal store in IE?

    hi,
    It is possible to make a self-signed client certificate with keytool and i am successfully using in my dummy application.
    The first thing you need to do is create a keystore and generate the key pair. You could use a command such as the following:
    keytool -genkey -dname "cn=Mark Jones, ou=JavaSoft, o=Sun, c=US"
    -alias business -keypass kpi135 -keystore C:\working\mykeystore
    -storepass ab987c -validity 180
    (Please note: This must be typed as a single line. Multiple lines are used in the examples just for legibility purposes.)
    This command creates the keystore named "mykeystore" in the "working" directory on the C drive (assuming it doesn't already exist), and assigns it the password "ab987c". It generates a public/private key pair for the entity whose "distinguished name" has a common name of "Mark Jones", organizational unit of "JavaSoft", organization of "Sun" and two-letter country code of "US". It uses the default "DSA" key generation algorithm to create the keys, both 1024 bits long.
    It creates a self-signed certificate (using the default "SHA1withDSA" signature algorithm) that includes the public key and the distinguished name information. This certificate will be valid for 180 days, and is associated with the private key in a keystore entry referred to by the alias "business". The private key is assigned the password "kpi135".
    Also please go through the http://java.sun.com/j2se/1.3/docs/tooldocs/win32/keytool.html
    This would help u better.
    bye,
    Arun

  • Ssl-handshake fails with scandinavian chars in client certificate

    Hello,
    We've run into a problem with 2-way-ssl and certificates that have scandinavian
    characters in the subject. The problem cert is used as client-certificate for
    authentication and it goes like this:
    1. Client surfs with http in our site, until clicks https-link that will immediately
    start the ssl-handshake
    2. Server presents it's trusted cert-list fine
    3. PIN is being asked fine
    4. Next the request processing stops on the exception below and nothing will happen
    on the client side.
    Certs without these äöå -chars work fine, so our guess is that they cause it,
    but the certs ought to be according to specs: name-fields encoding is UTF-8 according
    to RFC 2459 from year 1999. A failing example-cert is also below.
    Would this be a problem with the certificate rather than BEA-implementation?
    Same behavior on Windows and Solaris Weblogic 8.11 as such and with SP2 (and with
    sp2 + CASE_ID_NUM: 501454 hotfix).
    Best Regards,
    Igor Styrman
    <avalable(): 20303264 : 0 + 0 = 0>
    <write ALERT offset = 0 length = 2>
    <SSLIOContextTable.removeContext(ctx): 1765100>
    PM EEST><SSLListenThread.Default> <<WLS Kernel>> <> <000000> <Filtering JSSE
    SSLSocket>
    PM EEST><SSLListenThread.Default> <<WLS Kernel>> <> <000000> <SSLIOContextTable.addContext(ctx):
    6487148>
    PM EEST><SSLListenThread.Default> <<WLS Kernel>> <> <000000> <SSLSocket will
    be Muxing>
    PM EEST><SSLListenThread.Default> <<WLS Kernel>> <> <000000> <SSLIOContextTable.findContext(is):
    11153746>
    <SSLFilter.isActivated: false>
    <isMuxerActivated: false>
    <SSLFilter.isActivated: false>
    <21647856 readRecord()>
    <21647856 SSL Version 2 with no padding>
    <21647856 SSL3/TLS MAC>
    <21647856 received SSL_20_RECORD>
    <HANDSHAKEMESSAGE: ClientHelloV2>
    <write HANDSHAKE offset = 0 length = 58>
    <write HANDSHAKE offset = 0 length = 1789>
    <Converting principal: OU=Class 4 Public Primary Certification Authority, O="VeriSign,
    Inc.", C=US>
    <Converting principal: CN=SHP ROOT CA, O=SHP, C=FI>
    <Converting principal: CN=topsel, O=Fujitsu Services Oy, C=FI>
    <Converting principal: CN=GTE CyberTrust Global Root, OU="GTE CyberTrust Solutions,
    Inc.", O=GTE Corporation, C=US>
    <Converting principal: CN=SatShp CA, O=Satakunnan sairaanhoitopiiri, C=FI>
    <Converting principal: OU=Class 1 Public Primary Certification Authority, O="VeriSign,
    Inc.", C=US>
    <Converting principal: [email protected], CN=Thawte Personal
    Basic CA, OU=Certification Services Division, O=Thawte Consulting, L=Cape Town,
    ST=Western Cape, C=ZA>
    <Converting principal: [email protected], CN=Thawte Personal
    Freemail CA, OU=Certification Services Division, O=Thawte Consulting, L=Cape Town,
    ST=Western Cape, C=ZA>
    <Converting principal: OU=Class 3 Public Primary Certification Authority, O="VeriSign,
    Inc.", C=US>
    <Converting principal: CN=GTE CyberTrust Root, O=GTE Corporation, C=US>
    <Converting principal: [email protected], CN=Thawte Server
    CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western
    Cape, C=ZA>
    <Converting principal: [email protected], CN=Thawte Personal
    Premium CA, OU=Certification Services Division, O=Thawte Consulting, L=Cape Town,
    ST=Western Cape, C=ZA>
    <Converting principal: [email protected], CN=Thawte Premium
    Server CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape
    Town, ST=Western Cape, C=ZA>
    <Converting principal: OU=Secure Server Certification Authority, O="RSA Data Security,
    Inc.", C=US>
    <Converting principal: CN=Baltimore CyberTrust Root, OU=CyberTrust, O=Baltimore,
    C=IE>
    <Converting principal: CN=Fujitsu Test CA, O=Fujitsu Services Oy, C=FI>
    <Converting principal: CN=GTE CyberTrust Root 5, OU="GTE CyberTrust Solutions,
    Inc.", O=GTE Corporation, C=US>
    <Converting principal: CN=PSHP CA, O=Pirkanmaan sairaanhoitopiiri, C=FI>
    <Converting principal: CN=Baltimore CyberTrust Code Signing Root, OU=CyberTrust,
    O=Baltimore, C=IE>
    <Converting principal: OU=Class 2 Public Primary Certification Authority, O="VeriSign,
    Inc.", C=US>
    <write HANDSHAKE offset = 0 length = 2409>
    <write HANDSHAKE offset = 0 length = 4>
    <SSLFilter.isActivated: false>
    <isMuxerActivated: false>
    <SSLFilter.isActivated: false>
    <21647856 readRecord()>
    <21647856 SSL3/TLS MAC>
    <21647856 received HANDSHAKE>
    <HANDSHAKEMESSAGE: Certificate>
    PM EEST> <Error> <Kernel> <> <satshpeduServer> <ExecuteThread: '14' for queue:
    'weblogic.kernel.Default'> <<WLS Kernel>> <> <BEA-000802> <ExecuteRequest failed
    java.lang.NullPointerException: Could not set value for ASN.1 string object..
    java.lang.NullPointerException: Could not set value for ASN.1 string object.
         at com.certicom.security.asn1.ASN1String.setValue(Unknown Source)
         at com.certicom.security.asn1.ASN1String.setBufferTo(Unknown Source)
         at com.certicom.security.asn1.DERInputStream.decodeString(Unknown Source)
         at com.certicom.security.asn1.ASN1String.decode(Unknown Source)
         at com.certicom.security.pkix.AttributeTypeAndValue.decodeContents(Unknown Source)
         at com.certicom.security.asn1.DERInputStream.decodeStructured(Unknown Source)
         at com.certicom.security.asn1.DERInputStream.decodeSequence(Unknown Source)
         at com.certicom.security.asn1.ASN1Sequence.decode(Unknown Source)
         at com.certicom.security.asn1.ASN1SetOf.decodeContents(Unknown Source)
         at com.certicom.security.asn1.DERInputStream.decodeStructured(Unknown Source)
         at com.certicom.security.asn1.DERInputStream.decodeSetOf(Unknown Source)
         at com.certicom.security.asn1.ASN1SetOf.decode(Unknown Source)
         at com.certicom.security.asn1.ASN1SequenceOf.decodeContents(Unknown Source)
         at com.certicom.security.asn1.DERInputStream.decodeStructured(Unknown Source)
         at com.certicom.security.asn1.DERInputStream.decodeSequence(Unknown Source)
         at com.certicom.security.asn1.ASN1Sequence.decode(Unknown Source)
         at com.certicom.security.pkix.Name.decodeContents(Unknown Source)
         at com.certicom.security.asn1.ASN1Choice.decode(Unknown Source)
         at com.certicom.security.pkix.TBSCertificate.decodeContents(Unknown Source)
         at com.certicom.security.asn1.DERInputStream.decodeStructured(Unknown Source)
         at com.certicom.security.asn1.DERInputStream.decodeSequence(Unknown Source)
         at com.certicom.security.asn1.ASN1Sequence.decode(Unknown Source)
         at com.certicom.security.pkix.Certificate.decodeContents(Unknown Source)
         at com.certicom.security.asn1.DERInputStream.decodeStructured(Unknown Source)
         at com.certicom.security.asn1.DERInputStream.decodeSequence(Unknown Source)
         at com.certicom.security.asn1.ASN1Sequence.decode(Unknown Source)
         at com.certicom.security.asn1.ASN1Type.decode(Unknown Source)
         at com.certicom.security.cert.internal.x509.X509V3CertImpl.<init>(Unknown Source)
         at com.certicom.tls.record.handshake.MessageCertificate.<init>(Unknown Source)
         at com.certicom.tls.record.handshake.HandshakeMessage.create(Unknown Source)
         at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessages(Unknown
    Source)
         at com.certicom.tls.record.ReadHandler.interpretContent(Unknown Source)
         at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
         at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete(Unknown Source)
         at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake(Unknown
    Source)
         at com.certicom.net.ssl.CerticomContextWrapper.forceHandshakeOnAcceptedSocket(Unknown
    Source)
         at weblogic.t3.srvr.SSLListenThread$1.execute(SSLListenThread.java:514)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    -----BEGIN CERTIFICATE-----
    MIID+zCCAuOgAwIBAgIDFm/PMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkZJ
    MRwwGgYDVQQKExNGdWppdHN1IFNlcnZpY2VzIE95MRgwFgYDVQQDEw9GdWppdHN1
    IFRlc3QgQ0EwHhcNMDQwNjAyMTE1MjE4WhcNMDYwNjAyMTIyMjE4WjB3MQswCQYD
    VQQGEwJGSTEQMA4GA1UEChMHRnVqaXRzdTEgMB4GA1UEAwwXSMO2bG3DtmzDpGlu
    ZW4gw4VrZSAwMDExDDAKBgNVBAUTAzAwMTEXMBUGA1UEBAwOSMO2bG3DtmzDpGlu
    ZW4xDTALBgNVBCoMBMOFa2UwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAO44
    Zm31uJb8048/6PByPyXzaW3gCz1mT02TuwVtjMRJ4ObbFCqMGC+YosA2kNKoW0Ef
    C+YlKNqhvaid0bATQefdSHVQhzFL3HFIfZc3ONAJQ/U+I6W69r2JePoCvZppknmC
    YrnCCDx3Ap27B7v57f/XTmdpiB8IdiCTl3PnV78PAgMBAAGjggFEMIIBQDAfBgNV
    HSMEGDAWgBT8T+xYc3T6j89O8cZ4hC9r1e9DojAdBgNVHQ4EFgQUtS4z8K26uW2d
    IeJ3aelDnqnkBnYwCwYDVR0PBAQDAgSwMFMGA1UdEQRMMEqgKwYKKwYBBAGCNxQC
    A6AdDBtha2UuaG9sbW9sYWluZW5AZnVqaXRzdS5jb22BG2FrZS5ob2xtb2xhaW5l
    bkBmdWppdHN1LmNvbTB9BgNVHR8EdjB0MHKgcKBuhmxsZGFwOi8vMjEyLjI0Ni4y
    MjIuMTQyOjM4OS9DTj1GdWppdHN1JTIwVGVzdCUyMENBLE89RnVqaXRzdSUyMFNl
    cnZpY2VzJTIwVGVzdCxDPUZJP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwHQYD
    VR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMCMA0GCSqGSIb3DQEBBQUAA4IBAQAZ
    KV3Og/y6zUOMwZGswUxAne5fe4Ab70bmX+z49MVeA0dfdQwQdR9GwFVF+fcK+q0T
    3Lmcwpm5KiHWYoIOxPb6MqTTWxV7HSXWr7A7P4BbTGxsujpUULcmQGQFAd69R0Ur
    JFDwYnDEP2+4RzrvlP6AWspyHJePYmCt9h3JfxYAqVLTL0suO1uh8hgtStujmqsI
    0WNCfnQ+sURdDzp6WpVFcxFQa5aAcyx9sWWqV5Ta5l6JTCmoHth7qoV3BtUKv4+z
    SqIHKA1ixrvlhqWkjYxg51N6ihbbR5shBRRinAqRIQjTzXmun2wJzwNigt4zWiNg
    tvrGCMOrvrb5QTxVtLNr
    -----END CERTIFICATE-----

    BMPString is another asn1 type that can be used for certificate attributes with
    non-ascii characters. The workaround is simply to use the BMPString instead of
    UTF8String for that subject name attribute in the certificate request. This off-course
    assumes that you can replace the certificate, and have control over what asn1
    type is used for the subject name attributes in the certificate request (via a
    tool options, or by generating the request yourself), so it is probably not applicable.
    Pavel.
    "Ari Räisänen" <[email protected]> wrote:
    >
    Thanks again, Pavel!
    I'm filing a support case about this. You talked about a workaround (BMPString).
    Could you be more spesific? I haven't talked about this issue with Igor
    yet.
    Regards,
    Ari
    "Pavel" <[email protected]> wrote:
    Sounds like a bug in certicom code. It should support UTF8String.
    I'd file a support case.
    You might be able to use BMPString instead as a workaround.
    Pavel.
    "Igor Styrman" <[email protected]> wrote:
    Hello,
    We've run into a problem with 2-way-ssl and certificates that have
    scandinavian
    characters in the subject. The problem cert is used as client-certificate
    for
    authentication and it goes like this:
    1. Client surfs with http in our site, until clicks https-link thatwill
    immediately
    start the ssl-handshake
    2. Server presents it's trusted cert-list fine
    3. PIN is being asked fine
    4. Next the request processing stops on the exception below and nothing
    will happen
    on the client side.
    Certs without these äöå -chars work fine, so our guess is that they
    cause it,
    but the certs ought to be according to specs: name-fields encoding
    is
    UTF-8 according
    to RFC 2459 from year 1999. A failing example-cert is also below.
    Would this be a problem with the certificate rather than BEA-implementation?
    Same behavior on Windows and Solaris Weblogic 8.11 as such and withSP2
    (and with
    sp2 + CASE_ID_NUM: 501454 hotfix).
    Best Regards,
    Igor Styrman
    <avalable(): 20303264 : 0 + 0 = 0>
    <write ALERT offset = 0 length = 2>
    <SSLIOContextTable.removeContext(ctx): 1765100>
    PM EEST><SSLListenThread.Default> <<WLS Kernel>> <> <000000> <Filtering
    JSSE
    SSLSocket>
    PM EEST><SSLListenThread.Default> <<WLS Kernel>> <> <000000> <SSLIOContextTable.addContext(ctx):
    6487148>
    PM EEST><SSLListenThread.Default> <<WLS Kernel>> <> <000000> <SSLSocket
    will
    be Muxing>
    PM EEST><SSLListenThread.Default> <<WLS Kernel>> <> <000000> <SSLIOContextTable.findContext(is):
    11153746>
    <SSLFilter.isActivated: false>
    <isMuxerActivated: false>
    <SSLFilter.isActivated: false>
    <21647856 readRecord()>
    <21647856 SSL Version 2 with no padding>
    <21647856 SSL3/TLS MAC>
    <21647856 received SSL_20_RECORD>
    <HANDSHAKEMESSAGE: ClientHelloV2>
    <write HANDSHAKE offset = 0 length = 58>
    <write HANDSHAKE offset = 0 length = 1789>
    <Converting principal: OU=Class 4 Public Primary Certification Authority,
    O="VeriSign,
    Inc.", C=US>
    <Converting principal: CN=SHP ROOT CA, O=SHP, C=FI>
    <Converting principal: CN=topsel, O=Fujitsu Services Oy, C=FI>
    <Converting principal: CN=GTE CyberTrust Global Root, OU="GTE CyberTrust
    Solutions,
    Inc.", O=GTE Corporation, C=US>
    <Converting principal: CN=SatShp CA, O=Satakunnan sairaanhoitopiiri,
    C=FI>
    <Converting principal: OU=Class 1 Public Primary Certification Authority,
    O="VeriSign,
    Inc.", C=US>
    <Converting principal: [email protected], CN=Thawte
    Personal
    Basic CA, OU=Certification Services Division, O=Thawte Consulting,
    L=Cape
    Town,
    ST=Western Cape, C=ZA>
    <Converting principal: [email protected], CN=Thawte
    Personal
    Freemail CA, OU=Certification Services Division, O=Thawte Consulting,
    L=Cape Town,
    ST=Western Cape, C=ZA>
    <Converting principal: OU=Class 3 Public Primary Certification Authority,
    O="VeriSign,
    Inc.", C=US>
    <Converting principal: CN=GTE CyberTrust Root, O=GTE Corporation, C=US>
    <Converting principal: [email protected], CN=Thawte
    Server
    CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape
    Town, ST=Western
    Cape, C=ZA>
    <Converting principal: [email protected], CN=Thawte
    Personal
    Premium CA, OU=Certification Services Division, O=Thawte Consulting,
    L=Cape Town,
    ST=Western Cape, C=ZA>
    <Converting principal: [email protected], CN=Thawte
    Premium
    Server CA, OU=Certification Services Division, O=Thawte Consultingcc,
    L=Cape
    Town, ST=Western Cape, C=ZA>
    <Converting principal: OU=Secure Server Certification Authority, O="RSA
    Data Security,
    Inc.", C=US>
    <Converting principal: CN=Baltimore CyberTrust Root, OU=CyberTrust,O=Baltimore,
    C=IE>
    <Converting principal: CN=Fujitsu Test CA, O=Fujitsu Services Oy, C=FI>
    <Converting principal: CN=GTE CyberTrust Root 5, OU="GTE CyberTrustSolutions,
    Inc.", O=GTE Corporation, C=US>
    <Converting principal: CN=PSHP CA, O=Pirkanmaan sairaanhoitopiiri,
    C=FI>
    <Converting principal: CN=Baltimore CyberTrust Code Signing Root, OU=CyberTrust,
    O=Baltimore, C=IE>
    <Converting principal: OU=Class 2 Public Primary Certification Authority,
    O="VeriSign,
    Inc.", C=US>
    <write HANDSHAKE offset = 0 length = 2409>
    <write HANDSHAKE offset = 0 length = 4>
    <SSLFilter.isActivated: false>
    <isMuxerActivated: false>
    <SSLFilter.isActivated: false>
    <21647856 readRecord()>
    <21647856 SSL3/TLS MAC>
    <21647856 received HANDSHAKE>
    <HANDSHAKEMESSAGE: Certificate>
    PM EEST> <Error> <Kernel> <> <satshpeduServer> <ExecuteThread: '14'
    for queue:
    'weblogic.kernel.Default'> <<WLS Kernel>> <> <BEA-000802> <ExecuteRequest
    failed
    java.lang.NullPointerException: Could not set value for ASN.1 string
    object..
    java.lang.NullPointerException: Could not set value for ASN.1 string
    object.
         at com.certicom.security.asn1.ASN1String.setValue(Unknown Source)
         at com.certicom.security.asn1.ASN1String.setBufferTo(Unknown Source)
         at com.certicom.security.asn1.DERInputStream.decodeString(UnknownSource)
         at com.certicom.security.asn1.ASN1String.decode(Unknown Source)
         at com.certicom.security.pkix.AttributeTypeAndValue.decodeContents(Unknown
    Source)
         at com.certicom.security.asn1.DERInputStream.decodeStructured(Unknown
    Source)
         at com.certicom.security.asn1.DERInputStream.decodeSequence(Unknown
    Source)
         at com.certicom.security.asn1.ASN1Sequence.decode(Unknown Source)
         at com.certicom.security.asn1.ASN1SetOf.decodeContents(Unknown Source)
         at com.certicom.security.asn1.DERInputStream.decodeStructured(Unknown
    Source)
         at com.certicom.security.asn1.DERInputStream.decodeSetOf(Unknown Source)
         at com.certicom.security.asn1.ASN1SetOf.decode(Unknown Source)
         at com.certicom.security.asn1.ASN1SequenceOf.decodeContents(Unknown
    Source)
         at com.certicom.security.asn1.DERInputStream.decodeStructured(Unknown
    Source)
         at com.certicom.security.asn1.DERInputStream.decodeSequence(Unknown
    Source)
         at com.certicom.security.asn1.ASN1Sequence.decode(Unknown Source)
         at com.certicom.security.pkix.Name.decodeContents(Unknown Source)
         at com.certicom.security.asn1.ASN1Choice.decode(Unknown Source)
         at com.certicom.security.pkix.TBSCertificate.decodeContents(Unknown
    Source)
         at com.certicom.security.asn1.DERInputStream.decodeStructured(Unknown
    Source)
         at com.certicom.security.asn1.DERInputStream.decodeSequence(Unknown
    Source)
         at com.certicom.security.asn1.ASN1Sequence.decode(Unknown Source)
         at com.certicom.security.pkix.Certificate.decodeContents(Unknown Source)
         at com.certicom.security.asn1.DERInputStream.decodeStructured(Unknown
    Source)
         at com.certicom.security.asn1.DERInputStream.decodeSequence(Unknown
    Source)
         at com.certicom.security.asn1.ASN1Sequence.decode(Unknown Source)
         at com.certicom.security.asn1.ASN1Type.decode(Unknown Source)
         at com.certicom.security.cert.internal.x509.X509V3CertImpl.<init>(Unknown
    Source)
         at com.certicom.tls.record.handshake.MessageCertificate.<init>(Unknown
    Source)
         at com.certicom.tls.record.handshake.HandshakeMessage.create(Unknown
    Source)
         at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessages(Unknown
    Source)
         at com.certicom.tls.record.ReadHandler.interpretContent(Unknown Source)
         at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
         at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete(Unknown
    Source)
         at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake(Unknown
    Source)
         at com.certicom.net.ssl.CerticomContextWrapper.forceHandshakeOnAcceptedSocket(Unknown
    Source)
         at weblogic.t3.srvr.SSLListenThread$1.execute(SSLListenThread.java:514)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    -----BEGIN CERTIFICATE-----
    MIID+zCCAuOgAwIBAgIDFm/PMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkZJ
    MRwwGgYDVQQKExNGdWppdHN1IFNlcnZpY2VzIE95MRgwFgYDVQQDEw9GdWppdHN1
    IFRlc3QgQ0EwHhcNMDQwNjAyMTE1MjE4WhcNMDYwNjAyMTIyMjE4WjB3MQswCQYD
    VQQGEwJGSTEQMA4GA1UEChMHRnVqaXRzdTEgMB4GA1UEAwwXSMO2bG3DtmzDpGlu
    ZW4gw4VrZSAwMDExDDAKBgNVBAUTAzAwMTEXMBUGA1UEBAwOSMO2bG3DtmzDpGlu
    ZW4xDTALBgNVBCoMBMOFa2UwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAO44
    Zm31uJb8048/6PByPyXzaW3gCz1mT02TuwVtjMRJ4ObbFCqMGC+YosA2kNKoW0Ef
    C+YlKNqhvaid0bATQefdSHVQhzFL3HFIfZc3ONAJQ/U+I6W69r2JePoCvZppknmC
    YrnCCDx3Ap27B7v57f/XTmdpiB8IdiCTl3PnV78PAgMBAAGjggFEMIIBQDAfBgNV
    HSMEGDAWgBT8T+xYc3T6j89O8cZ4hC9r1e9DojAdBgNVHQ4EFgQUtS4z8K26uW2d
    IeJ3aelDnqnkBnYwCwYDVR0PBAQDAgSwMFMGA1UdEQRMMEqgKwYKKwYBBAGCNxQC
    A6AdDBtha2UuaG9sbW9sYWluZW5AZnVqaXRzdS5jb22BG2FrZS5ob2xtb2xhaW5l
    bkBmdWppdHN1LmNvbTB9BgNVHR8EdjB0MHKgcKBuhmxsZGFwOi8vMjEyLjI0Ni4y
    MjIuMTQyOjM4OS9DTj1GdWppdHN1JTIwVGVzdCUyMENBLE89RnVqaXRzdSUyMFNl
    cnZpY2VzJTIwVGVzdCxDPUZJP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwHQYD
    VR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMCMA0GCSqGSIb3DQEBBQUAA4IBAQAZ
    KV3Og/y6zUOMwZGswUxAne5fe4Ab70bmX+z49MVeA0dfdQwQdR9GwFVF+fcK+q0T
    3Lmcwpm5KiHWYoIOxPb6MqTTWxV7HSXWr7A7P4BbTGxsujpUULcmQGQFAd69R0Ur
    JFDwYnDEP2+4RzrvlP6AWspyHJePYmCt9h3JfxYAqVLTL0suO1uh8hgtStujmqsI
    0WNCfnQ+sURdDzp6WpVFcxFQa5aAcyx9sWWqV5Ta5l6JTCmoHth7qoV3BtUKv4+z
    SqIHKA1ixrvlhqWkjYxg51N6ihbbR5shBRRinAqRIQjTzXmun2wJzwNigt4zWiNg
    tvrGCMOrvrb5QTxVtLNr
    -----END CERTIFICATE-----

Maybe you are looking for