Client certificate as part of SSL

I am using the javax.xml.soap.SOAPConnection in my application hitting an HTTPS site to get SOAP data. From what I can see, this is using the default JSSE behavior for the entire SSL session. The server is requesting a client certificate during the SSL handshake. This is where my problem is coming up.
Since I have done nothing to set up the SSL connection explicitly, I am unclear on where the application will pick the certificate up from? I added my client SSL certificate to a custom .keystore in my runtime directory as well as in the $JAVA_HOME/jre/lib/security/cacerts, but when I run the application with the "-Djavax.net.debug=all" (debug on), I do not see the client cert being sent.
So, my questions were:
(a) which keystore should my cert be added to?
(b) how do I specify to the JSSE which cert in the keystore defines my client SSL cert? i.e. which cert should the JSSE send back to the server when a request for cert is received from the server. I found no "setClientCert" like API, but then I am not really talking at the socket level either from the SoapConnection class.
(c) is there a default "alias" name that I need to use when I import my cert such that the JSSE will pick it?
Attached are snippets from my debug log.
*** ClientHello, v3.1
<<< Some cipher information here >>>
*** ServerHello, v3.1
<<< Some cipher information here >>>
*** Certificate chain
<< Servers certificate here >>>
*** CertificateRequest
<< server is requesting the client certificate here>>
*** ServerHelloDone
*** Certificate chain
<< SHOULD HAVE HAD THE CLIENT CERT, but instead is blank>>
KeyExchange, etc. continues but when I send the data, I get a 403 forbidden.
Any help would be appreciated. Thanks.
Madhuri

Thanks for your help.
I have resolved my problem. It turned out that in order to get Sun's JSSE to read my keystore, I needed to set the "javax.net.ssl.keyStore" system property. I chose to let the default trust manager "cacert" be used and that worked fine. The other problem that I had to fix was to have my key contain the full cert chain to the CA, before it got sent.
I found the following article on the ibm developerworks finally resolve most of my questions.
http://www-106.ibm.com/developerworks/java/library/j-customssl/
I still have an open issue that will post seperately dealing with the key that JSSE picks from the keystore. It just takes the first key that matches the cert request and doesn't seem related to any naming and the only way to explicitly specify the key to use is by writing a custom KeyStore and have that be used in the SSL socket creation. However, when I am using the SOAP classes, I am a few levels of abstraction away from the actual Socket creation and this prevents me from setting the client cert explicitly. Any ideas?

