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

Similar Messages

  • 12520 EAP-TLS failed SSL/TLS handshake because the client rejected the ISE local-certificate

    Hi guys,
    I have root CA and intermediate CA in ISE local certificate store trusted for client authentication.
    I have imported both root ca and client certificate in the device I want to authenticate, but ISE keeps spitting out this error :
    12520 EAP-TLS failed SSL/TLS handshake because the client rejected the ISE local-certificate

    Refer the link for troubleshooting in page no 22 the issue is mentioned, check it: http://www.cisco.com/c/dam/en/us/solutions/collateral/enterprise/design-zone-security/howto_81_troubleshooting_failed_authc.pdf

  • ISE 1.1.1 - Error Code 12521 EAP-TLS failed SSL/TLS handshake after a client alert

    Hello,
    Has anyone come across this error code before?  I have looked in the 1.1.1 troubleshooting section and there is nothing there. When I click on the link for the description off the error in ISE I get the following error:
    I setup 7925 phones for EAP-TLS using MIC.  I have uploaded Cisco's Root CA and Manufactoring CA Certificates and enabled "Trust for client authentication".  A Certificate Profile is configured matching Common Name and is added to the Identity Sequence.    I got some additional attribute information, where there is a error message:
    OpenSSLErrorMessage=SSL alert code=0x233=563 ; source=remote ; type=fatal ; message="decrypt error"
    Anyone know what this error means?

    Yes,
    That could be it see if you can follow this guide on importing the ISE self signed cert: (i used a 7921 guide but it should be similar).
    http://www.cisco.com/en/US/docs/voice_ip_comm/cuipph/7921g/7_0/english/administration/guide/7921cfgu.html#wp1376129
    Installing the Authentication Server Root Certificate
    The Authentication Server Root Certificate must be installed on the Cisco Unified Wireless IP Phone 7921G.
    To install the certificate, follow these steps:
    Step 1 Export the Authentication Server Root Certificate from the ACS. See Exporting Certificates from the ACS.
    Step 2 Go to the phone web page and choose Certificates.
    Step 3 Click Import next to the Authentication Server Root certificate.
    Step 4 Restart the phone.
    Thanks,
    Tarik Admani
    *Please rate helpful posts*

  • EAP-TLS error .........failed SSL/TLS handshake because of an unknown CA in client certificate chain

    Hi,
    I am using 802.1x and EAP-TLS as authentication protocol. The clients are not able to pass the authentication the error log on ACS is
    Authentication failed: EAP-TLS handshake failed SSL/TLS handshake because of an unknown CA in the client certification chain.
    I have installed certificates on the WLC and ACS, however authentication is unsuccessful.
    Can anybody help regarding this issue.

    Hi Sandeep,
    Web auth certificate is defult certificate in wlc but you can also use your own(3rd party).
    http://www.cisco.com/c/en/us/support/docs/wireless-mobility/wlan-security/70584-csr-wlc-00.html
    Virtual interface : This interface handles any mobility management, VPN Termination, Web authentication, and is also a DHCP relay for WLAN clients.
    Yes its interconnected, the purpose for this entry is so that the controller knows the name of the of the certificates to virtual address translation.
    1. Guest Client go to google.com
    2. Client goes to DNS (the one its is assign in DHCP)
    3. DNS resolves the DNS for google.com
    4. Client then attempts to go to google.com
    5. Controller intercepts GET and replaces it with a 1.1.1.1
    6. Controller then takes the 1.1.1.1 and translates this to the DNS name to negat the (accpet this cert screen)
    7. DNS then gets resolve to the name (example guest.xxx.com)
    8. Controller presents the guest screen
    Hope it helps.
    Regards
    Dont forget to rate helpful posts

  • 2-way SSL and access control using the client certificate

    Hi,
    I'd like to configure WLS 8.1 so that the server will use the client identity extracted from the client certificate to determine whether permissions should be granted. I am having some problems.
    Details: The client can be either a Web service or a web application. The steps for authentication and authorization should be:
    - The client sends a request to an Apache server (DMZ) which will then be forwarded to WLS.
    - The client's identity, common name from the X.509 certificate, is mapped to the "username" (using WLS default identity assertion provider).
    - Validate whether the client should be trusted (via the list in the trusted credentials)
    - Check whether the resource should be granted based on the "username".
    The on-line manual says
    "If the Web browser or Java client requests a WebLogic Server resource protected by a security policy, WebLogic Server requires that the Web browser or Java client have an identity."
    "The user corresponding to the Subject's Distinguished Name (SubjectDN) attribute in the client's digital certificate must be defined in the server's security realm; otherwise the client will not be allowed to access a protected WebLogic resource. For information on configuring users on the server, see Creating Users in Managing WebLogic Security."
    So the questions I have are:
    - If the client identity is certificate based, why should we configure users with the "user name" and "password"? How can we get around it?
    - Once I defined the security condition for my app to use "user name of the caller," a default username and password prompt automatically popped up.
    Apparently, the SSL mutual authentication configuration and the default authentication provider to use the X.509 type didn't take any effect.
    - Without defining the security policy for the application, the debugging messages show that
    getRoles(): input arguments: subject:0
    Entitlement - <Role:Annonymous with expr:Grp(everyone)>
    Any suggestions? Thanks.

    Hi,
    I am trying to use 2 way ssl using webservices client , here is my code :
    AxisProperties.setProperty("org.apache.axis.components.net.SecureSocketFactory","org.apache.axis.components.net.SunFakeTrustSocketFactory");
    SSLAdapterFactory factory = SSLAdapterFactory.getDefaultFactory();
    WLSSLAdapter adapter = (WLSSLAdapter) factory.getSSLAdapter();
    // clientCredentialFile stores in PEM format the public key and
    // all the CAs associated with it + then the private key. All this in // a concatenated manner
    FileInputStream clientCredentialFile = new FileInputStream ("C:\\sslcert\\client-pub3.pem");
    // private key password
    String pwd = "password";
    adapter.loadLocalIdentity(clientCredentialFile, pwd.toCharArray());
    adapter.setVerbose(true);
    adapter.setTrustedCertificatesFile("C:\\certificate\\server\\server.jks");
    adapter.setStrictCheckingDefault(false);
    factory.setDefaultAdapter(adapter);
    factory.setUseDefaultAdapter(true);
    boolean idAvailability = false;
    UNSLocator locator = new UNSLocator();
    URL portAddress = new URL("https://localhost:7002/smuSSWeb/UNSResponse.xml");
    UNSPort unsprt = locator.getUNSPort(portAddress);
    idAvailability = unsprt.isIDAvailable("Yulin125", "C");
    System.out.println("Got from method :"+idAvailability);
    After runing this code i am getting the following exception :
    AxisFault
    faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
    faultSubcode:
    faultString: java.net.SocketException: Software caused connection abort: socket write error
    faultActor:
    faultNode:
    faultDetail:
    I am using .pem (clientsigned,clientinter,clientroot, root-key) files for client authentication and i am using server.jks as a keystore for my server authentication.Once i run this code , i am able to present the server certificate chain to the client but i am not able to present the client certificate chain to server.
    I am stuck with for quite sometime.
    Some insight needed from the guru's

  • 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

  • How can we limit the client certificates Safari displays for TLS authentication?

    Some background regarding where the certificates come from:  Our company has it's own enterprise MDM solution.  When a device enrolls, it receives certificates (identities) - 2 from MDM and a third for SSO.
    When a user of an iPad or iPhone attempts to connect to a website requiring a client certificate, the user is presented with a list of available certificates in the system keychain in a pick list.  There does not appear to be a way to filter that list.  Also, it appears that every single certificate available is listed twice.
    Is there any way to prevent Safari from displaying every identity certificate in the system keychain?
    The first example shows multiple certificates used for MDM enrollment
    The second example shows one certificate listed twice.

    I know this will sound like a conspiracy theory, but maybe Apple doesn't want you printing from your iPad... yet. Could be something Apple did so as not to "Steal their Thunder" when they announce the upgrades on the next generation iPad. Just a thought...

  • ISE EAP SSL/TLS Tunneling Certificates

    Hi,
    I am working on an ISE implementation that is going to perform authentcation accross several domains using LDAP. The domains that I have in my environment are a production and pre-production/testing domains. Currently my ISE appliances are joined to the production AD and are using certificates from the CA in our production AD. The problem I am having is I can only assign one Local Certificate for use for SSL/TLS tunneling for EAP authentcations. This means that when I try and authenticate a device that is not part of the production active directory (pre-production), using the seperate LDAP instance as an identity store, its attempting to create a tunnel using a cert that is not from the pre-production CA, and thus fails with the following error...
    Authentication failed :
    12321 PEAP failed SSL/TLS handshake because the client rejected the ISE local-certificate
    This is because the device built in pre-production does not have the production CA's as trusted entites. My question is, is it possible to define multiple certificates from seperate CA's for use for SSL/TLS tunneling?
    Cheers

    Hello,
    This error means that the supplicant does not trust the ISE PSN certificate.
    Resolution:
    Check whether the proper server certificate is installed and configured for EAP
    by going to the Local Certificates page (Administration > System > Certificates > Local Certificates ).
    Also ensure that the certificate authority that signed this server certificate is correctly installed in client's supplicant. Check the previous steps in the log for this EAP-TLS conversation for a message indicating why the handshake failed. Check OpenSSLErrorMessage and OpenSSLErrorStack for more
    information.

  • 12511 Unexpectedly received TLS alert message; treating as a rejection by the client

    ISE Version: 1.2.0.899 (Running in VMware)
    WLC: 5508 ver 7.6.100.0
    I have a WLAN created that uses dot1x authentication. The WLAN points to ISE for RADIUS AAA. I cannot get any windows computer to connect to it (7,8 or 8.1 tested), but android, ios and osx are all able to connect. I have a 3rd party cert (GoDaddy) installed in my local store in ISE, which is valid and not expired. I do not understand why windows machines are failing.
    I am migrating to this new ISE server and my old ISE server has the same configuration (as far as I can tell) for this WLAN and it works for all devices, including windows. The difference is that it is on a different domain (the reason for the migration is we changed domains).
    Here is the ISE error:
    Event: 5400 Authentication failed
    Failure Reason: 12511 Unexpectedly received TLS alert message; treating as a rejection by the client
    Resolution: Ensure that the ISE server certificate is trusted by the client, by configuring the supplicant with the CA certificate that signed the ISE server certificate. It is strongly recommended to not disable the server certificate validation on the client!
    Root cause: While trying to negotiate a TLS handshake with the client, ISE received an unexpected TLS alert message. This might be due to the supplicant not trusting the ISE server certificate for some reason. ISE treated the unexpected message as a sign that the client rejected the tunnel establishment.
    Here is the WLC error:
    AAA Authentication Failure for UserName:Domain\User User Type: WLAN USER
    Here is the windows event viewer error:
    Source:        Microsoft-Windows-Security-Auditing
    Event ID:      5632
    Description:
    A request was made to authenticate to a wireless network.
    Subject:
        Security ID:        NULL
        Account Name:        User
        Account Domain:        Domain
    Network Information:
        Name (SSID):        IT-Test
    Additional Information:
        Reason Code:        Explicit Eap failure received (0x50005)
        Error Code:        0x80420014
        EAP Reason Code:    0x80420100
        EAP Root Cause String:    Network authentication failed\nThe user certificate required for the network can't be found on this computer.
        EAP Error Code:        0x80420014
    On the ISE server that is working you are presented with a window that asks you to connect or terminate based on the certificate not being validated. I don't know why that isn't happening with this new ISE server, it just fails without prompting the user to connect or terminate. Both certs are from GoDaddy.
    A difference between the certs is the old has a cert that was generated through ISE and the new server has an imported wildcard cert.
    Anyway, I hope that is enough information to understand the issue. I appreciate the time anyone takes in assisting me with this issue. I did setup a copy of the WLAN so that I can test as needed and not have to wait for a maintenance window.

    Thanks for your prompt reply. If I understand you correctly, the workaround is to essentially NOT use a wildcard certificate?
    Here is another thing. In the certificate operations section I moved EAP to the self-signed certificate and the behavior is the same, but the error is different. The self-signed cert isn't a wildcard and it still fails on windows only.
    ISE Error:
    Event: 5400 Authentication failed
    Failure Reason: 12321 PEAP failed SSL/TLS handshake because the client rejected the ISE local-certificate
    Resolution: Check whether the proper server certificate is installed and configured for EAP in the Local Certificates page ( Administration > System > Certificates > Local Certificates ). Also ensure that the certificate authority that signed this server certificate is correctly installed in client's supplicant. Check the previous steps in the log for this EAP-TLS conversation for a message indicating why the handshake failed. Check the OpenSSLErrorMessage and OpenSSLErrorStack for more information.
    Root cause: PEAP failed SSL/TLS handshake because the client rejected the ISE local-certificate
    Obviously the self-signing CA isn't in the local machines store.

  • 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

  • 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

  • The verification of the server's certificate chain failed

    Hi All,
    Not sure this is the right forum for this but never mind.
    I am trying to get abap2GApps working and am having problems with the client certificates.
    I am getting the below error in ICM :-
    [Thr 06] Mon Jul 30 09:34:47 2012
    [Thr 06] *** ERROR during SecudeSSL_SessionStart() from SSL_connect()==SSL_ERROR_SSL
    [Thr 06]    session uses PSE file "/usr/sap/BWD/DVEBMGS58/sec/SAPSSLC.pse"
    [Thr 06] SecudeSSL_SessionStart: SSL_connect() failed
      secude_error 9 (0x00000009) = "the verification of the server's certificate chain failed"
    [Thr 06] >>            Begin of Secude-SSL Errorstack            >>
    [Thr 06] ERROR in ssl3_get_server_certificate: (9/0x0009) the verification of the server's certificate chain failed
    ERROR in af_verify_Certificates: (24/0x0018) Chain of certificates is incomplete : "OU=Equifax Secure Certificate Authority, O=E
    ERROR in get_path: (24/0x0018) Can't get path because the chain of certificates is incomplete
    [Thr 06] <<            End of Secude-SSL Errorstack
    [Thr 06]   SSL_get_state() returned 0x00002131 "SSLv3 read server certificate B"
    [Thr 06]   SSL NI-sock: local=172.30.7.170:59036  peer=172.30.8.100:80
    [Thr 06] <<- ERROR: SapSSLSessionStart(sssl_hdl=60000000053910f0)==SSSLERR_SSL_CONNECT
    [Thr 06] *** ERROR => IcmConnInitClientSSL: SapSSLSessionStart failed (-57): SSSLERR_SSL_CONNECT {000726d5} [icxxconn_mt.c 2031]
    Having already got the accounts.google.com SSL certificate chain installed and working I can't get the docs.google.com SSL chain working.
    For accounts.google.com they use (this set works) :-
    1) CN=accounts.google.com, O=Google Inc, L=Mountain View, SP=California, C=US
    2) CN=Thawte SGC CA, O=Thawte Consulting (Pty) Ltd., C=ZA
    3) OU=Class 3 Public Primary Certification Authority, O="VeriSign, Inc.", C=US
    For docs.google.com they use a different set of SSL certs. :-
    1) CN=*.google.com, O=Google Inc, L=Mountain View, SP=California, C=US
    2) CN=Google Internet Authority, O=Google Inc, C=US
    3) OU=Equifax Secure Certificate Authority, O=Equifax, C=US
    Can anyone explain what I am doing wrong or how to correct this?
    Thanks
    Craig

    Further UPDATE
    After removing every certificate related to docs.google.com I still get the same error!
    I have even tried downloading the root certificate directly from GeoTrust themselves and yet I still get the same error.
    I have even resorted to running SAP program ZSSF_TEST_PSE from note 800240 to check the PSE and all is well!
    Referring to SAP Note 1318906 suggests I am missing a certificate in the chain but I am not!
    "Situation: The ICM is in the client role and the following entry is displayed in the trace:
    ERROR in ssl3_get_server_certificate: (9/0x0009) the verification of the server's certificate chain failed
    Reason:You try to set up a secure connection to a server, but the validity of the certificate cannot be verified because the required certificates are not available.
    Solution:The missing certificates are listed in the trace file. You must use transaction STRUST to insert these certificates in the Personal Security Environment (PSE) that is used for the connection. The certificates are usually made available to you by the server administrator. If the certificates are public Certification Authority (CA) certificates, you can also request the certificates there."
    What could possibly causing this?
    Please help!
    Craig

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

  • Problem with client certificate based authentication

    Hello.
    We are developing an AIR application that uses client
    certificates for authentication. We have written a simple test case
    to show the problem.
    <?xml version="1.0" encoding="utf-8"?>
    <mx:WindowedApplication xmlns:mx="
    http://www.adobe.com/2006/mxml"
    layout="absolute">
    <mx:Script>
    <![CDATA[
    import mx.controls.Alert;
    private function responseHandler(): void {
    Alert.show("Response received");
    ]]>
    </mx:Script>
    <mx:HTTPService id="exampleService"
    url="https://www1.aeat.es/pymes1/pacargoi.html"
    showBusyCursor="true"
    result="responseHandler()">
    </mx:HTTPService>
    <mx:Button label="Send"
    click="exampleService.send()"/>
    </mx:WindowedApplication>
    When we click on the button, it sends the request to the
    protected page and then (if you have CA emitted certificates) the
    dialog appears requesting the client certificate. And it works
    fine.
    But next time we click on the button, the dialog requesting
    the client certificate appears again.
    Is there a way to stop showing the dialog every time?
    Any help would be very appreciated.
    Thanks a lot for your support.
    Paco.

    I have just sent a Feature Request/Bug Report with the
    following text:
    "We are experiencing a problem using AIR with a server that
    requires authentication via client certificate.
    The dialog for selecting the client certificate appears every
    time that the AIR application interacts with the server (not only
    the first time).
    Steps to reproduce bug:
    1. Install Apache HTTP Server with SSL and require client
    certificate in order to authenticate.
    2. Develop an AIR Application that connects to this server
    (HTTPService or RemoteObject have been tested with the same
    result).
    3. Every time that the AIR application connect to the
    server, the dialog appears in order the user to select the client
    certificate.
    Results: This makes the AIR application unusable.
    Expected results: The dialog requesting the client
    certificate should appear the first time only."
    Thanks,
    Paco.

  • CSCuj04699 - ASA fails to present long certificate chain for java applets

    Hi all,
    Am I seeing this correctly that still no certificate that has an intermediate CA in their certification chain will work.
    Not even if we go to the latest software?
    C'mon guys, for a security appliance that's pretty slim and not "minor" at all!
    This Cisco WebVPN stuff is really messed up.
    Bye,
    Marki

    If anyone is interested I have now found a resolution for issue.
    The client certificate authentication needed to be at transport level and not message level.
    Following discussions with Oracle, my understanding is that OWSM manager can be used to only apply policy data at message level.
    Using OWSM was not the method to fulfil this sort of requirement. Instead I needed to configure a 2 way SSL handshake.
    http://docs.oracle.com/cd/E13159_01/osb/docs10gr3/security/transport_level.html
    Re: How to call https service from OSB
    Edited by: 920251 on 12-Apr-2012 05:14
    Edited by: 920251 on 12-Apr-2012 05:15

Maybe you are looking for