How to establish an Https connection from a html client

Hi! I�m totally new to Java so my question is rather"stupid". I have an html page that sends a post to a servlet
<form name="form" action="servlet/ServletLogOn" method="post">
I want to establish an https connection between the client and the servlet. How is it?
Thanks in advance.

Ignore the previous poster's reply - he was obviously mislead by my original post re: JSSE.
How you install an SSL certificate on your webserver is completely dependent on the webserver you are using. Ususally there is some functionality for doing this from the administrative interface - usually involves pasting some text from the CA's (certificate authority, e.g. Verisign) site into a text box and designating a port number for SSL traffic (use 443, it's internet standard). I've actually only done this for Netscape Enterprise Server - you may want to find a forum for users of your webserver to ask for specifics.

Similar Messages

  • How do i make http connection  from an applet to  a servlet

    i am not able to make a http connection from the applet to servlet
    my code for servlet is as follows
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class newDatabaseServlet extends HttpServlet {
    //      Connection con;
    // Statement stmt;
         public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
              resp.setContentType("text/content");
              System.out.println("megha");
              String mthd[] = req.getParameterValues("event");
              System.out.println(mthd.length);
              System.out.println(mthd);
              System.out.println(req.getQueryString());
              // System.out.println("megha");
    PrintWriter fw = new PrintWriter(new FileOutputStream(new File("e:/JRun/servers/default/default-app/mycontent.txt")));
    String s = "this text comes from servlet";
    fw.print(s);
    fw.flush();
              if(mthd[0].equalsIgnoreCase("callEditor")) {
                   openEditor(req,resp);
    public void openEditor(HttpServletRequest req, HttpServletResponse resp) {
         /* try {
              Class.forName("oracle.jdbc.driver.OracleDriver");
         con = DriverManager.getConnection("jdbc:oracle:thin:@pc6:1521:oradba","test","test");
         catch(Exception e) {
              e.printStackTrace();
              try {
                   resp.sendRedirect("/RunApp1.html");
              catch(IOException e) {
                   e.printStackTrace();
    /*try {
         Class.forName("oracle.jdbc.driver.OracleDriver");
    con = DriverManager.getConnection("jdbc:oracle:thin:@pc6:1521:oradba","test","test");
         catch(Exception e) {
         e.printStackTrace();
         resp.setContentType("text/html");
         PrintWriter output = resp.getWriter();
         try {
    stmt = con.createStatement();
    String strContent = "select * from edTable where newsid = 2";
    ResultSet rs = stmt.executeQuery(strContent);
    if(rs.next()) {
                   String newsText = rs.getString(2);
    /* StringBuffer buf = new StringBuffer();
                   buf.append("<B>servlet</B>");
                   try {
                   resp.sendRedirect("RunApp");
              catch(IOException e) {
                   e.printStackTrace();
    //               output.println(buf.toString());
    //          output.close();
    my code for applet is
    import javax.swing.*;
    import java.awt.event.*;
    import java.net.*;
    import java.io.*;
    import java.awt.*;
    import javax.swing.text.*;
    import javax.swing.text.html.*;
    public class EdApplet extends JApplet {
    public void init() {
         Container c;
         c = getContentPane();
    JPanel but = new JPanel();
    c.add(but,BorderLayout.NORTH);
    final JEditorPane je = new JEditorPane();
    JScrollPane jsp = new JScrollPane(je);
    HTMLEditorKit ht = new HTMLEditorKit();
    je.setEditorKit(ht);
    je.setEditable(true);
    HTMLDocument mdoc = (HTMLDocument)ht.createDefaultDocument();
    StyleSheet mcontext =mdoc.getStyleSheet();
    je.setDocument(mdoc);
    c.add(jsp,BorderLayout.CENTER);
    JPanel bot = new JPanel();
    c.add(bot,BorderLayout.SOUTH);
    JButton save = new JButton("save");
    but.add(save);
    String str = getInitialText();
         je.setText(str);
         String servletUrl="http://pc7:8100/servlet/newDatabaseServlet";
    try{
                   URL servletURL = new URL(servletUrl);
                   URLConnection servletConnection = servletURL.openConnection();
              servletConnection.setRequestProperty("event","saveText");
              servletConnection.setDoOutput(true);
              servletConnection.setUseCaches(false);
         catch(Exception e) {
    //          je.setText(e.printStackTrace());
         ActionListener lst = new ActionListener() {
              public void actionPerformed(ActionEvent ae) {
                   String save = je.getText();
                   saveText(save,je);
         save.addActionListener(lst);
    //je.setText("<B>this</B>");
    //URLConnection servletConnection = null;
    /* try {
              String servletUrl="http://pc7:8100/servlet/newDatabaseServlet";
              URL myUrl = new URL(servletUrl);
              servletConnection = myUrl.openConnection();
              servletConnection.setDoOutput(true);
              servletConnection.setUseCaches(false);
         /*     BufferedReader br = new BufferedReader(new InputStreamReader(servletConnection.getInputStream()));
    String t = br.readLine();
    je.setText(t);
         catch(Exception e) {
              e.printStackTrace();
    /* ActionListener lst = new ActionListener() {
              public void actionPerformed(ActionEvent ae) {
                   BufferedReader br = new BufferedReader(new InputStreamReader(servletConnection.getInputStream()));
                   String t = br.readLine();
    je.setText(t);
    click.addActionListener(lst);
    /*void String changeText(UrlConnection con) {
    BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream));
    String t = br.readLine();
    return t;
    public String getInitialText()
         //String me = null;
         URLConnection textConnection = null;
         StringBuffer sb = new StringBuffer();
         try {
                   String textUrl="http://pc7:8100/mycontent.txt";
                   URL myUrl = new URL(textUrl);
                   textConnection = myUrl.openConnection();
                   textConnection.setDoInput(true);
                   textConnection.setUseCaches(false);
                   BufferedReader br = new BufferedReader(new InputStreamReader(textConnection.getInputStream()));
                   // me = (String)servletConnection.getContent();
                   String s = null;
                   while((s = br.readLine())!=null) {
                        sb.append(s);
              catch(Exception e) {
                             e.printStackTrace();
                   return sb.toString();
         public void saveText(String saveStr,JEditorPane je) {
              //String saveStr = je.getText();
              //String servletUrl="http://pc7:8100/servlet/newDatabaseServlet?event='saveText'&newsid='2'";
              //String servletGet="http://pc7:8100/servlet/newDatabaseServlet";
              String servletUrl="http://pc7:8100/servlet/newDatabaseServlet";
              //String servletUrl = servletGet + "?"
              //     + URLEncoder.encode("event") + "="
         // + URLEncoder.encode("saveText");
    //     je.setText(servletUrl);
              try {
              URL servletURL = new URL(servletUrl);
              URLConnection servletConnection = servletURL.openConnection();
         //     servletConnection.setRequestProperty("event","saveText");
         servletConnection.setRequestProperty(
         "User-Agent","Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
              //System.out.println("from applet");
              servletConnection.setDoOutput(true);
              servletConnection.setUseCaches(false);
              //Propertiew prop = new Properties();
         //     prop.put("event","saveText");
              PrintStream out = new PrintStream(servletConnection.getOutputStream());
    out.println("event");
    out.close();
         catch(IOException e) {
              je.setText(e.toString());
    kindly tell me what is the error
    what is the best method of doing this
    thanking u in anticipation
    megha sood

    omg O_o
    We cannot debug your code, but:
    Did you try the servlet directly from your browser? Does it work?
    Best regards from Germany,
    r.v.

  • How to create a new connection from SAPGUI to Test drive?

    Hi,
    I have installed Sap Netweaver Test drive on a linux virtual machine (windows host). The installation was successful and I was able to start the instance (application server and the database), yet I don't know how to create a new connection from my SAPGUI client (7.20) to this server. The static IP address of the server is 192.168.1.160.
    I entered the following values for my new connection entry
    Description: SAP Netweaver
    Application server: 192.168.1.160
    Instance number: 01
    System ID: DB2
    SAProuter: /H/192.168.1.160/S/3201/H/
    But it does not work. Any idea about the values needed  for creating a new entry?
    Thanks in advance,
    Dariyoosh

    >
    Dibya R Das wrote:
    > Why are you entering a router string? Can't you reach a box directly from your machine?
    >
    > Doesn't a ping to that host & a "telnet <host/ip address> 3201" work from your machine to the SAP System.
    >
    > Remove the router string you wont need if the above works.
    >
    > - Regards, Dibya
    Hello there,
    Thank you very much for your answer which solved my problem. In fact there was no need of providing router string.
    Kind Regards,
    Dariyoosh

  • HTTPS connection from servlet to another webserver

    Hi,
    We want to make a https connection from a servlet in weblogic server to another
    web server (not necessarily weblogic). We also need dual authentication. But whenever
    we use URL.openConnection(), it always returns us weblogic's internal https and
    SSL implementation. Since weblogic has no documentation about how to use these
    internal classes, such as how to set trusted server certificate, and how to set
    client certificate (servlet is a client of another web server). We want to use
    jsse, after setting JSSE required system properties, I still get a weblogic's
    httpsURLConnection. Can any of you tell me how to resolve this issue?
    Thanks.
    Xinshi

    Yeah, I'm using JSSE now. Here is what I did:
    Security.addProvider(new com.sun.net.ssl.internal.ssl.Provide());
    Provider prov = new SimpleSecureProvider();
    prov.setProperty("SecureRandom.efficient", "test.EfficientSecureRandom");
    Security.insertProviderAt(prov, 1);
    You don't really need the provider stuff to get the example working. I use it
    to get around a quick in JSSE where the random number generator takes 15-30 seconds
    to generate a random sequence at start up.
    SimpleSecureProvider looks like this:
    public class SimpleSecureProvider extends Provider
    public SimpleSecureProvider()
    super("SimpleSecureProvider-", 1.0, "Hack to enable more efficient random
    seed generator");
    test.EfficientSecureRandom is bascially an exact copy of Sun's SecureRandom.java
    with the only difference that I used my own random number generator.
    Anyway, rest of the code you need looks like this:
    URL url= new URL("htps://someplace.com");
    URLConnection sconnection = url.openConnection();
    Do whatever.
    I also stored jcert.jar, jnet.jar, jsse.jar in /usr/java/jdk1.3/lib/ext
    I think that is everything.
    I just noticed that service pack 9 has a security example that does not require
    all these jsse hacks. I'm trying to get it to work, but not having much luck.
    Anybody got this working right?
    "Jayesh Patel" <[email protected]> wrote:
    See if this works,
    1. Add the 'j2ee.jar' to CALSSPATH in weblogic startup script.
    2. Set the property SSLHandlerEnabled flase in config.xml
    3. Add the following property permission to the
    weblogic.policy' file under a 'grant' directive
    for all codebases (bottom): 'permission java.security.AllPermission'
    4. Use the following bit of source code to create an https connection:
    import com.sun.net.ssl.*; ....
    com.sun.net.ssl.HttpsURLConnection connection;
    System.setProperty ("java.protocol.handler.pkgs",
    "com.sun.net.ssl.internal.www.protocol");
    java.security.Security.addProvider(new
    com.sun.net.ssl.internal.ssl.Provider() );
    URL url = new URL( "https", hostname, query );
    -Jayesh
    connection = (com.sun.net.ssl.HttpsURLConnection )url.openConnection(
    "Xinshi Sha" <[email protected]> wrote in message
    news:[email protected]...
    Hi,
    We want to make a https connection from a servlet in weblogic serverto
    another
    web server (not necessarily weblogic). We also need dual authentication.But whenever
    we use URL.openConnection(), it always returns us weblogic's internalhttps and
    SSL implementation. Since weblogic has no documentation about how
    to
    use
    these
    internal classes, such as how to set trusted server certificate, andhow
    to set
    client certificate (servlet is a client of another web server). Wewant to
    use
    jsse, after setting JSSE required system properties, I still get aweblogic's
    httpsURLConnection. Can any of you tell me how to resolve this issue?
    Thanks.
    Xinshi

  • HTTPS connection from database

    Hi all,
    I have to implement https connection from a database with a Web server which requests a client certificate. I have the certificate in the wallet, but UTL_HTTP does not send it to the Web server.
    So, is there any way to connect to a Web server which requires a client certificate?

    Could you explain how transport protocol influences certificate exchange during SSL session?

  • HTTPS connection from portal to external webserver

    Hi,
    I am looking for a way to open a HTTPS connection from portal server to an external webserver. According to <a href="http://help.sap.com/saphelp_nw04/helpdata/en/e2/71c83edf72e16be10000000a114084/content.htm">SAP</a> the code should look like
    KeyStore keystoreCAs = ...
    SecureConnectionFactory factory = new SecureConnectionFactory(keystoreCAs, null);
    HttpURLConnection con = factory.createURLConnection("https://www.mycompany.com");
    Does not look difficult, <b>but how do I create the keystore object</b>? The keystore object should somehow be connected to the portal server's keystore which manages the certificates of trusted Certificate Authorities.
    Any ideas?
    Regards,
    Martin

    Hi,
    meanwhile I solved the problem by my own. The solution slightly simplified is given below.
    javax.naming.InitialContext ctx = new javax.naming.InitialContext();
    java.lang.Object o = ctx.lookup("keystore");          
    com.sap.engine.services.keystore.interfaces.KeystoreManagerWrapper_Stub manager = (com.sap.engine.services.keystore.interfaces.KeystoreManagerWrapper_Stub) o;
    java.security.KeyStore keystoreCAs = manager.getKeystore("TrustedCAs");     
    com.sap.security.core.server.https.SecureConnectionFactory factory = new SecureConnectionFactory(keystoreCAs, null);
    java.net.HttpURLConnection con = factory.createURLConnection("https://www.mycompany.com");
    For connecting via a proxy the host name and port number of the proxy have to be set as System properties using "https.proxyHost" and "https.proxyPort".
    java.util.Properties systemSettings = System.getProperties();
              systemSettings.put("proxySet", "true");
              systemSettings.put("https.proxyHost","192.168.0.1") ;
              systemSettings.put("https.proxyPort", "80") ;
    Additionally you have to make sure that the server's certificate is issued by a trusted Certification Authority (Must have an entry in your Keystore "TrustedCAs"). To verify this use the Visual Administrator and view service "Key Storage".
    Regards,
    Martin

  • Opening an https connection from within a Servlet.

    I am having problems trying to establish an HTTPS connection to a servlet from within a different servlet.
    I get the java.net.MalformedURLException: unknown protocol: https. SSL is setup for the web server. Direct connections from the browser to a servlet work fine with SSL, but a connection from one servlet to another servlet fails. I'm stumped. Is there a separate SSL install/configuration required for the servlet engine? Could anyone explain?

    When you set up SSL enabled web server, you should be getting a trust cert file that knows the hand shake protocol to talk to that server. Once you have that file, you can load that file from that servlet using System.load and then you would be able to talk to anything that runs on that SSL enabled Web server.
    Also you must have JSSE jar files installed in your system .
    Check out this url:
    http://java.sun.com/products/jsse/INSTALL.html
    Let me know if you still have problems

  • How to transfer the http request from applet to servlet/jsp

    I use the JTree component to create a navigation of a website,but i don't
    know how to connect the tree's nodes with the jsp/servlet.
    I mean how to transfer the http request from the applet to a jsp.
    I use the "<frameset>" mark which will divide the web browse into 2 blocks.
    The left side is Applet,and the right side is the linked jsp page.
    what I say is as the weblogic console layout.
    who can help me!!!
    Thank You!

    I use the JTree component to create a navigation of a website,but i don't
    know how to connect the tree's nodes with the jsp/servlet.
    I mean how to transfer the http request from the applet to a jsp.
    I use the "<frameset>" mark which will divide the web browse into 2 blocks.
    The left side is Applet,and the right side is the linked jsp page.
    what I say is as the weblogic console layout.
    who can help me!!!
    Thank You!

  • How to establish the ODBC connectivity for Hyperion Brio

    Hi Every One,
    Please some one let me know how to establish the ODBC connectivity for Hyperion Brio/ interactive reporting studio.?
    Thanks & Regards,
    Raj

    check out the manual
    http://download.oracle.com/docs/cd/E10530_01/doc/epm.931/ir_user.pdf
    chapter 15
    Edited by: [email protected] on Feb 9, 2010 7:00 AM

  • Https Connection from servlets using JSSE.

    Hi all,
    Although my question is the same as the QOW for this week, there is an error "unsupported keyword EMAIL" returned when i try to establish a https connection using servlet. The error log is as follow:
    =====================================
    java.io.IOException: unsupported keyword EMAIL
    at com.sun.net.ssl.internal.ssl.AVA.<init>([DashoPro-V1.2-120198])
    at com.sun.net.ssl.internal.ssl.RDN.<init>([DashoPro-V1.2-120198])
    at com.sun.net.ssl.internal.ssl.X500Name.a([DashoPro-V1.2-120198])
    at com.sun.net.ssl.internal.ssl.X500Name.<init>([DashoPro-V1.2-120198])
    at com.sun.net.ssl.internal.www.protocol.https.HttpsClient.a([DashoPro-V1.2-120198])
    at com.sun.net.ssl.internal.www.protocol.https.HttpsClient.a([DashoPro-V1.2-120198])
    at com.sun.net.ssl.internal.www.protocol.https.HttpsClient.a([DashoPro-V1.2-120198])
    at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnection.connect([DashoPro-V1.2-120198])
    at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnection.getInputStream([DashoPro-V1.2-120198])
    at URLReader.doGet(URLReader.java:78)
    ===================================
    Does anyone know the meaning of this error?
    I try to write a java application using the similar code and it totally works fine(i can connect to the server and obtain the page). Does JSSE support Java Servlet? Or this is the problem of tomcat server? FYI, I'm using
    Tomcat 3.2.2
    Java SDK 1.3
    Many thanks!
    Ethan
    p.s. Here is the source for my program
    import java.io.*;
    import java.net.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.net.*;
    import javax.net.ssl.*;
    import com.sun.net.ssl.*;
    public class URLReader extends HttpServlet{
    private PrintWriter out = null;
    public void doGet(HttpServletRequest req, HttpServletResponse res){
    res.setContentType("text/html");
    res.setHeader("Cache-Control", "no-cache");
    res.setHeader("Progma", "no-cache");
    out = res.getWriter();
    java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
    System.setProperty("javax.net.ssl.trustStore", "File_for_keyStore");
    System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
    try {
         URL url = new URL("https://server_name:port/index.htm");
         HttpsURLConnection urlconnection = (HttpsURLConnection)url.openConnection();
         BufferedReader in = new BufferedReader(new InputStreamReader(urlconnection.getInputStream()));
         String outputLine ;
         while ( (outputLine = in.readLine()) != null){
         out.println("There is the result: "+outputLine);
         in.close();
    catch(Exception e){
    public void doPost(HttpServletRequest req, HttpServletResponse res){
    }

    I was just having this issue, after months of error-free ssl behavior, on a new machine i was installing (Note: that I was running the IBM jdk1.3) It turns out that when I was editing the java.security file to know about JCE/JSSE providers i had the providers in the wrong order. The Error causing sequence was:
    security.provider.1=com.sun.net.ssl.internal.ssl.Provider
    security.provider.2=com.ibm.crypto.provider.IBMJCA
    # Extra provider added ibm@33894
    security.provider.3=com.ibm.crypto.provider.IBMJCE
    # extra provider i added
    security.provider.4=sun.security.provider.Sun
    The issue disappeared when i changed the order to:
    security.provider.1=sun.security.provider.Sun
    security.provider.2=com.sun.net.ssl.internal.ssl.Provider
    security.provider.3=com.ibm.crypto.provider.IBMJCA
    # Extra provider added ibm@33894
    security.provider.4=com.ibm.crypto.provider.IBMJCE
    hope that helps!
    --john molnar
    Trellis Network Security

  • How do I pass input values from a html page to a jsf page

    hi,
    In my project,for front view we have used html pages.how can I get input values from that html page into my jsf page.for back end purpose we have used EJB3.0
    how can I write jsf managed bean for accessing these entities.we have used session facade design pattern and the IDE is netbeans5.5.
    pls,help me,very urgent
    thanx in advance

    Simplest way is to rewrite html page into jsf page.
    You can use session bean in your managed bean like this:
    import javax.naming.Context;
    import javax.naming.InitialContext;
    public class ManagedBean {
    private Context  ctx;
    private Object res;
    // session bean interface
    private Service service;
              public ManagedBean() {
                try{
                     ctx = new InitialContext();
                     res = ctx.lookup("Service");
                     service = (Service) res;
               catch(Exeption e){
    }Message was edited by:
    m00dy

  • HTTPs connection from SAP WebAS

    Hello,
    I have to establish a connection from SAP WebAS to an iSaSiLk server via HTTPS.
    The iSaSiLk authentication is based on client certificates.
    I've created a SSL client PSE, generated the Certificate Request, imported the certificate response and the chain of certificates associated  with no errors. When testing the connection we're getting the following error message:
    SAP icm log:
    [Thr 1087400256] ->> SapSSLSessionInit(&sssl_hdl=0x2aaaba679980, role=1 (CLIENT), auth_type=3 (USE_CLIENT_CERT))
    [Thr 1087400256] <<- SapSSLSessionInit()==SAP_O_K
    [Thr 1087400256]      in: args = "role=1 (CLIENT), auth_type=3 (USE_CLIENT_CERT)"
    [Thr 1087400256]     out: sssl_hdl = 0x1a3310c0
    [Thr 1087400256] ->> SapSSLSetNiHdl(sssl_hdl=0x1a3310c0, ni_hdl=22)
    [Thr 1087400256] NiIBlockMode: set blockmode for hdl 22 TRUE
    [Thr 1087400256] <<- SapSSLSetNiHdl(sssl_hdl=0x1a3310c0, ni_hdl=22)==SAP_O_K
    [Thr 1087400256] ->> SapSSLSetSessionCredential(sssl_hdl=0x1a3310c0, &cred_name=0x1a49e4e0)
    [Thr 1087400256]   SapISSLComposeFilename(): Filename = "/usr/sap/XID/DVEBMGS00/sec/SAPSSLSPHTID.pse"
    [Thr 1087400256] <<- SapSSLSetSessionCredential(sssl_hdl=0x1a3310c0)==SAP_O_K
    [Thr 1087400256]      in: cred_name = "/usr/sap/XID/DVEBMGS00/sec/SAPSSLSPHTID.pse"
    [Thr 1087400256] ->> SapSSLSetTargetHostname(sssl_hdl=0x1a3310c0, &hostname=0x1a4a09e0)
    [Thr 1087400256] <<- SapSSLSetTargetHostname(sssl_hdl=0x1a3310c0)==SAP_O_K
    [Thr 1087400256]      in: hostname = "<remoteServer_to_be_accessed>"
    [Thr 1087400256] ->> SapSSLSessionStart(sssl_hdl=0x1a3310c0)
    [Thr 1087400256]   SapISSLUseSessionCache(): Creating NEW session (0 cached)
    [Thr 1087400256] Tue Jan 13 10:10:22 2009
    *[Thr 1087400256] *** ERROR during SecudeSSL_SessionStart() from SSL_connect()==SSL_ERROR_SSL*
    [Thr 1087400256]    session uses PSE file "/usr/sap/XID/DVEBMGS00/sec/SAPSSLSPHTID.pse"
    [Thr 1087400256] SecudeSSL_SessionStart: SSL_connect() failed
      secude_error 536871693 (0x2000030d) = "none of the PSEs registered with hSsl can suffice the negotiated SSL cipher suite"
    [Thr 1087400256] >>            Begin of Secude-SSL Errorstack            >>
    [Thr 1087400256] ERROR in ssl3_get_certificate_request: (536871693/0x2000030d) none of the PSEs registered with hSsl can suffice
    [Thr 1087400256] <<            End of Secude-SSL Errorstack
    [Thr 1087400256]   SSL_get_state() returned 0x00002150 "SSLv3 read server certificate request A"
    [Thr 1087400256]   No certificate request received from Server
    [Thr 1087400256] <<- ERROR: SapSSLSessionStart(sssl_hdl=0x1a3310c0)==SSSLERR_SSL_CONNECT
    [Thr 1087400256] ->> SapSSLErrorName(rc=-57)
    [Thr 1087400256] <<- SapSSLErrorName()==SSSLERR_SSL_CONNECT
    [Thr 1087400256] *** ERROR => IcmConnInitClientSSL: SapSSLSessionStart failed (-57): SSSLERR_SSL_CONNECT [icxxconn_mt
    On the iSaSiLk server we're getting:
    ssl_debug(2): Starting handshake (iSaSiLk 3.06)...
    ssl_debug(2): Received v3 client_hello handshake message.
    ssl_debug(2): Client requested SSL version 3.0, selecting version 3.0.
    ssl_debug(2): Creating new session 11:5F:04:C9:0D:32:15:B9...
    ssl_debug(2): CipherSuites supported by the client:
    ssl_debug(2): SSL_RSA_WITH_RC4_128_SHA
    ssl_debug(2): SSL_RSA_WITH_RC4_128_MD5
    ssl_debug(2): SSL_RSA_WITH_3DES_EDE_CBC_SHA
    ssl_debug(2): SSL_RSA_WITH_DES_CBC_SHA
    ssl_debug(2): SSL_RSA_EXPORT_WITH_DES40_CBC_SHA
    ssl_debug(2): SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5
    ssl_debug(2): SSL_RSA_EXPORT_WITH_RC4_40_MD5
    ssl_debug(2): CompressionMethods supported by the client:
    ssl_debug(2): NULL
    ssl_debug(2): Sending server_hello handshake message.
    ssl_debug(2): Selecting CipherSuite: SSL_RSA_WITH_RC4_128_SHA
    ssl_debug(2): Selecting CompressionMethod: NULL
    ssl_debug(2): Sending certificate handshake message with server certificate...
    ssl_debug(2): Sending certificate_request handshake message...
    ssl_debug(2): Sending server_hello_done handshake message...
    ssl_debug(2): IOException while handshaking: Connection closed by remote host.
    ssl_debug(2): Sending alert: Alert Fatal: handshake failure
    ssl_debug(2): Shutting down SSL layer...
    ssl_debug(2): Closing transport...
    From the iSaSiLk everything seems to be OK, but on the SAP WebAS the error "none of the PSEs registered with hSsl can suffice the negotiated SSL cipher suite" is really unclear, since the cipher chosen by the iSaSiLk is one of the ciphers sent by SAP WebAS...
    Can anyone give me any suggestion?

    Hello Olivier,
    Thanks for your answer.
    I've implemented note 800240 which facilitates the PSE analysis by implementing the report ZSSF_TEST_PSE. With this report I'm able to check all the PSE content, which are:
    Filename            SAPSSLSPHTID.pse
    PIN                 <no>
    Signature           X
    Encryption          X
    Profile Parameter
    DIR_INSTANCE                   /usr/sap/XID/DVEBMGS00                       /usr/sap/XID/D00
    sec/dsakeylengthdefault                                                     1024
    sec/libsapsecu                 /usr/sap/XID/SYS/exe/run/libsapcrypto.so
    sec/rsakeylengthdefault                                                     1024
    ssf/name                       SAPSECULIB
    ssf/ssf_md_alg                                                              SHA1
    ssf/ssf_symencr_alg                                                         DES-CBC
    ssf/ssfapi_lib                 /usr/sap/XID/SYS/exe/run/libsapcrypto.so
    ssf2/name
    ssf2/ssf_md_alg                                                             SHA1
    ssf2/ssf_symencr_alg                                                        DES-CBC
    ssf2/ssfapi_lib
    ssf3/name
    ssf3/ssf_md_alg                                                             SHA1
    ssf3/ssf_symencr_alg                                                        DES-CBC
    ssf3/ssfapi_lib
    Environment variables
    USER                xidadm
    SECUDIR             /usr/sap/XID/DVEBMGS00/sec
    PSE
    Validity            18.12.2008 19:47:04   18.12.2009 19:47:04
    Algorithm           RSA (OID 1.2.840.113549.1.1.1)
    Test signature
    Signature OK
    Verification OK
    Test encryption
    Encryption OK
    Decryption OK
    As you can see, the cipher algorithm used is RSA. Any suggestion... ?
    An iSaSiLk server "is a Java programming language implementation of the SSLv2 (client-side), SSLv3, TLS 1.0 and TLS 1.1 protocols. It supports all defined cipher suites (except for Fortezza), including all AES and PSK cipher suites. iSaSiLk implements all standard TLS extensions, comes with an easy to use API and operates on top of the IAIK-JCE Javau2122 Cryptography Extension. iSaSiLk is highly configurable and will work with any alternative JCE implementation supported by a proper provider for supplying the required cryptographic algorithms".
    Once again thanks for your answer.

  • HTTPS connection from emulator

    Hello friends,
    I want to send https request from emulator from my application..
    when I am trying to send HTTPS request from emulator(wtk22's default emulator) it gives error
    javax.microedition.io.ConnectionNotFoundException: TCP open
         at com.sun.midp.io.j2me.socket.Protocol.connect(+99)
         at com.sun.midp.io.ConnectionBaseAdapter.openPrim(+52)
         at com.sun.midp.io.j2me.socket.Protocol.openPrim(+108)
         at com.sun.midp.io.ConnectionBaseAdapter.openPrim(+14)
         at com.sun.midp.io.ConnectionBaseAdapter.openPrim(+8)
         at com.sun.midp.io.j2me.https.Protocol.connect(+167)
         at com.sun.kvem.io.j2me.https.Protocol.connect(+4)
         at com.sun.midp.io.j2me.http.Protocol.streamConnect(+57)
         at com.sun.kvem.io.j2me.https.Protocol.streamConnect(+4)
         at com.sun.midp.io.j2me.http.Protocol.startRequest(+12)
         at com.sun.midp.io.j2me.http.Protocol.sendRequest(+38)
         at com.sun.midp.io.j2me.http.Protocol.sendRequest(+6)
         at com.sun.midp.io.j2me.http.Protocol.getResponseCode(+8)
         at bd.a(+97)
         at cj.run(+155)
    XML Response: null
    * Application is working fine on device/Mobile.......i.e.from mobile i can send https request successfully ...*
    so wts the problem with emulator...can anybody help me?
    Thanks in advance
    Regards,
    Parag

    Could you explain how transport protocol influences certificate exchange during SSL session?

  • How to establish an Oracle connection between server1 and server2

    I am trying to establish an Oracle connection between server1 and server2 specifically, while logged into server2 launch OEM on server1. Can anyone help me out here on establishing this connections between the 2 servers. thank you inadvance

    I am assuming this is 10g.
    Same way you connect from your desktop to the server using the URL (e.g http://server1:1158/em).
    But you have to ensure that server2 can see server1. They cannot see each other, then it is not OEM problem.
    if it is not 10g, then let me know

  • Problem establishing a https connection

    Hi,
    I have the following problem in establishing a connection to a secured webserver.
    I tried to establish a connection to a secured web server from a application running in weblogic. I used the weblogic specific APIs, created a weblogic.net.http.HttpsURLConnection. I set the connection properties like setSocketFactory and used NulledTrustManager and NulledHostNameVerifier.
    I then tried to get a DataOutputStream so tht i can write my xml string to tht connection, nothing really is happening. When i tried to print the headervariables it is not printing any..... I am doubtful if the connection is established....
    i will attach my code....plz tell me if i am missing something out....
    The same code works when i use Java APIs....they are included in the code as comments....
    Actually i have a jsp file in the secure server which takes this string and sends mail to the required recipients.....
    Plz help.....Thanks in Advance for all the helping minds...
    In the code, the trustallcerts and hostnameverifier are classes written similar to nulledtrustmanager and nulledhostnameverifier.... ie it certifies everything and trusts everything.
    /* Code Snippet */
    import java.io.*;
    import java.util.Properties;
    import java.net.*;
    import weblogic.security.SSL.*;
    import weblogic.net.http.HttpsURLConnection;
    public class EmailClientW
         String XMLMessage;
         byte[] XMLMessageBytes;
         String strURL= "some https url";
         public EmailClientW(){}
         public EmailClientW( String str )
              XMLMessage = str;
              XMLMessageBytes = XMLMessage.getBytes();
         public void HttpsConnect()
              try{
                   // Create the socket connection and open it to the secure remote web server
                   // Used in case of Java API
                   //System.setProperty("javax.net.ssl.trustStore", "C://bea/jdk141_03//jre//lib//security//cacerts");
                   weblogic.security.SSL.SSLContext sc = weblogic.security.SSL.SSLContext.getInstance("SSL");
                   //Used in case of Java API
                   //sc.init(null, trustAllCerts, new java.security.SecureRandom());
                   TrustManagerJSSE tManager = new TrustAllcerts();
                   sc.setTrustManagerJSSE(tManager);
                   //sc.loadLocalIdentity(certs, privateKey);
                   sc.setHostnameVerifierJSSE(new HostNameVerifier());
                   //Used in case of Java API
                   //javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
                   URL url = new URL(strURL);
                   weblogic.net.http.HttpsURLConnection connection = new weblogic.net.http.HttpsURLConnection(url);
                   connection.setSSLSocketFactory(sc.getSocketFactoryJSSE());
                   connection.setHostnameVerifierJSSE(new HostNameVerifier());
                   System.out.println("CLASS " + connection.getClass().getName());
                   connection.setDoOutput(true);
                   connection.setDoInput(true);
                   connection.setRequestProperty("Connection", "Keep-Alive");
                   connection.setRequestMethod("POST");
                   connection.setRequestProperty("Content-Type","text/html");
                   connection.setInstanceFollowRedirects(false);
                   connection.setAllowUserInteraction(false);
                   connection.setHostnameVerifierJSSE(new HostNameVerifier());
                   //This doesnt print anything.
                   System.out.println("getOutputStream :"+connection.getHeaderFields());
                   DataOutputStream dos = new DataOutputStream(connection.getOutputStream());
                   dos.write(XMLMessageBytes, 0, XMLMessageBytes.length);
                   dos.flush();
                   dos.close();
              }catch (java.net.MalformedURLException mue){
                   System.err.println("\n" + "URL is not exist or protocol does not exist or there is a typo in the submitted URL" + "\n");
              }catch (java.net.UnknownHostException uhe){
                   System.err.println("\n" + "Remote server does not exist in DNS." + "\n");
              }catch (java.io.IOException ioe){
                   System.err.println("\n" + "I/O Exception in the connection try again or contact developer." + "\n");
                   ioe.printStackTrace();
              }catch (Exception exp){
                   System.err.println("\n" + "Exception in the connection try again or contact developer." + "\n");
                   exp.printStackTrace();
         public static void main(String args[]) throws Exception
              new EmailClientW().HttpsConnect();
    }

    Thx for the prompt reply....But this is not solving my problem.
    I am trying to establish the connection from inside a weblogic container. So i am forced to use weblogic APIs.
    Also i use NulledTrustManager and NulledHostNameVerifier so i think i neednot worry about the certificates...
    Weblogic APIs donot contain init method for sslcontext....So if u can see the code, i have commented these lines and set these properties using the Weblogic supported APIs.
    Also the method which u specified (Using Java APIs) was working for me....problem arose when i tried to use weblogic specific APIs.
    Can u go through the code once and tell me if i am missing something over there? Coz header is not getting populated, the request is not hitting the secure server
    One more thing, if i use the HostNameVerifier(dummy one to verify all the hosts), it tells me tht the key chain obtained from the host is incomplete.... and throws javax.net.ssl.SSLKeyException...
    If i remover hostnameverifier, the exception is not thrown, but the request is not hitting the server...
    Plz help me ... i am helplessly stuck in this situation...
    Thx in advance for all the helping minds.....

Maybe you are looking for

  • PO 'No goods receipt possible for purchase order'

    Hi gurus! While trying to make Confirmation of a PO in the SRM Portal the user is getting the error 'No goods receipt possible for purchase order' The scenario used is Classic, so PO is replicated directly to the R/3 system. Any idea why this is happ

  • Database access error: Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

    Hi All, I am using oracle 11g client library on Linux 64bit machine and trying to connect to oracle database using jdbc thin driver. The url format what I am trying to use is: jdbc:oracle:thin:@IP address:port:service_name When service_name = orcl :

  • Weblogic server's bug

              see my code:           package testpath;           import javax.servlet.*;           import javax.servlet.http.*;           import java.io.*;           import java.util.*;           import java.net.*;           public class Servlet1 extends

  • Found error in Music-Store Title Text. Who can I report that?

    Hi! I found an error in the text of a title in the iTunes Music-Store (not the audio-file but the text). I would like to inform the Music-Store people about that, so they can fix it. But all the support pages assume I have a problem Does anybody know

  • Just invoices that have not been credited

    Is there a view or query around that will just return invoices that have not been credited? I know that transactions can be reversed and an entry is made int the credited field such as: SELECT rct.trx_number invoice_number, pdi.draft_invoice_num, pdi