Similar Messages

  • 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

  • ISE Problem: EAP-TLS failed SSL/TLS handshake because of an unknown CA in the client certificates chain

    Hello, I´m stucked with this problem for 3 weeks now.
    I´m not able to configure the EAP-TLS autentication.
    In the "Certificate Store" of the ISE server I have Installed the Root, policy and the Issuing certificates as "trust for client authentication",and in the Local store I have a certificate issuing for the same issuing authority which sign the thw client ones.
    The ISE´s certificate has been issued with the "server Authentication certificate" template.
    The clients have installed the certificates  also the certificate chain.
    When I try to authenticate the wireless clients I allways get the same error: "     Authentication failed : 12514 EAP-TLS failed SSL/TLS handshake because of an unknown CA in the client certificates chain"
    and "OpenSSLErrorMessage=SSL alert
    code=0x230=560 ; source=local ; type=fatal ; message="Unknown CA - error self-signed certificate in chain",OpenSSLErrorStack=  1208556432:error:140890B2:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:no certificate returned:s3_srvr.c:2720"
    I don´t know what else can I do.
    Thank you
    Jorge

    Hi Rik,
    the Below are the certificate details
    ISE Certificate Signed by XX-CA-PROC-06
    User PKI Signed by XX-CA-OTHER-08
    In ISE certificate Store i have the below certificates
    XX-CA-OTHER-08 signed by XX-CA-ROOT-04
    XX-CA-PROC-06 signed by XX-CA-ROOT-04
    XX-CA-ROOT-04 signed by XX-CA-ROOT-04
    ISE certificate signed by XX-CA-PROC-06
    I have enabled - 'Trust for client authentication' on all three certificates
    this is unchecked - 'Enable Validation of Certificate Extensions (accept only valid certificate)'
    when i check the certificates of current user in the Client PC this is how it shows.
    XX-CA-ROOT-04 is listed in Trusted root Certification Authority
    and XX-CA-PROC-06 and XX-CA-OTHER-08  are in Intermediate Certificate Authorities

  • AnyConnect SSL-client Certificate AND AAA RADIUS

    Hi All,
    I'm trying to setup Anyconnect VPN Phone feature. I have the license, and I have been able to get the phone to authenticate / register etc with a username / password.
    I want to use the cert on the phone, use the CN as the username and just verify that against my ACS server via RADIUS.... Easier said than done. The ASA is grabbing the Username, but for the life of me, i can't get it to send the username over to the RADIUS server. I have enabled all sorts of aaa and radius debugging and just get no output at all...
    Here are some relevant log messages I'm getting:
    Starting SSL handshake with client outside:72.91.xx.xx/42501 for TLSv1 session
    Certificate was successfully validated. serial number: 5C7DB8EB000000xxxxxx, subject name:  cn=CP-7942G-SEP002155551BD7,ou=EVVBU,o=Cisco Systems Inc..
    Certificate chain was successfully validated with warning, revocation status was not checked.
    Tunnel group search using certificate maps failed for peer certificate:  serial number: 5C7DB8EB000000xxxxxx, subject name:  cn=CP-7942G-SEP002155551BD7,ou=EVVBU,o=Cisco Systems Inc., issuer_name:  cn=Cisco Manufacturing CA,o=Cisco Systems.
    Device completed SSL handshake with client outside:72.91.xx.xx/42501
    Group SSLClientProfile: Authenticating ssl-client connection from  72.91.14.42 with username, CP-7942G-SEP002155551BD7, from client  certificate
    Teardown TCP connection 35754 for outside:72.91.xx.xx/42501 to  identity:173.227.xxx.xxx/443 duration 0:00:05 bytes 5473 TCP Reset by  appliance
    Relevant Config:
    tunnel-group SSLClientProfile type remote-access
    tunnel-group SSLClientProfile general-attributes
    authentication-server-group RADIUS
    default-group-policy GroupPolicy1
    tunnel-group SSLClientProfile webvpn-attributes
    authentication aaa certificate
    radius-reject-message
    pre-fill-username ssl-client
    group-alias SSLClientProfile enable
    group-url https://URL enable
    group-policy GroupPolicy1 internal
    group-policy GroupPolicy1 attributes
    wins-server none
    dns-server value <ip1> <ip2>
    vpn-tunnel-protocol ssl-client
    default-domain value xxxxxxxx
    address-pools value VPNPOOL
    aaa-server RADIUS protocol radius
    aaa-server RADIUS (inside) host 192.168.102.242
    key *****
    aaa-server RADIUS (inside) host 192.168.240.242
    key *****
    ASA version 8.4
    What am I doing wrong? It will not send the request to the AAA server, very much frustating me...

    PRogress....
    I changed the authentication to Certificate ONLY and set authorization to be RADIUS... now it's sending the request to my ACS server. Next question: What's the password that's being sent? Is it blank? I've tried the phone's whole username, tried the MAC and tried just the SEP part. No Dice. Thoughts?

  • How can you configure an Exchange Account in Mac OS X to use a SSL client certificate?

    I'm trying to connect the Mail App of Mac OS X to my company's Exchange server. For security reasons you have provide a SSL client certificate to the server. You can convince Safari to use a client certificate by putting it into your keychain and configuring a suitable "identity preference" for the URL of the related site. But the Mail App seems not to use the keychain for this part of the SSL negotiations.
    Since you can configure the client certificate usage for an Exchange Account for the iPhone with the Configuration Utility there should be a way for the desktop App, too. Has someone sorted this issue out already or does the Mail App actually lack of client certificate support?

    I had a nice chat with the Apple end user support which revealed that this feature falls in the responsibility of the business support group. Since I have no appropriate support contract I could ask for help for about 480€ per issue -- nice try
    After more research I found the Configuration Profile Reference, where you get information about Exchange accounts too. Starting with a working iOS-Profile I changed the Exchange account part according to this documentation for OS X. All you have to do is to replace PayloadType com.apple.eas.account by com.apple.ews.account.
    After importing this profile I found the expected Exchange account within the Contacts.app. But the SSL client certificate was still not used and therefore my account not usable.
    You could enable Mail, Calendar & Reminders and Notes within the System Preferences, but neither of these would work due to the missing client certificate support.
    I came to the conclusion that the relevant applications in OS X have no proper SSL Client support build in. Since the underlying libraries and frameworks have everything in place that is really a shame.
    Would be nice, if someone would enforce the developers to do their homework there.

  • Error 403.7 - Forbidden: SSL client certificate is required

    Hi people!
    I�m developing a java client to a WebService (developed in .NET). The communication protocol is HTTPS to the URL where the Web Service is located (something like https://10.200.140.117/dirNotes/serviceName.asmx.). I�ve been reading many posts but I could'nt find the solution to the problem wich has the following message: Error 403.7 - Forbidden: SSL client certificate is required".
    I�m using JDK 1.5 and developing and testing on Windows Plataform. I'm able to access the URL specified above directly from the browser, I installed the client certificate (the same that �ve put into the ,jks keystore. I�ve also imported the whole certificate chain of the server to the cacerts.
    I�ll paste the code and the console trace below. I�d be very grateful if you can help me. Thanks a lot.
    _THE CODE_
    package principal;
    import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.net.URL;
    import java.net.UnknownHostException;
    import java.security.KeyStore;
    import java.security.Security;
    import javax.net.ssl.HttpsURLConnection;
    import javax.net.ssl.KeyManagerFactory;
    import javax.net.ssl.SSLContext;
    import javax.net.ssl.SSLSocket;
    import javax.net.ssl.SSLSocketFactory;
    import javax.net.ssl.TrustManagerFactory;
    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;
    import entidade.Certificado;
    public class SSLClient {
    private static final int PORT_NUMBER = 443;
    private static final String HTTPS_ADDRESS = "10.200.140.117";
    private static String strCabecalhoMsg = "";
    private static String strDadosMsg = "";
    public static void main(String[] args) throws Exception {
    System.setProperty("javax.net.ssl.keyStore", Certificado.getStrNomeArquivoJKSServidor());
    System.setProperty("javax.net.ssl.keyStorePassword", "senha");
    System.setProperty("javax.net.ssl.trustStore", "Certificados/cacerts");
    System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
    System.setProperty("javax.net.ssl.keyStoreType", "JKS");
    Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
    System.setProperty("javax.net.debug","ssl,handshake,record");
    KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
    ks.load(new FileInputStream(Certificado.getStrNomeArquivoJKSServidor()),
    Certificado.getArranjoCharSenhaCertificadoServidor());
    KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
    kmf.init(ks, Certificado.getArranjoCharSenhaCertificadoServidor());
    KeyStore ksT = KeyStore.getInstance(KeyStore.getDefaultType());
    ksT.load(new FileInputStream("C:/Arquivos de programas/Java/jre1.5.0_05/lib/security/cacerts"), "changeit".toCharArray());
    TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
    tmf.init(ksT);
    SSLContext sc = SSLContext.getInstance("SSLv3");
    sc.init(kmf.getKeyManagers(), tmf.getTrustManagers(), new java.security.SecureRandom());
    SSLSocketFactory factory = sc.getSocketFactory();
    try{
    // method to load the values of the strings strCabecalhoMsg and strDadosMsg
    carregarXMLCabecalhoDados();
    SSLSocket socket =(SSLSocket)factory.createSocket(HTTPS_ADDRESS, PORT_NUMBER);
    socket.startHandshake();
    String [] arr = socket.getEnabledProtocols();
    URL url = new URL("https://10.200.140.117/dirNotes");
    HttpsURLConnection.setDefaultSSLSocketFactory(factory);
    HttpsURLConnection urlc = (HttpsURLConnection) url.openConnection();
    urlc.setDoInput(true);
    urlc.setUseCaches(false);
    Object[] params = {strCabecalhoMsg, strDadosMsg};
    Service service = new Service();
    Call call = (Call) service.createCall();
    call.setTargetEndpointAddress(url);
    call.setOperationName("serviceName");
    String ret = (String) call.invoke(params);
    System.out.println("Result: " + ret);
    catch (UnknownHostException uhe) {
    uhe.printStackTrace();
    System.err.println(uhe);
    catch (Exception uhe) {
    uhe.printStackTrace();
    System.err.println(uhe);
    private static void carregarXMLCabecalhoDados()
    try
    BufferedReader input = new BufferedReader( new FileReader("notas/cabecalho.xml"));
    String str;
    while((str=input.readLine()) != null)
    strCabecalhoMsg += str ;
    System.out.println("Cabe�a: " + strCabecalhoMsg);
    input = new BufferedReader( new FileReader("notas/nota.xml"));
    while((str=input.readLine()) != null)
    strDadosMsg += str ;
    System.out.println("Nota: " + strDadosMsg);
    catch (FileNotFoundException e)
    // TODO Auto-generated catch block
    e.printStackTrace();
    catch (IOException e)
    // TODO Auto-generated catch block
    e.printStackTrace();
    _THE TRACE_
    adding as trusted cert:
    Subject: [email protected], CN=http://www.valicert.com/, OU=ValiCert Class 2 Policy Validation Authority, O="ValiCert, Inc.", L=ValiCert Validation Network
    Issuer: [email protected], CN=http://www.valicert.com/, OU=ValiCert Class 2 Policy Validation Authority, O="ValiCert, Inc.", L=ValiCert Validation Network
    Algorithm: RSA; Serial number: 0x1
    Valid from Fri Jun 25 21:19:54 BRT 1999 until Tue Jun 25 21:19:54 BRT 2019
    *others trusted certs*
    trigger seeding of SecureRandom
    done seeding SecureRandom
    export control - checking the cipher suites
    export control - no cached value available...
    export control - storing legal entry into cache...
    %% No cached client session
    *** ClientHello, TLSv1
    RandomCookie: GMT: 1198158630 bytes = { 48, 135, 53, 24, 112, 72, 104, 220, 27, 114, 37, 42, 25, 77, 224, 32, 12, 58, 90, 217, 232, 3, 104, 251, 93, 82, 40, 91 }
    Session ID: {}
    Cipher Suites: [SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_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 }
    main, WRITE: TLSv1 Handshake, length = 73
    main, WRITE: SSLv2 client hello message, length = 98
    main, READ: TLSv1 Handshake, length = 3953
    *** ServerHello, TLSv1
    RandomCookie: GMT: 1198158523 bytes = { 56, 166, 181, 215, 86, 245, 8, 55, 214, 108, 128, 50, 8, 11, 0, 209, 38, 62, 187, 185, 240, 231, 56, 161, 212, 111, 194, 79 }
    Session ID: {222, 2, 0, 0, 147, 179, 182, 212, 18, 34, 199, 100, 168, 167, 48, 116, 140, 186, 151, 153, 226, 168, 163, 174, 24, 83, 208, 73, 179, 57, 86, 137}
    Cipher Suite: SSL_RSA_WITH_RC4_128_MD5
    Compression Method: 0
    %% Created: [Session-1, SSL_RSA_WITH_RC4_128_MD5]
    ** SSL_RSA_WITH_RC4_128_MD5
    *** Certificate chain
    chain [0] = [
    Version: V3
    *many chains and related data*
    Found trusted certificate:
    Version: V3
    Subject:
    *many trusted certificates and related data*
    *** ServerHelloDone
    *** ClientKeyExchange, RSA PreMasterSecret, TLSv1
    Random Secret: { 3, 1, 117, 112, 233, 166, 240, 9, 226, 67, 53, 111, 194, 84, 124, 103, 197, 28, 17, 36, 32, 48, 145, 166, 161, 61, 30, 63, 153, 214, 137, 113, 222, 204, 138, 77, 212, 75, 65, 192, 159, 215, 69, 156, 47, 188, 179, 219 }
    main, WRITE: TLSv1 Handshake, length = 134
    SESSION KEYGEN:
    PreMaster Secret:
    0000: 03 01 75 70 E9 A6 F0 09 E2 43 35 6F C2 54 7C 67 ..up.....C5o.T.g
    0010: C5 1C 11 24 20 30 91 A6 A1 3D 1E 3F 99 D6 89 71 ...$ 0...=.?...q
    0020: DE CC 8A 4D D4 4B 41 C0 9F D7 45 9C 2F BC B3 DB ...M.KA...E./...
    CONNECTION KEYGEN:
    Client Nonce:
    0000: 47 6A 73 26 30 87 35 18 70 48 68 DC 1B 72 25 2A Gjs&0.5.pHh..r%*
    0010: 19 4D E0 20 0C 3A 5A D9 E8 03 68 FB 5D 52 28 5B .M. .:Z...h.]R([
    Server Nonce:
    0000: 47 6A 73 BB 38 A6 B5 D7 56 F5 08 37 D6 6C 80 32 Gjs.8...V..7.l.2
    0010: 08 0B 00 D1 26 3E BB B9 F0 E7 38 A1 D4 6F C2 4F ....&>....8..o.O
    Master Secret:
    0000: 0B 3A 71 F8 BB 79 5E 07 78 C2 5F 13 4F 92 9D 87 .:q..y^.x._.O...
    0010: CF 69 0D 07 78 D2 59 46 1E C3 C1 5B A2 DB 04 B9 .i..x.YF...[....
    0020: 42 60 92 48 59 8E FD FD C3 5B BD 00 9C 54 7A 7E B`.HY....[...Tz.
    Client MAC write Secret:
    0000: 33 7C 19 C4 75 D2 CE 82 39 98 37 E5 7D 20 CB B1 3...u...9.7.. ..
    Server MAC write Secret:
    0000: 1E 1E 48 C7 D4 77 23 E4 22 26 8B 98 2E 92 5C 95 ..H..w#."&....\.
    Client write key:
    0000: EE 05 39 76 B2 85 63 6C F7 70 30 CB 6D 08 07 54 ..9v..cl.p0.m..T
    Server write key:
    0000: 5C 2E 3B 5E DC D9 EC C5 04 C4 D5 B5 12 11 B9 08 \.;^............
    ... no IV for cipher
    main, WRITE: TLSv1 Change Cipher Spec, length = 1
    *** Finished
    verify_data: { 143, 115, 243, 131, 242, 244, 12, 44, 191, 172, 205, 122 }
    main, WRITE: TLSv1 Handshake, length = 32
    main, READ: TLSv1 Change Cipher Spec, length = 1
    main, READ: TLSv1 Handshake, length = 32
    *** Finished
    verify_data: { 231, 215, 37, 250, 177, 121, 111, 192, 11, 41, 1, 165 }
    %% Cached client session: [Session-1, SSL_RSA_WITH_RC4_128_MD5]
    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 : Certificados/certificadoSondaMonitor.jks
    keyStore type is : JKS
    keyStore provider is :
    init keystore
    init keymanager of type SunX509
    trustStore is: Certificados\cacerts
    trustStore type is : jks
    trustStore provider is :
    init truststore
    adding as trusted cert:
    Subject: [email protected], CN=http://www.valicert.com/, OU=ValiCert Class 2 Policy Validation Authority, O="ValiCert, Inc.", L=ValiCert Validation Network
    Issuer: [email protected], CN=http://www.valicert.com/, OU=ValiCert Class 2 Policy Validation Authority, O="ValiCert, Inc.", L=ValiCert Validation Network
    Algorithm: RSA; Serial number: 0x1
    Valid from Fri Jun 25 21:19:54 BRT 1999 until Tue Jun 25 21:19:54 BRT 2019
    adding as trusted cert:
    * many certificates*
    init context
    trigger seeding of SecureRandom
    done seeding SecureRandom
    instantiated an instance of class com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl
    export control - checking the cipher suites
    export control - found legal entry in cache...
    %% No cached client session
    *** ClientHello, TLSv1
    RandomCookie: GMT: 1198158632 bytes = { 93, 1, 41, 236, 165, 146, 251, 117, 129, 195, 129, 72, 245, 181, 43, 48, 80, 251, 244, 198, 223, 85, 82, 101, 20, 159, 17, 26 }
    Session ID: {}
    Cipher Suites: [SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_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 }
    main, WRITE: TLSv1 Handshake, length = 73
    main, WRITE: SSLv2 client hello message, length = 98
    main, READ: TLSv1 Handshake, length = 3953
    *** ServerHello, TLSv1
    RandomCookie: GMT: 1198158525 bytes = { 109, 114, 234, 1, 130, 97, 251, 9, 61, 105, 56, 246, 239, 222, 97, 143, 22, 254, 65, 213, 10, 204, 153, 67, 237, 133, 223, 48 }
    Session ID: {23, 30, 0, 0, 26, 129, 168, 21, 252, 107, 124, 183, 171, 228, 138, 227, 94, 17, 195, 213, 216, 233, 205, 2, 117, 16, 21, 65, 123, 119, 171, 109}
    Cipher Suite: SSL_RSA_WITH_RC4_128_MD5
    Compression Method: 0
    %% Created: [Session-2, SSL_RSA_WITH_RC4_128_MD5]
    ** SSL_RSA_WITH_RC4_128_MD5
    *** Certificate chain
    chain [0] = [
    many chains again
    *** ServerHelloDone
    *** ClientKeyExchange, RSA PreMasterSecret, TLSv1
    Random Secret: { 3, 1, 116, 247, 155, 227, 25, 25, 231, 129, 199, 76, 134, 222, 98, 69, 149, 224, 75, 6, 60, 121, 115, 216, 244, 246, 102, 92, 188, 64, 113, 56, 190, 43, 32, 51, 90, 254, 141, 184, 71, 48, 41, 29, 173, 180, 46, 116 }
    main, WRITE: TLSv1 Handshake, length = 134
    SESSION KEYGEN:
    PreMaster Secret:
    0000: 03 01 74 F7 9B E3 19 19 E7 81 C7 4C 86 DE 62 45 ..t........L..bE
    0010: 95 E0 4B 06 3C 79 73 D8 F4 F6 66 5C BC 40 71 38 ..K.<ys...f\.@q8
    0020: BE 2B 20 33 5A FE 8D B8 47 30 29 1D AD B4 2E 74 .+ 3Z...G0)....t
    CONNECTION KEYGEN:
    Client Nonce:
    0000: 47 6A 73 28 5D 01 29 EC A5 92 FB 75 81 C3 81 48 Gjs(].)....u...H
    0010: F5 B5 2B 30 50 FB F4 C6 DF 55 52 65 14 9F 11 1A ..+0P....URe....
    Server Nonce:
    0000: 47 6A 73 BD 6D 72 EA 01 82 61 FB 09 3D 69 38 F6 Gjs.mr...a..=i8.
    0010: EF DE 61 8F 16 FE 41 D5 0A CC 99 43 ED 85 DF 30 ..a...A....C...0
    Master Secret:
    0000: FC C9 75 A4 2B F1 8A D8 AD 16 27 70 B7 E4 64 6C ..u.+.....'p..dl
    0010: 05 D7 33 4A 53 91 2F 51 1E 32 D3 3B 2E 18 2E BC ..3JS./Q.2.;....
    0020: E4 16 EE 2F 01 A1 08 48 19 09 32 68 CE 69 8F B1 .../...H..2h.i..
    Client MAC write Secret:
    0000: F1 95 3B CE 06 5B 8A 9B EC DE 1C 8F B4 AB D9 36 ..;..[.........6
    Server MAC write Secret:
    0000: BF 52 36 48 63 24 FE 74 22 BE 00 99 BE F0 6E E5 .R6Hc$.t".....n.
    Client write key:
    0000: 9F 08 0A 6E 8F 54 A3 66 1C BC C7 6B AE 88 67 E0 ...n.T.f...k..g.
    Server write key:
    0000: 06 A1 0B 4F 69 DE 5F AF 0E 6B B5 04 ED E8 EA F5 ...Oi._..k......
    ... no IV for cipher
    main, WRITE: TLSv1 Change Cipher Spec, length = 1
    *** Finished
    verify_data: { 148, 93, 105, 42, 110, 212, 55, 2, 150, 191, 13, 111 }
    main, WRITE: TLSv1 Handshake, length = 32
    main, READ: TLSv1 Change Cipher Spec, length = 1
    main, READ: TLSv1 Handshake, length = 32
    *** Finished
    verify_data: { 171, 150, 45, 10, 99, 35, 67, 174, 35, 52, 23, 192 }
    %% Cached client session: [Session-2, SSL_RSA_WITH_RC4_128_MD5]
    main, setSoTimeout(600000) called
    main, WRITE: TLSv1 Application Data, length = 282
    main, WRITE: TLSv1 Application Data, length = 8208
    main, WRITE: TLSv1 Application Data, length = 1102
    main, READ: TLSv1 Application Data, length = 1830
    main, received EOFException: ignored
    main, called closeInternal(false)
    main, SEND TLSv1 ALERT: warning, description = close_notify
    main, WRITE: TLSv1 Alert, length = 18
    main, called close()
    main, called closeInternal(true)
    AxisFault
    faultCode: {http://xml.apache.org/axis/}HTTP
    faultSubcode:
    faultString: (404)Not Found
    faultActor:
    faultNode:
    faultDetail:
         {}:return code: 404
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <HTML><HEAD><TITLE>The page cannot be found</TITLE>
    <META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
    <STYLE type="text/css">
    BODY { font: 8pt/12pt verdana }
    H1 { font: 13pt/15pt verdana }
    H2 { font: 8pt/12pt verdana }
    A:link { color: red }
    A:visited { color: maroon }
    </STYLE>
    </HEAD><BODY><TABLE width=500 border=0 cellspacing=10><TR><TD>
    <h1>The page cannot be found</h1>
    The page you are looking for might have been removed, had its name changed, or is temporarily unavailable.
    <hr>
    <p>Please try the following:</p>
    <ul>
    <li>Make sure that the Web site address displayed in the address bar of your browser is spelled and formatted correctly.</li>
    <li>If you reached this page by clicking a link, contact
    the Web site administrator to alert them that the link is incorrectly formatted.
    </li>
    <li>Click the <a href="javascript:history.back(1)">Back</a> button to try another link.</li>
    </ul>
    <h2>HTTP Error 404 - File or directory not found.<br>Internet Information Services (IIS)</h2>
    <hr>
    <p>Technical Information (for support personnel)</p>
    <ul>
    <li>Go to <a href="http://go.microsoft.com/fwlink/?linkid=8180">Microsoft Product Support Services</a> and perform a title search for the words <b>HTTP</b> and <b>404</b>.</li>
    <li>Open <b>IIS Help</b>, which is accessible in IIS Manager (inetmgr),
    and search for topics titled <b>Web Site Setup</b>, <b>Common Administrative Tasks</b>, and <b>About Custom Error Messages</b>.</li>
    </ul>
    </TD></TR></TABLE></BODY></HTML>
         {http://xml.apache.org/axis/}HttpErrorCode:404
    (404)Not Found
         at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:744)
         at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
         at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
         at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
         at org.apache.axis.client.Call.invoke(Call.java:2767)
         at org.apache.axis.client.Call.invoke(Call.java:2443)
         at org.apache.axis.client.Call.invoke(Call.java:2366)
         at org.apache.axis.client.Call.invoke(Call.java:1812)
         at principal.SSLClient.main(SSLClient.java:86)
    (404)Not Found
    -----

    I'm having the same problem with the same URL. I try many configuration and nothing works. My code is:
    public class NFeClient {
         static{
              Security.addProvider(new BouncyCastleProvider());
         public static void main(final String[] args) throws Exception {
              final String path = "https://homologacao.nfe.sefaz.rs.gov.br/ws/nfeconsulta/nfeconsulta.asmx";
              final String keyStoreProvider = "BC";
              final String keyStoreType = "PKCS12";
              final String keyStore = "/home/mendes/certificados/cert.p12";
              final String keyStorePassword = "xxxx";
              System.setProperty("javax.net.ssl.keyStoreProvider",keyStoreProvider);
              System.setProperty("javax.net.ssl.keyStoreType",keyStoreType);
              System.setProperty("javax.net.ssl.keyStore",keyStore);
              System.setProperty("javax.net.ssl.keyStorePassword",keyStorePassword);
              System.setProperty("javax.net.ssl.trustStore","/home/mendes/workspace/NFE/jssecacerts");
              final SSLContext context =  SSLContext.getInstance("TLS");
              final KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
              final KeyStore ks = KeyStore.getInstance(keyStoreType);
              ks.load(new FileInputStream(keyStore), keyStorePassword.toCharArray());
              kmf.init(ks, keyStorePassword.toCharArray());
              context.init(kmf.getKeyManagers(), null, null);
              final URL url = new URL(path);
              final HttpsURLConnection httpsConnection = (HttpsURLConnection) url.openConnection();
              httpsConnection.setDoInput(true);
              httpsConnection.setRequestMethod("GET");
              httpsConnection.setRequestProperty("Host", "iis-server");
              httpsConnection.setRequestProperty("UserAgent", "Mozilla/4.0");
              httpsConnection.setSSLSocketFactory(context.getSocketFactory());
              try{
                   final InputStream is = httpsConnection.getInputStream();
                   final byte[] buff = new byte[1024];
                   int readed;
                   while((readed = is.read(buff)) > 0)
                        System.out.write(buff,0,readed);
              }catch(final IOException ioe){
                   ioe.printStackTrace();
    }and the response of the server is always the same:
    java.io.IOException: Server returned HTTP response code: 403 for URL: https://homologacao.nfe.sefaz.rs.gov.br/ws/nfeconsulta/nfeconsulta.asmx
         at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1241)
         at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:234)
         at br.com.esales.nfe.signer.client.NFeClient.main(NFeClient.java:60)Edited by: mendes on Apr 25, 2008 9:56 AM

  • Receiver SOAP adapter SSL error - client certificate required?

    Hi all,
    Problem configuring SSL in XI 3.0 NW04 SP17....
    I have followed the config steps from Rahul's excellent weblog at <a href="/people/rahul.nawale2/blog/2006/05/31/how-to-use-client-authentication-with-soap-adapter">How to use Client Authentication with SOAP Adapter</a> (my Basis team have done the Visual Admin steps) and am going through his example as it closely matches my requirement. So, I have a test receiver SOAP adapter sending messages to a web service URL defined for a sender SOAP adapter. My test scenario is:
    <b>Sender File -> <u><i>Receiver SOAP -> Sender SOAP</i></u> -> IDoc Receiver -> IDocs in R/3</b>
    The problem components are in italic and underlined above. My Receiver SOAP Adapter has the web service URL, Certificate Keystore Entry and View entered. If, in the Sender SOAP Adapter, I have an HTTP Security Level of HTTPS Without Client Authentication, the interface works fine (note that Rahul suggests you untick the User Authentication in the Receiver but with this Security Level, it seems to work with or without it).
    The problem is when I set HTTPS <b>With</b> Client Authentication in the Sender. I then get the following error in the message monitor:
    SOAP: response message contains an error XIServer/UNKNOWN/ModuleUnknownException - com.sap.aii.af.mp.module.ModuleException: java.security.AccessControlException: <b>client certificate required caused by: java.security.AccessControlException</b>: client certificate required at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:1111) at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl3.process(ModuleLocalLocalObjectImpl3.java:103) at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:250) at com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0.process(ModuleProcessorLocalLocalObjectImpl0.java:103) at com.sap.aii.af.mp.soap.web.MessageServlet.callModuleProcessor(MessageServlet.java:166) at com.sap.aii.af.mp.soap.web.MessageServlet.doPost(MessageServlet.java:421) at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code)) at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code)) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java(Compiled Code)) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java(Compiled Code)) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java(Inlined Compiled Code)) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java(Compiled Code)) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java(Compiled Code)) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java(Compiled Code)) at com.sap.engine.services.httpserver.server.Client.handle(Client.java(Inlined Compiled Code)) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java(Compiled Code)) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java(Compiled Code)) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java(Compiled Code)) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java(Compiled Code)) at java.security.AccessController.doPrivileged1(Native Method) at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code)) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java(Compiled Code)) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java(Compiled Code)) Caused by: java.security.AccessControlException: client certificate required at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:843) ... 22 more
    Has anyone got any idea what this could be caused by?
    Many thanks,
    Stuart Richards

    Have you configured the https port with that keystore entry?
    Check out these links:
    http://help.sap.com/saphelp_nw2004s/helpdata/en/b0/881e3e3986f701e10000000a114084/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/5c/15f73dd0408e5be10000000a114084/frameset.htm
    Regards,
    Henrique.

  • How to read client certificate after SSL has be established

    Hi, Folks:
    I've established mutual authentication between client and server, how do I go about reading the client certificate on the server side after SSL session has been established? Basically I am trying to read the client name from the client certificate, based on the name, the server will decide what resource the client can access.
    Thanks a lot
    --Richard                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    I need to know the process clearly... like how to configure ssl serverAs I said, that's not the topic of this thread. It's described in the Javadoc, and it's been covered in this forum, and the forum has a search facility. If you still have a question, start your own thread. Don't hijack other threads about other topics.
    Every one knows to read API documentation. If those were clear then I wouldn't ask here for help. Then you need to ask a specific question about something you specifically didn't understand, in a specific thread, in a specific forum. The best reference is the Javadoc. That's what it's for, and reading it is how I learned Java. If you can't understand it maybe you need to make more of an effort. Nobody is going to type it in here again for you in a more comprehensible form (I hope). It's your job to understand the material you have to work with. At the moment you're just asking someone to do your job for you.
    And yes this topic may have been covered previously, but its not necessary for me to know what topics are covered in this forum.The question asked in this thread has been answered previously in this thread. Is that too hard to find? The question you asked that hasn't been covered in this thread doesn't belong in this thread. Is that too hard to understand?

  • 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-----

  • ACE 4710 - Continuing SSL Session Setup with Client Certificate Failures

    Dears,
    I have a Cisco ACE (image: c4710ace-t1k9-mz.A5_2_1.bin) configured for SSL termination with load balancing in addition to client authentication. I have a situation that require the ACE to pass expired client certificate currently deployed on some clients.
    which is the best option from the following to apply using the authentication-failure command in parameter map SSL configuration mode.
    - authentication-failure ignore [Only]
    OR
    - authentication-failure redirect cert-expired
    OR
    - authentication-failure ignore with authentication-failure redirect cert-expired
    Appreciate your help

    Dear Kanwalsi
    To pass only cert-expired !!! what do you think to apply the following
    parameter-map type ssl TEST
    authentication-failure ignore
    authentication-failure redirect unknown-issuer url http://TEST.com/sorry.html 302
    authentication-failure redirect no-client-cert url http://TESt.com/sorry.html 302
    authentication-failure redirect cert-has-signature-failure url http://TESt.com/sorry.html 302
    authentication-failure redirect cert-other-error url http://TESt.com/sorry.html 302
    authentication-failure redirect cert-revoked url http://TESt.com/sorry.html 302
    authentication-failure redirect crl-has-expired url http://TESt.com/sorry.html 302
    authentication-failure redirect crl-not-available url http://TESt.com/sorry.html 302

  • Lowest cost SSL accelerator for HTTPS client certificate auth testing

    Hi,
    I need to test some some https connections that use client certificate authentication and need a low cost ebay-purchasable cisco ssl box (I think).
    My understanding is that some Cisco products can terminate https connections (once client cert auth is successful) and then pass on the http connection with a cookie value set with the Subject DN information from the client certificate - correct me if I'm wrong :).
    So any suitable kit for this?
    Thanks,
    Marc.

    Hi Oliver,
    Have a look at this http://forum.java.sun.com/thread.jsp?forum=2&thread=258908
    You may find the answer to your question there.
    Majid.

  • JDBC Thin Connections with SSL and client certificates

    Hi ,
    we are going have a look at JDBC Thin Connections with SSL and client certificates.
    I have two questions:
    1. Is it possible to use SSL connections from JDBC Thin Driver and which release of the driver introduced it
    2. Is it possible to use client certificates with JDBC Thin Driver and which release of the driver introduced it
    Thanks for your help
    regards
    Markus Reichert

    I could not reproduce the error after appending the SSL certificate to the certdb.txt file available under $Jinitiator_Home/lib/security folder.
    Steps to add the SSL Certificate:
    1. Run the form with the https mode in the IE Browser.
    2. Security Alert is raised.
    3. Click on the View Certificate button.
    4. In the Certificate Window, click on the Details tab.
    5. Click on the Copy to File button to copy the certificate.
    6. Copy the certificate and append to the certdb.txt file.

  • SSL (https) set up in ABAP - pop-up Request Client Certificate

    Hi,
    We just configured SSL in ABAP. Accessing the website that the certificate is assigned to results in a pop-up appearing in IE7 that states:
    The website you want to view requests identification. Please choose a certificate, with a blank screen.
    Can the server be set so that it does not prompt for the client certificate?
    Thanks, Neeta

    You will have to check the specific service (probably in SICF) to see if the Logon Procedure is set to 'Required with Client Certificate (SSL).' Is this for a BSP page?
    Hope that helps.
    J. Haynes

  • Can a pl sql cartridge get the client certificate through ssl in OAS

    I am In a web publishing system project, I use SSL and client certificate to verify the user, the environment is OAS4.0.6 and Oracle 8i, and I use PL SQL cartridge to proceed the http request , Now the problem is how can I get the client certificate infomation in my pl sql scripts, I do not know where should i post this problem, So I post it here, If you have any experience in using SSL of OAS, pls help me!
    tsailiang
    [email protected]
    thank you very much!

    Sorry wrong forum.....
    This forum is for the Internet File Server (ifs) not the oracle application server (oas), sometimes known as iAS or Oracle9i Applicaiton Server.
    null

  • Getting SSGD 4.41 to work with SSL + Client Certificate

    Hello everybody.
    I'm running SSGD 4.41.909 on SuSE Linux Enterprise Server 10+Sp2 (x86_32bit) and I configured it to perform KERBEROS authentication against a Windows 2003R2 server.
    Everything worked fine so I decided to give SSL+Client Ceritifcate a try.
    I configured the Win2003R2 server as per the manual and I also:
    . imported the Active Directory root CA into SSGD trustore (/opt/tarantella/bin/jre/lib/security/cacerts)
    . created a new key and a CSR using the keytool
    . signed the above CSR with the Active Directory CA
    . imported the just signed certificate info SSGD keystore (/opt/tarantella/var/info/certs/sslkeystore)
    With the keytool I'm able to verify that the keystore does actually contains a valid CLIENT certificate:
    /opt/tarantella/bin/jre/bin/keytool -list \
    -keystore /opt/tarantella/var/info/certs/sslkeystore \
    -keypass "$(cat /opt/tarantella/var/info/key)" \
    -storepass "$(cat /opt/tarantella/var/info/key)"Keystore type: JKS
    Keystore provider: SUN
    Your keystore contains 2 entries
    testssgd, Dec 17, 2008, PrivateKeyEntry,
    Certificate fingerprint (MD5): 33:3B:41:EC:A2:4C:FF:02:D7:0D:D8:2D:EB:B2:2A:2B
    ssgd_client_cert, Dec 17, 2008, trustedCertEntry,
    Certificate fingerprint (MD5): DE:6B:BA:28:39:6B:B2:7B:51:F5:F2:6B:41:6E:6B:C1
    As you can see, the ssgd_client_cert is indeed available into the sslkeystore.
    Next, I configured SSGD as follows:
    Step4: LDAP Repository Details
    Repository Type: (*) Active Directory
    URLs: ad://zen.strhold.it
    Connection Security: () Kerberos
    (*) SSL
    [x] Client Certificate Used
    Active Directory Base Domain: zen.strhold.it
    Active Directory Default Domain: zen.strhold.it
    [Next]
    I did not have any errors when I clicked over [Next] and the same went when I selected the [Finish] button.
    I logged out of the Admin console, restarted the SSGD server and tried to login using an Active Directory VALID user but here's what I got:
    Sun Secure Global Desktop Software (4.41) WARNING:
    Could not find a client certificate to use to authenticate the
    connection to the Active Directory server
    'Active Directory:win2003r2.zen.strhold.it:/192.168.68.1:3268:Up'
    'Active Directory:win2003r2.zen.strhold.it:/192.168.68.1:3268:Up'
    cannot be used to retrieve data from the Active Directory.
    A known resolution to this warning is:
    - Import a client certificate for this server into the SGD keystore.
    For more information on how to do this, consult the SGD Administration
    Guide.
    2008/12/17 17:16:36.246     (pid 18920)     server/ad/warningerror     #1229530596247
    Sun Secure Global Desktop Software (4.41) WARNING:
    Failed to connect to the global catalog:
    'Active Directory:win2003r2.zen.strhold.it:/192.168.68.1:3268:Up'.
    Reason:
    [LDAP: error code 49 - 8009030C: LdapErr: DSID-0C09048B, comment: The server did not receive any credentials via TLS, data 0, vece]
    Global catalog:
    'Active Directory:win2003r2.zen.strhold.it:/192.168.68.1:3268:Up'
    cannot be used to retrieve data from the forest.
    To help troubleshoot this warning,
    - Verify that this global catalog is available on the network.
    - Verify that SGD can resolve the global catalog's hostname via DNS.
    - Verify that SGD can connect to port 3268 on the global catalog.
    - Verify that this server is a global catalog for the forest.
    I'm pretty sure I do have a client certificate into SSGD keystore (as demonstrated by the keytool utility).
    Am I missing something or what?
    Things I've already cheched:
    . both the SSGD and Windows server clocks are in synch
    . the DNS server (on Windows) is able to resolve the names of the boxes in both forward and reverse mode
    . no firewall is operating between the boxes
    Thanks,
    Rob

    Hi DD.
    Thanks again for your time and patience!
    Well, today I restarted the SSGD box (it's a virtual machine) and issued the:
        keytool -list -keystore sslkeystore -storepass "$(cat /opt/tarantella/var/info/key)" -keypass "$(cat /opt/tarantella/var/info/key)"command. Much to my surprise, this time I got the following output:
    Your keystore contains 1 entry
    +testssgd, Dec 19, 2008, trustedCertEntry,+
    Certificate fingerprint (MD5): 37:0D:8B:17:71:95:E6:D1:19:ED:D4:93:DE:5E:E7:35
    As you can see, now the certificate is recognized as "trustedCertEntry* instead of the previous PrivateKeyEntry. If you step back to my previous post, you should be able to tell that the MD5 is the same one I got for the PrivateKeyEntry.
    +testssgd, Dec 19, 2008, PrivateKeyEntry,+
    +Certificate fingerprint (MD5): 37:0D:8B:17:71:95:E6:D1:19:ED:D4:93:DE:5E:E7:35+
    By issuing the suggested:
    {code}keytool -v -list -keystore sslkeystore -alias testssgd{code}
    command I got the following output (snipped):
    +Alias name: testssgd+
    +Creation date: Dec 19, 2008+
    +Entry type: trustedCertEntry+
    +Owner: CN=ssgd.zen.strhold.it, OU=Strhold Evolution Division, O=Strhold, L=Reggio Emilia, ST=Italy, C=IT+
    +Issuer: CN=ADroot, DC=zen, DC=strhold, DC=it+
    +Serial number: 1568abe4000000000006+
    +Valid from: Fri Dec 19 17:45:52 CET 2008 until: Sun Dec 19 17:45:52 CET 2010+
    +Certificate fingerprints:+
    +     MD5: 37:0D:8B:17:71:95:E6:D1:19:ED:D4:93:DE:5E:E7:35+
    +     SHA1: 00:8F:59:04:51:49:A6:73:8C:B5:6D:74:C6:90:30:32:24:DE:6D:EA+
    +     Signature algorithm name: SHA1withRSA+
    +     Version: 3+
    As you can see, the Issuer is ADRoot (CN=ADroot, DC=zen, DC=strhold, DC=it).
    The error messages did not change (
    Attempted login for [email protected]
    using disambiguation attributes {}.
    2008/12/22 13:37:10.306     (pid 3764)     server/kerberos/info     #1229949430306
    Kerberos attempting to log in rzini in to ZEN.STRHOLD.IT
    2008/12/22 13:37:10.647     (pid 3764)     server/kerberos/moreinfo     #1229949430647
    Kerberos succeeded in authenticating [email protected] to ZEN.STRHOLD.IT
    2008/12/22 13:37:10.711     (pid 3764)     server/ldap/info     #1229949430711
    LDAP config is: "ad://zen.strhold.it"
    2008/12/22 13:37:10.716     (pid 3764)     server/ldap/info     #1229949430716
    LDAP server user was changed for scope "forest" to ""
    2008/12/22 13:37:10.796     (pid 3764)     server/ldap/moreinfo     #1229949430796
    NSLookup succeeded: "win2003r2.zen.strhold.it." returned 192.168.68.1
    2008/12/22 13:37:10.801     (pid 3764)     server/ldap/moreinfo     #1229949430801
    Service lookup succeeded: "_gc._tcp.zen.strhold.it." returned 192.168.68.1:3268
    2008/12/22 13:37:11.316     (pid 3764)     server/ad/warningerror     #1229949431315
    Sun Secure Global Desktop Software (4.41) WARNING:
    Could not find a client certificate to use to authenticate the
    connection to the Active Directory server
    'Active Directory:win2003r2.zen.strhold.it:/192.168.68.1:3268:Up'
    'Active Directory:win2003r2.zen.strhold.it:/192.168.68.1:3268:Up'
    cannot be used to retrieve data from the Active Directory.
    A known resolution to this warning is:
    - Import a client certificate for this server into the SGD keystore.
    For more information on how to do this, consult the SGD Administration
    Guide.
    2008/12/22 13:37:11.321     (pid 3764)     server/ad/warningerror     #1229949431321
    Sun Secure Global Desktop Software (4.41) WARNING:
    Failed to connect to the global catalog:
    'Active Directory:win2003r2.zen.strhold.it:/192.168.68.1:3268:Up'.
    Reason:
    [LDAP: error code 49 - 8009030C: LdapErr: DSID-0C09048B, comment: The server did not receive any credentials via TLS, data 0, vece]
    [snip]
    Discovery results:
    Looking up Global Catalog DNS name: _gc._tcp.zen.strhold.it. - HIT
    Looking for GC on server: Active Directory:win2003r2.zen.strhold.it:/192.168.68.1:3268:Up - ERROR
    The Active Directory login authority and LDAP generation will not work as
    SGD could not find a contactable global catalog.
    2008/12/22 13:37:11.329     (pid 3764)     server/ldap/error     #1229949431329
    Sun Secure Global Desktop Software (4.41) ERROR:
    LDAP call failed: null lookupLink-.../_ldapmulti/forest/("DC=ZEN,DC=STRHOLD,DC=IT") 587ms javax.naming.NameNotFoundException: Failed to lookup a Global Catalog server
    A call to LDAP failed. This might mean LDAP users cannot log in.
    I can provide you with the Java exception which was reported but I cannot include it with this message due to the restriction in size we have when posting.
    Thanks again,
    Rob

Maybe you are looking for

  • Transporting only data views in TSOBJ

    Hi, We have three data views in a planning book. We changed macros for one of the data views and want to transport only that data view to production. we actually don't want to transport one of the other two left, since that was a test view we created

  • What is the difference between Condition Type PB00 and PBXX

    Hallow all, Can anybody please explain, What is the Difference between Condition type PB00 and PBXX in Materials Management Pricing? And also please explain control or Application of both on Price determination ?? Thanks in Advance !!!!!

  • Is iphone 5 switch to vibrate mode malfunctioning for anyone else?

    I just received a replacement Iphone 5 for my first one that had a malfunctioning speaker....  First flip to vibrate mode and it doesn't switch... didn't really notice for a day or so until today in a meeting. (BLEEP beep BLEEP).... I noticed if I pr

  • Z field added in std table not reflected in PA30

    Hi experts, I m trying to enhance IT 0021 with some additional fields.. I have added a field in IT0021 through PM01. Also i have assigned the custom program generated for IT0021 to the standard program in  "Assign Enhancement"  in PM01. The problem i

  • Tools of Backup and Recovery

    can any one tell me what are the tools of backup and recovery in the Oracle database?