Compression of RMI-over-HTTP/T3? Howto?

Hello *,
we have a Swing-based fat client talking to EJBs on the server.
We'd like to compress the RMI-over-HTTP stream between client and server. Can this be enabled out of the box (WLS 8.1) or can you recommend some tools to use?
Any pointer appreciated.
M.

I dont think this can be done OOTB. You may have to use java.util.jar package to compress the data , and send it over the http and decompress it at the other end. If this is important for you, you should file an enhancement request with support@bea

Similar Messages

  • What are the limitations of using RMI over http with EJB?

    We have a requirement for an intranet application where the majority of the clients
    (Swing clients) will be able to connect directly using either T3 or IIOP. However,
    there are a number of clients that will need to traverse a firewall.
    We could use SOAP, but I dont want to lose the value that RMI gives us (clustering,
    security, statefullness support etc). I am thinking of using RMI over http - which
    Weblogic supports.
    I have been trying to find some documentation on the topic - but havent succeded
    so far. What I would like to understand is: What limitations I would have using
    RMI over http. Do I lose anything (apart from performance) using http?
    Regards,
    Nick

    You will have to enable tunneling on the server side and I have not heard of any
    complaints of using it.
    Shiva.
    Nick Minutello wrote:
    In fact, we are not using applets - and its not an internet application. We are
    using Java Webstart and Swing on our intranet (the problem of the size of the
    weblogic.jar is a pain - but well known)
    The question for me is; Apart from performance, are there any limitations to using
    RMI over http?
    Can we also use JMS over http?
    -Nick
    Shiva Paranandi <[email protected]> wrote:
    "Old wine new bottle".
    The biggest problem with the approach of Applets like
    stuff connecting to weblogic is the size of the classes that need to
    be supplied to the
    users. The applets/swing would need a lot of weblogic classes which you
    need to
    supply as jar file. This file can be in the order of MBs depending on
    the
    weblogic version. we had a similar kind of problem and migrated the applets
    to use
    servlets instead of directly invoking ejbs or jms topics etc. Having
    the applets
    connect
    to servlets you would still benefit from the features of clustering etc.
    and added to
    that
    you would reduce the number of remote calls.
    Shiva.
    Nick Minutello wrote:
    We have a requirement for an intranet application where the majorityof the clients
    (Swing clients) will be able to connect directly using either T3 orIIOP. However,
    there are a number of clients that will need to traverse a firewall.
    We could use SOAP, but I dont want to lose the value that RMI givesus (clustering,
    security, statefullness support etc). I am thinking of using RMI overhttp - which
    Weblogic supports.
    I have been trying to find some documentation on the topic - but haventsucceded
    so far. What I would like to understand is: What limitations I wouldhave using
    RMI over http. Do I lose anything (apart from performance) using http?
    Regards,
    Nick

  • RMI over HTTP

    Hi, I'm new to this forum and fairly new to Java. I'm trying to run RMI from an applet, it works fine on the LAN but has problems externally due to firewalls. I'm now trying to set up RMI over HTTP to negate this problem but cannot find the Java-RMI.CGI script anywhere. I'm using J2SDK1.4.0, if anyone knows where to get this and how to configure it for IIS5 I would be most gratefull.

    The following is an example of java-rmi.cgi in Unix
    #!/bin/sh
    # This file handles rmi requests to download RMI code
    # The work is done by the class:
    #      sun.rmi.transport.proxy.CGIHandler
    # This class supports a QUERY_STRING of the form
    # "forward=<port>" with a REQUEST_METHOD of "POST"
    # The body of the request will be forwarded to the server (
    # as aPOST request) to the port given in the URL. The response
    # will be returned to the orginal requester.
    # Set the path to include the location of the jdk to run
    PATH=/opt/java/bin:$PATH
    java   \
       -DAUTH_TYPE=$AUTH_TYPE \
       -DCONTENT_LENGTH=$CONTENT_LENGTH \
       -DCONTENT_TYPE=$CONTENT_TYPE \
       -DDOCUMENT_ROOT=$DOCUMENT_ROOT \
       -DGATEWAY_INTERFACE=$GATEWAY_INTERFACE \
       -DHTTP_ACCEPT="$HTTP_ACCEPT" \
       -DHTTP_CONNECTION=$HTTP_CONNECTION \
       -DHTTP_HOST=$HTTP_HOST \
       -DHTTP_USER_AGENT="$HTTP_USER_AGENT" \
       -DPATH_INFO=$PATH_INFO \
       -DPATH_TRANSLATED=$PATH_TRANSLATED \
       -DQUERY_STRING=$QUERY_STRING \
       -DREMOTE_ADDR=$REMOTE_ADDR \
       -DREMOTE_HOST=$REMOTE_HOST \
       -DREMOTE_IDENT=$REMOTE_IDENT \
       -DREMOTE_USER=$REMOTE_USER \
       -DREQUEST_METHOD=$REQUEST_METHOD \
       -DSCRIPT_NAME=$SCRIPT_NAME \
       -DSERVER_NAME=$SERVER_NAME \
       -DSERVER_PORT=$SERVER_PORT \
       -DSERVER_PROTOCOL=$SERVER_PROTOCOL \
       -DSERVER_SOFTWARE=$SERVER_SOFTWARE \
       sun.rmi.transport.proxy.CGIHandler

  • RMI over HTTP: configuration

    Hi,
    I have a very basic RMI server that needs to be accesed from outside our network. There is a firewall that controls the access to the network. RMI server does not use any kind of callbacks or any other strange stuff.
    What do I need to configure in order to make it work?
    Thanks in advance
    Jorge Ortiz Claver

    No I'm not using it through a firewall -- which is what rmi-over-http is touted for. Http works in the 10.1.3 standalone preview, but there seems to be a new httpS authentication mechanism. I think it was using Oracle's wallet or something.
    received a nice little exception when reading the server keystore (created/self-signed w/ java keytool)
    oracle.oc4j.security.ExchangingEncryptor$EncryptionException
         at oracle.oc4j.security.ExchangingEncryptor.getDecryptedValue(ExchangingEncryptor.java:84)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) - Developer Preview 4].server.rmi.TunnelledRmiServlet.readKeyExchangeCredentials(TunnelledRmiServlet.java:115)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) - Developer Preview 4].server.rmi.TunnelledRmiServlet.authenticate(TunnelledRmiServlet.java:100)
    Caused by: javax.crypto.BadPaddingException: Given final block not properly padded
         at com.sun.crypto.provider.SunJCE_h.b(DashoA12275)
         at com.sun.crypto.provider.SunJCE_h.b(DashoA12275)
         at com.sun.crypto.provider.DESCipher.engineDoFinal(DashoA12275)
         at javax.crypto.Cipher.doFinal(DashoA12275)
         at oracle.oc4j.security.ExchangingEncryptor.getDecryptedValue(ExchangingEncryptor.java:70)
         ... 20 more

  • Simple RMI over HTTP in MIDP1.0 - open source project

    Hi All,
    For anyone interested in doing remote method calls (over HTTP) to a server from a MIDP 1.0 MIDlet there is an open source project now available for this. Please see MeRMI (Micro Edition RMI) at:
    http://mermi.dev.java.net
    You can use this to create a remote server class, much like you would in RMI. MeRMI then generates classes to do the remote communications for you. So you can just make nice, simple Java calls from your MIDlet, without having to worry about how the calls are passed to the server, etc. It's all pretty easy to use (especially if you have used RMI before) and takes a lot of the hard work out of building network applications.
    The toolkit is completely free (LGPL) and open source, you can use the code and do what you want with it.
    Hope it comes in useful to someone!
    zonski.
    Note: MeRMI does not support callbacks, but an event mechanism using blocking, polling requests can be used to create server to client messaging.

    It sounds interesting. It is only for MIDP 1.0?, what about MIDP 2.0?

  • RMI over HTTP Tunneling [Help needed Urgent]

    Hi Friends,
    This is a old topic in the forum, but I am learning RMI now, So for me it is a still new topic.
    Can anyone in the forum please send me the working code apart from sun implementation code. I stuck with the java-rmi.cgi file while executing, even though all other *.pl and *.cgi files are executing.
    Please help me.
    Thanks in advance,
    Harish

    See http://www.geocities.com/dmh2000/ApacheTomcatRMI.htm.

  • IIOP over HTTP?

    Does anybody know or has a sample how to use RMI over HTTP or do you know a good source on that, not even hoping to find a tutorial or book about that :-) ?

    If you are looking for RMI over IIOP, try http://www.ibm.com/java/jdk/rmi-iiop/
    Frank
    null

  • Is it possible to call API over http(not on ssl) from inside a secure page which is on HTTPS

    Hi Guys
    We are running a httplistner on localhost exposing http based end point. can we call this url from a website which is exposed over https when it opens from the same machine.
    Note: the site is being opened in browser is using HTTPS and is on SSL.
    if possible can some one please help.
    regards
    Mukesh V

    hjuarez wrote:
    Please re-read my first post. I think it is clear.I disagree.
    I want to import a dll It is not clear if you are aware that .dll files are a windows thing.
    but I have to run the java code on a solaris box
    in order to use its methods in java, It is not clear if you are aware using .dll files in a Solaris environment has nothing to do with Java.
    My question was if there is a solution -or not- that faces this kind of issues.It is not clear if you are talking about Sun Solaris or x86 Solaris.
    I don't know if it makes any difference, but it might.
    Maybe your question is: why this guy wants to do something like this?No. I am not concerned with that.
    Just trying to help you ask the right questions.
    And maybe you will find the answers yourself once you have the right questions.
    I'm integrating some biometric solutions on Sun Access Manager. But the biometrics vendor only provides windows ocx's and DLL's. And Access Manager is running in a Solaris box.
    I want to know if I can do something by myself or just tell the biometrics vendor that they must provide a Java solution.
    I have been trying to find something on the web, but I asked this forum because maybe someone has tried to do something similar.The suggestion by jschell is probably your most promising option.
    Integrating the .dll files with Java on a Windows box
    and communicating between Access Manager / Java on the Solaris box and your Java code on the Windows box
    (possibly using RMI).

  • [solved] Owncloud over SSL: http works, but over https only apache

    Hello,
    I try to setup owncloud with SSL.
    Accessing over http works, but over https, I reach the default apache page instead of the owncloud page.
    (I set up SSL according to https://wiki.archlinux.org/index.php/LAMP#SSL )
    How could I make the owncloud site available over https?
    relevant files:
    owncloud.conf:
    <IfModule mod_alias.c>
    Alias /owncloud /usr/share/webapps/owncloud/
    </IfModule>
    <Directory /usr/share/webapps/owncloud/>
    Options FollowSymlinks
    Require all granted
    php_admin_value open_basedir "/srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/owncloud/:/etc/webapps/owncloud/:/mt/daten/owncloud/"
    </Directory>
    <VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /usr/share/webapps/owncloud
    ServerName http://example.com/owncloud
    </VirtualHost>
    I tried to change 80 to 443, but then, systemctl restart httpd didn't work. (apache failed)
    httpd.conf:
    # This is the main Apache HTTP server configuration file. It contains the
    # configuration directives that give the server its instructions.
    # See <URL:http://httpd.apache.org/docs/2.4/> for detailed information.
    # In particular, see
    # <URL:http://httpd.apache.org/docs/2.4/mod/directives.html>
    # for a discussion of each configuration directive.
    # Do NOT simply read the instructions in here without understanding
    # what they do. They're here only as hints or reminders. If you are unsure
    # consult the online docs. You have been warned.
    # Configuration and logfile names: If the filenames you specify for many
    # of the server's control files begin with "/" (or "drive:/" for Win32), the
    # server will use that explicit path. If the filenames do *not* begin
    # with "/", the value of ServerRoot is prepended -- so "logs/access_log"
    # with ServerRoot set to "/usr/local/apache2" will be interpreted by the
    # server as "/usr/local/apache2/logs/access_log", whereas "/logs/access_log"
    # will be interpreted as '/logs/access_log'.
    # ServerRoot: The top of the directory tree under which the server's
    # configuration, error, and log files are kept.
    # Do not add a slash at the end of the directory path. If you point
    # ServerRoot at a non-local disk, be sure to specify a local disk on the
    # Mutex directive, if file-based mutexes are used. If you wish to share the
    # same ServerRoot for multiple httpd daemons, you will need to change at
    # least PidFile.
    ServerRoot "/etc/httpd"
    # Mutex: Allows you to set the mutex mechanism and mutex file directory
    # for individual mutexes, or change the global defaults
    # Uncomment and change the directory if mutexes are file-based and the default
    # mutex file directory is not on a local disk or is not appropriate for some
    # other reason.
    # Mutex default:/run/httpd
    # Listen: Allows you to bind Apache to specific IP addresses and/or
    # ports, instead of the default. See also the <VirtualHost>
    # directive.
    # Change this to Listen on specific IP addresses as shown below to
    # prevent Apache from glomming onto all bound IP addresses.
    #Listen 12.34.56.78:80
    Listen 80
    <IfModule mod_ssl.c>
    Listen 443
    </IfModule>
    # Dynamic Shared Object (DSO) Support
    # To be able to use the functionality of a module which was built as a DSO you
    # have to place corresponding `LoadModule' lines at this location so the
    # directives contained in it are actually available _before_ they are used.
    # Statically compiled modules (those listed by `httpd -l') do not need
    # to be loaded here.
    # Example:
    # LoadModule foo_module modules/mod_foo.so
    LoadModule authn_file_module modules/mod_authn_file.so
    #LoadModule authn_dbm_module modules/mod_authn_dbm.so
    #LoadModule authn_anon_module modules/mod_authn_anon.so
    #LoadModule authn_dbd_module modules/mod_authn_dbd.so
    #LoadModule authn_socache_module modules/mod_authn_socache.so
    LoadModule authn_core_module modules/mod_authn_core.so
    LoadModule authz_host_module modules/mod_authz_host.so
    LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
    LoadModule authz_user_module modules/mod_authz_user.so
    #LoadModule authz_dbm_module modules/mod_authz_dbm.so
    #LoadModule authz_owner_module modules/mod_authz_owner.so
    #LoadModule authz_dbd_module modules/mod_authz_dbd.so
    LoadModule authz_core_module modules/mod_authz_core.so
    #LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
    LoadModule access_compat_module modules/mod_access_compat.so
    LoadModule auth_basic_module modules/mod_auth_basic.so
    #LoadModule auth_form_module modules/mod_auth_form.so
    #LoadModule auth_digest_module modules/mod_auth_digest.so
    #LoadModule allowmethods_module modules/mod_allowmethods.so
    #LoadModule file_cache_module modules/mod_file_cache.so
    #LoadModule cache_module modules/mod_cache.so
    #LoadModule cache_disk_module modules/mod_cache_disk.so
    #LoadModule cache_socache_module modules/mod_cache_socache.so
    LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
    #LoadModule socache_dbm_module modules/mod_socache_dbm.so
    #LoadModule socache_memcache_module modules/mod_socache_memcache.so
    #LoadModule watchdog_module modules/mod_watchdog.so
    #LoadModule macro_module modules/mod_macro.so
    #LoadModule dbd_module modules/mod_dbd.so
    #LoadModule dumpio_module modules/mod_dumpio.so
    #LoadModule echo_module modules/mod_echo.so
    #LoadModule buffer_module modules/mod_buffer.so
    #LoadModule data_module modules/mod_data.so
    #LoadModule ratelimit_module modules/mod_ratelimit.so
    LoadModule reqtimeout_module modules/mod_reqtimeout.so
    #LoadModule ext_filter_module modules/mod_ext_filter.so
    #LoadModule request_module modules/mod_request.so
    LoadModule include_module modules/mod_include.so
    LoadModule filter_module modules/mod_filter.so
    #LoadModule reflector_module modules/mod_reflector.so
    #LoadModule substitute_module modules/mod_substitute.so
    #LoadModule sed_module modules/mod_sed.so
    #LoadModule charset_lite_module modules/mod_charset_lite.so
    #LoadModule deflate_module modules/mod_deflate.so
    #LoadModule xml2enc_module modules/mod_xml2enc.so
    #LoadModule proxy_html_module modules/mod_proxy_html.so
    LoadModule mime_module modules/mod_mime.so
    #LoadModule ldap_module modules/mod_ldap.so
    LoadModule log_config_module modules/mod_log_config.so
    #LoadModule log_debug_module modules/mod_log_debug.so
    #LoadModule log_forensic_module modules/mod_log_forensic.so
    #LoadModule logio_module modules/mod_logio.so
    #LoadModule lua_module modules/mod_lua.so
    LoadModule env_module modules/mod_env.so
    #LoadModule mime_magic_module modules/mod_mime_magic.so
    #LoadModule cern_meta_module modules/mod_cern_meta.so
    #LoadModule expires_module modules/mod_expires.so
    LoadModule headers_module modules/mod_headers.so
    #LoadModule ident_module modules/mod_ident.so
    #LoadModule usertrack_module modules/mod_usertrack.so
    #LoadModule unique_id_module modules/mod_unique_id.so
    LoadModule setenvif_module modules/mod_setenvif.so
    LoadModule version_module modules/mod_version.so
    #LoadModule remoteip_module modules/mod_remoteip.so
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_connect_module modules/mod_proxy_connect.so
    LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
    LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
    LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
    #LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so
    LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
    LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
    LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
    LoadModule proxy_express_module modules/mod_proxy_express.so
    #LoadModule session_module modules/mod_session.so
    #LoadModule session_cookie_module modules/mod_session_cookie.so
    #LoadModule session_crypto_module modules/mod_session_crypto.so
    #LoadModule session_dbd_module modules/mod_session_dbd.so
    LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
    #LoadModule slotmem_plain_module modules/mod_slotmem_plain.so
    LoadModule ssl_module modules/mod_ssl.so
    #LoadModule dialup_module modules/mod_dialup.so
    LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
    LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
    LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
    LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
    #LoadModule mpm_event_module modules/mod_mpm_event.so
    LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
    LoadModule unixd_module modules/mod_unixd.so
    #LoadModule heartbeat_module modules/mod_heartbeat.so
    #LoadModule heartmonitor_module modules/mod_heartmonitor.so
    #LoadModule dav_module modules/mod_dav.so
    LoadModule status_module modules/mod_status.so
    LoadModule autoindex_module modules/mod_autoindex.so
    #LoadModule asis_module modules/mod_asis.so
    #LoadModule info_module modules/mod_info.so
    #LoadModule suexec_module modules/mod_suexec.so
    #LoadModule cgid_module modules/mod_cgid.so
    #LoadModule cgi_module modules/mod_cgi.so
    #LoadModule dav_fs_module modules/mod_dav_fs.so
    #LoadModule dav_lock_module modules/mod_dav_lock.so
    #LoadModule vhost_alias_module modules/mod_vhost_alias.so
    LoadModule negotiation_module modules/mod_negotiation.so
    LoadModule dir_module modules/mod_dir.so
    #LoadModule imagemap_module modules/mod_imagemap.so
    #LoadModule actions_module modules/mod_actions.so
    #LoadModule speling_module modules/mod_speling.so
    LoadModule userdir_module modules/mod_userdir.so
    LoadModule alias_module modules/mod_alias.so
    #LoadModule rewrite_module modules/mod_rewrite.so
    #own additions:
    LoadModule php5_module modules/libphp5.so
    <IfModule unixd_module>
    # If you wish httpd to run as a different user or group, you must run
    # httpd as root initially and it will switch.
    # User/Group: The name (or #number) of the user/group to run httpd as.
    # It is usually good practice to create a dedicated user and group for
    # running httpd, as with most system services.
    User http
    Group http
    </IfModule>
    # 'Main' server configuration
    # The directives in this section set up the values used by the 'main'
    # server, which responds to any requests that aren't handled by a
    # <VirtualHost> definition. These values also provide defaults for
    # any <VirtualHost> containers you may define later in the file.
    # All of these directives may appear inside <VirtualHost> containers,
    # in which case these default settings will be overridden for the
    # virtual host being defined.
    # ServerAdmin: Your address, where problems with the server should be
    # e-mailed. This address appears on some server-generated pages, such
    # as error documents. e.g. [email protected]
    ServerAdmin [email protected]
    # ServerName gives the name and port that the server uses to identify itself.
    # This can often be determined automatically, but we recommend you specify
    # it explicitly to prevent problems during startup.
    # If your host doesn't have a registered DNS name, enter its IP address here.
    #ServerName www.example.com:80
    # Deny access to the entirety of your server's filesystem. You must
    # explicitly permit access to web content directories in other
    # <Directory> blocks below.
    <Directory />
    Options FollowSymLinks
    AllowOverride none
    Require all denied
    </Directory>
    # Note that from this point forward you must specifically allow
    # particular features to be enabled - so if something's not working as
    # you might expect, make sure that you have specifically enabled it
    # below.
    # DocumentRoot: The directory out of which you will serve your
    # documents. By default, all requests are taken from this directory, but
    # symbolic links and aliases may be used to point to other locations.
    DocumentRoot "/srv/http"
    <Directory "/srv/http">
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    # The Options directive is both complicated and important. Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    Options Indexes FollowSymLinks
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    # AllowOverride FileInfo AuthConfig Limit
    AllowOverride None
    # Controls who can get stuff from this server.
    Require all granted
    </Directory>
    # DirectoryIndex: sets the file that Apache will serve if a directory
    # is requested.
    <IfModule dir_module>
    DirectoryIndex index.html
    </IfModule>
    # The following lines prevent .htaccess and .htpasswd files from being
    # viewed by Web clients.
    <Files ".ht*">
    Require all denied
    </Files>
    # ErrorLog: The location of the error log file.
    # If you do not specify an ErrorLog directive within a <VirtualHost>
    # container, error messages relating to that virtual host will be
    # logged here. If you *do* define an error logfile for a <VirtualHost>
    # container, that host's errors will be logged there and not here.
    ErrorLog "/var/log/httpd/error_log"
    # LogLevel: Control the number of messages logged to the error_log.
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
    <IfModule log_config_module>
    # The following directives define some format nicknames for use with
    # a CustomLog directive (see below).
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    <IfModule logio_module>
    # You need to enable mod_logio.c to use %I and %O
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    # The location and format of the access logfile (Common Logfile Format).
    # If you do not define any access logfiles within a <VirtualHost>
    # container, they will be logged here. Contrariwise, if you *do*
    # define per-<VirtualHost> access logfiles, transactions will be
    # logged therein and *not* in this file.
    CustomLog "/var/log/httpd/access_log" common
    # If you prefer a logfile with access, agent, and referer information
    # (Combined Logfile Format) you can use the following directive.
    #CustomLog "/var/log/httpd/access_log" combined
    </IfModule>
    <IfModule alias_module>
    # Redirect: Allows you to tell clients about documents that used to
    # exist in your server's namespace, but do not anymore. The client
    # will make a new request for the document at its new location.
    # Example:
    # Redirect permanent /foo http://www.example.com/bar
    # Alias: Maps web paths into filesystem paths and is used to
    # access content that does not live under the DocumentRoot.
    # Example:
    # Alias /webpath /full/filesystem/path
    # If you include a trailing / on /webpath then the server will
    # require it to be present in the URL. You will also likely
    # need to provide a <Directory> section to allow access to
    # the filesystem path.
    # ScriptAlias: This controls which directories contain server scripts.
    # ScriptAliases are essentially the same as Aliases, except that
    # documents in the target directory are treated as applications and
    # run by the server when requested rather than as documents sent to the
    # client. The same rules about trailing "/" apply to ScriptAlias
    # directives as to Alias.
    ScriptAlias /cgi-bin/ "/srv/http/cgi-bin/"
    </IfModule>
    <IfModule cgid_module>
    # ScriptSock: On threaded servers, designate the path to the UNIX
    # socket used to communicate with the CGI daemon of mod_cgid.
    #Scriptsock cgisock
    </IfModule>
    # "/srv/http/cgi-bin" should be changed to whatever your ScriptAliased
    # CGI directory exists, if you have that configured.
    <Directory "/srv/http/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
    </Directory>
    <IfModule mime_module>
    # TypesConfig points to the file containing the list of mappings from
    # filename extension to MIME-type.
    TypesConfig conf/mime.types
    # AddType allows you to add to or override the MIME configuration
    # file specified in TypesConfig for specific file types.
    #AddType application/x-gzip .tgz
    # AddEncoding allows you to have certain browsers uncompress
    # information on the fly. Note: Not all browsers support this.
    #AddEncoding x-compress .Z
    #AddEncoding x-gzip .gz .tgz
    # If the AddEncoding directives above are commented-out, then you
    # probably should define those extensions to indicate media types:
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    # AddHandler allows you to map certain file extensions to "handlers":
    # actions unrelated to filetype. These can be either built into the server
    # or added with the Action directive (see below)
    # To use CGI scripts outside of ScriptAliased directories:
    # (You will also need to add "ExecCGI" to the "Options" directive.)
    #AddHandler cgi-script .cgi
    # For type maps (negotiated resources):
    #AddHandler type-map var
    # Filters allow you to process content before it is sent to the client.
    # To parse .shtml files for server-side includes (SSI):
    # (You will also need to add "Includes" to the "Options" directive.)
    #AddType text/html .shtml
    #AddOutputFilter INCLUDES .shtml
    </IfModule>
    # The mod_mime_magic module allows the server to use various hints from the
    # contents of the file itself to determine its type. The MIMEMagicFile
    # directive tells the module where the hint definitions are located.
    #MIMEMagicFile conf/magic
    # Customizable error responses come in three flavors:
    # 1) plain text 2) local redirects 3) external redirects
    # Some examples:
    #ErrorDocument 500 "The server made a boo boo."
    #ErrorDocument 404 /missing.html
    #ErrorDocument 404 "/cgi-bin/missing_handler.pl"
    #ErrorDocument 402 http://www.example.com/subscription_info.html
    # MaxRanges: Maximum number of Ranges in a request before
    # returning the entire resource, or one of the special
    # values 'default', 'none' or 'unlimited'.
    # Default setting is to accept 200 Ranges.
    #MaxRanges unlimited
    # EnableMMAP and EnableSendfile: On systems that support it,
    # memory-mapping or the sendfile syscall may be used to deliver
    # files. This usually improves server performance, but must
    # be turned off when serving from networked-mounted
    # filesystems or if support for these functions is otherwise
    # broken on your system.
    # Defaults: EnableMMAP On, EnableSendfile Off
    #EnableMMAP off
    #EnableSendfile on
    # Supplemental configuration
    # The configuration files in the conf/extra/ directory can be
    # included to add extra features or to modify the default configuration of
    # the server, or you may simply copy their contents here and change as
    # necessary.
    # Server-pool management (MPM specific)
    Include conf/extra/httpd-mpm.conf
    # Multi-language error messages
    Include conf/extra/httpd-multilang-errordoc.conf
    # Fancy directory listings
    Include conf/extra/httpd-autoindex.conf
    # Language settings
    Include conf/extra/httpd-languages.conf
    # User home directories
    Include conf/extra/httpd-userdir.conf
    # Real-time info on requests and configuration
    #Include conf/extra/httpd-info.conf
    # Virtual hosts
    #Include conf/extra/httpd-vhosts.conf
    # Local access to the Apache HTTP Server Manual
    #Include conf/extra/httpd-manual.conf
    # Distributed authoring and versioning (WebDAV)
    #Include conf/extra/httpd-dav.conf
    # Various default settings
    Include conf/extra/httpd-default.conf
    # Include owncloud
    Include /etc/httpd/conf/extra/owncloud.conf
    Include conf/extra/php5_module.conf
    # Configure mod_proxy_html to understand HTML4/XHTML1
    <IfModule proxy_html_module>
    Include conf/extra/proxy-html.conf
    </IfModule>
    # Secure (SSL/TLS) connections
    Include conf/extra/httpd-ssl.conf
    # Note: The following must must be present to support
    # starting without SSL on platforms with no /dev/random equivalent
    # but a statically compiled-in mod_ssl.
    <IfModule ssl_module>
    SSLRandomSeed startup builtin
    SSLRandomSeed connect builtin
    </IfModule>
    # uncomment out the below to deal with user agents that deliberately
    # violate open standards by misusing DNT (DNT *must* be a specific
    # end-user choice)
    #<IfModule setenvif_module>
    #BrowserMatch "MSIE 10.0;" bad_DNT
    #</IfModule>
    #<IfModule headers_module>
    #RequestHeader unset DNT env=bad_DNT
    #</IfModule>
    thanks!
    Last edited by Carl Karl (2014-05-06 07:40:53)

    OK, solved.
    What I made wrong:
    https://localhost leads to the apache page
    https://localhost/owncloud leads to the owncloud page.
    (Just as an information if there are other apache noobs like me...)

  • Rmi over ssl in jdk1.5.0

    hi,
    i am trying to connect a remote machine with rmi over ssl. but i got the following exceptions;
    java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
    Caused by: javax.net.ssl.SSLKeyException: RSA premaster secret error
    Caused by: java.security.NoSuchAlgorithmException: Cannot find any provider supporting RSA/ECB/PKCS1Padding
    Caused by: java.lang.IllegalArgumentException: can't support mode ECB
    i am using jdk1.5.0. i have tried many samples but i have not run them successfully however they were running successfully in j2sdk1.4.2.
    also i downloaded the bouncycastle provider but it did not work.
    is there anybody who knows about a running sample about rmi and ssl in jdk1.5.0? please send me....
    email: [email protected]

    Hi!
    I know it's not the exactly right topic, but I've nearly the same problem with a https connection for a webService. I'm not using turkish locale, I'm using BouncyCastle and the "Unlimited Strength" policy files. I've no problems if i start my application with eclipse, starting it with jdk1.5.0_03\jre\bin\java or jre1.5.0_03\bin\java form commandline i get the same stacktrace:
    javax.net.ssl.SSLKeyException: RSA premaster secret error
    Caused by: javax.net.ssl.SSLKeyException: RSA premaster secret error
    Caused by: java.security.NoSuchAlgorithmException: Cannot find any provider supporting RSA/ECB/PKCS1Padding
    Caused by: java.lang.IllegalArgumentException: can't support mode ECB
    if i try to get the cipher with
    Cipher c = Cipher.getInstance("RSA/ECB/PKCS1Padding");
    I'll get the same stacktrace, with
    Cipher c = Cipher.getInstance("RSA/ECB/PKCS1Padding", "BC");
    i works fine, but I've no idea how to run this code out of axis...
    Thanks & Regards
    Helmut

  • Problem in accessing webservice over https with auth cert enabled...Urgent

    Hi All,
    I am stuck in accessing webservices using ssl and auth certificate.
    I am using jdk 6 and it is not any issue with the problem I am facing...
    This is what I do...
    I have a webservice deployed which is accessible over https.
    On server, I run..
    - to generate keystoye
    keytool -genkey -alias tomcat-sv -dname "CN=<Server Machine Id>, OU=X, O=Y, L=Z, S=XY, C=YZ" -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore
    generate server certificate
    keytool -export -alias tomcat-sv -storepass changeit -file server.cer -keystore server.keystore
    On client, i run..
    To generate client keystore-
    keytool -genkey -alias tomcat-cl -dname "CN=<Client Machine Id>, OU=X, O=Y, L=Z, S=XY, C=YZ" -keyalg RSA -keypass changeit -storepass changeit -keystore client.keystore
    To generate client certificate -
    keytool -export -alias tomcat-cl -storepass changeit -file client.cer -keystore client.keystore
    Thne I import server's certificate into client keystore and Client's certificate to server's keystore by
    import server's cer to client keystore -
    keytool -import -v -trustcacerts -alias tomcat -file "C:\java\jdk1.6.0_10\bin\server.cer" -keystore client.keystore -keypass changeit -storepass changeit
    inport client's cer to server keystore -
    keytool -import -v -trustcacerts -alias tomcat -file "C:\jdk1.6.0_06\bin\client.cer" -keystore server.keystore -keypass changeit -storepass changeit
    when i try to call webservices through a java client (which is called by a python script), I get error as
    *"Exception while waiting for close java.net.SocketException: Software caused connection abort: recv failed"*
    *"faultString: java.net.SocketException: Software caused connection abort: recv failed"*
    complete log is as following
    C:\apache-tomcat-6.0.10\webapps\webservice>tradereport.py
    Jun 23, 2008 3:05:59 PM currenex.share.log.CxLogger log
    INFO: details=before SSL change
    Jun 23, 2008 3:05:59 PM currenex.share.log.CxLogger log
    INFO: details=after SSL change
    log4j:WARN No appenders could be found for logger (org.apache.axis.i18n.ProjectResourceBundle).
    log4j:WARN Please initialize the log4j system properly.
    trigger seeding of SecureRandom
    done seeding SecureRandom
    %% No cached client session
    *** ClientHello, TLSv1
    RandomCookie: GMT: 1214213509 bytes = { 50, 7, 252, 244, 34, 192, 54, 190, 160, 197, 162, 65, 78, 3, 120, 182, 179, 199
    , 160, 208, 223, 247, 41, 216, 188, 138, 228, 70 }
    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_1
    28_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_WI
    TH_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 = 7873
    *** ServerHello, TLSv1
    RandomCookie: GMT: 1214213504 bytes = { 98, 89, 26, 148, 19, 15, 45, 155, 163, 196, 220, 193, 150, 127, 19, 44, 130, 16
    5, 78, 243, 155, 34, 214, 123, 198, 89, 102, 15 }
    Session ID: {72, 95, 110, 128, 129, 101, 2, 252, 120, 147, 235, 106, 51, 210, 236, 197, 28, 197, 154, 236, 116, 85, 185
    , 177, 153, 9, 235, 160, 228, 124, 191, 206}
    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
    Subject: CN=Anuj-Shukla, OU=X, O=Y, L=Z, ST=XY, C=YZ
    Signature Algorithm: SHA1withRSA, OID = 1.2.840.113549.1.1.5
    Key: Sun RSA public key, 1024 bits
    modulus: 1155910927093088021038703558200517321935975136532818479526927502986487608253029863427194046282623217778572406
    007584457425344367852682875007488075549568987019062497769571000978532532156228707400592262495876461712276454493567147822
    56749486566093981751121311864618619780132448329770352303648687445023336431685957
    public exponent: 65537
    Validity: [From: Mon Jun 23 14:17:18 GMT+05:30 2008,
                   To: Sun Sep 21 14:17:18 GMT+05:30 2008]
    Issuer: CN=Anuj-Shukla, OU=X, O=Y, L=Z, ST=XY, C=YZ
    SerialNumber: [    485f6316]
    Algorithm: [SHA1withRSA]
    Signature:
    0000: 48 05 F9 A9 89 C6 87 83 C4 02 C4 44 F4 7C A0 54 H..........D...T
    0010: F6 9A 57 69 F0 DB 37 79 FD 8F 90 E9 8F 3E C2 DB ..Wi..7y.....>..
    0020: 9F D7 CC 15 28 0A 73 80 0A DC D0 7F EC 1C EE BD ....(.s.........
    0030: 23 EF E7 28 79 F3 7F C7 CC 7D A6 C6 F7 59 9A 17 #..(y........Y..
    0040: 73 ED 8B FF 6A 76 7F F7 4F 97 48 DF 23 A6 4C 42 s...jv..O.H.#.LB
    0050: B2 B4 5C 00 D0 77 88 12 F4 97 4E 66 7C EE F0 66 ..\..w....Nf...f
    0060: E6 95 8C B1 58 BF C5 E8 B5 64 A3 D5 5E EA 07 02 ....X....d..^...
    0070: FE 3D 63 7F F4 0B DC 86 66 B7 4B 4F 0C 1C 69 0F .=c.....f.KO..i.
    *** CertificateRequest
    Cert Types: RSA, DSS
    Cert Authorities:
    <CN=GlobalSign Root CA, OU=Root CA, O=GlobalSign nv-sa, C=BE>
    <[email protected], CN=Thawte Personal Freemail CA, OU=Certification Services Division, O=Thawte
    Consulting, L=Cape Town, ST=Western Cape, C=ZA>
    <[email protected], CN=Thawte Server CA, OU=Certification Services Division, O=Thawte Consulting cc,
    L=Cape Town, ST=Western Cape, C=ZA>
    <CN=AddTrust Qualified CA Root, OU=AddTrust TTP Network, O=AddTrust AB, C=SE>
    <CN=Equifax Secure Global eBusiness CA-1, O=Equifax Secure Inc., C=US>
    <CN=GTE CyberTrust Global Root, OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation, C=US>
    <CN=Baltimore CyberTrust Root, OU=CyberTrust, O=Baltimore, C=IE>
    <CN=Entrust.net Client Certification Authority, OU=(c) 2000 Entrust.net Limited, OU=www.entrust.net/GCCA_CPS incorp. by
    ref. (limits liab.), O=Entrust.net>
    <OU=Class 3 Public Primary Certification Authority, O="VeriSign, Inc.", C=US>
    <CN=DigiCert High Assurance EV Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US>
    <CN=Baltimore CyberTrust Code Signing Root, OU=CyberTrust, O=Baltimore, C=IE>
    <CN=TC TrustCenter Class 4 CA II, OU=TC TrustCenter Class 4 CA, O=TC TrustCenter GmbH, C=DE>
    <OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 2 Public Primary Certificat
    ion Authority - G2, O="VeriSign, Inc.", C=US>
    <OU=Class 2 Public Primary Certification Authority, O="VeriSign, Inc.", C=US>
    <CN=Entrust.net Secure Server Certification Authority, OU=(c) 1999 Entrust.net Limited, OU=www.entrust.net/CPS incorp. b
    y ref. (limits liab.), O=Entrust.net, C=US>
    <CN=TC TrustCenter Universal CA I, OU=TC TrustCenter Universal CA, O=TC TrustCenter GmbH, C=DE>
    <[email protected], CN=Thawte Premium Server CA, OU=Certification Services Division, O=Thawte Consu
    lting cc, L=Cape Town, ST=Western Cape, C=ZA>
    <CN=Entrust.net Client Certification Authority, OU=(c) 1999 Entrust.net Limited, OU=www.entrust.net/Client_CA_Info/CPS i
    ncorp. by ref. limits liab., O=Entrust.net, C=US>
    <CN=VeriSign Class 3 Public Primary Certification Authority - G3, OU="(c) 1999 VeriSign, Inc. - For authorized use only"
    , OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US>
    <[email protected], CN=http://www.valicert.com/, OU=ValiCert Class 2 Policy Validation Authority, O="ValiCe
    rt, Inc.", L=ValiCert Validation Network>
    <CN=AddTrust Class 1 CA Root, OU=AddTrust TTP Network, O=AddTrust AB, C=SE>
    <CN=DigiCert Global Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US>
    <CN=AddTrust External CA Root, OU=AddTrust External TTP Network, O=AddTrust AB, C=SE>
    <OU=Equifax Secure Certificate Authority, O=Equifax, C=US>
    <OU=Starfield Class 2 Certification Authority, O="Starfield Technologies, Inc.", C=US>
    <CN=Equifax Secure eBusiness CA-1, O=Equifax Secure Inc., C=US>
    <CN=VeriSign Class 2 Public Primary Certification Authority - G3, OU="(c) 1999 VeriSign, Inc. - For authorized use only"
    , OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US>
    <CN=AAA Certificate Services, O=Comodo CA Limited, L=Salford, ST=Greater Manchester, C=GB>
    <OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 1 Public Primary Certificat
    ion Authority - G2, O="VeriSign, Inc.", C=US>
    <CN=DigiCert Assured ID Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US>
    <OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 3 Public Primary Certificat
    ion Authority - G2, O="VeriSign, Inc.", C=US>
    <OU=Equifax Secure eBusiness CA-2, O=Equifax Secure, C=US>
    <CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R2>
    <CN=Anuj-Shukla, OU=X, O=Y, L=Z, ST=XY, C=YZ>
    <CN=Entrust.net Secure Server Certification Authority, OU=(c) 2000 Entrust.net Limited, OU=www.entrust.net/SSL_CPS incor
    p. by ref. (limits liab.), O=Entrust.net>
    <OU=Secure Server Certification Authority, O="RSA Data Security, Inc.", C=US>
    <[email protected], CN=Thawte Personal Premium CA, OU=Certification Services Division, O=Thawte C
    onsulting, L=Cape Town, ST=Western Cape, C=ZA>
    <[email protected], CN=Thawte Personal Basic CA, OU=Certification Services Division, O=Thawte Consu
    lting, L=Cape Town, ST=Western Cape, C=ZA>
    <CN=Client, OU=X, O=Y, L=Z, ST=XY, C=YZ>
    <CN=GeoTrust Global CA, O=GeoTrust Inc., C=US>
    <OU=Class 1 Public Primary Certification Authority, O="VeriSign, Inc.", C=US>
    <CN=Sonera Class1 CA, O=Sonera, C=FI>
    <OU=Go Daddy Class 2 Certification Authority, O="The Go Daddy Group, Inc.", C=US>
    <CN=UTN-USERFirst-Hardware, OU=http://www.usertrust.com, O=The USERTRUST Network, L=Salt Lake City, ST=UT, C=US>
    <CN=UTN-USERFirst-Client Authentication and Email, OU=http://www.usertrust.com, O=The USERTRUST Network, L=Salt Lake Cit
    y, ST=UT, C=US>
    <CN=VeriSign Class 1 Public Primary Certification Authority - G3, OU="(c) 1999 VeriSign, Inc. - For authorized use only"
    , OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US>
    <CN=America Online Root Certification Authority 1, O=America Online Inc., C=US>
    <CN=Entrust.net Certification Authority (2048), OU=(c) 1999 Entrust.net Limited, OU=www.entrust.net/CPS_2048 incorp. by
    ref. (limits liab.), O=Entrust.net>
    <CN=GTE CyberTrust Root 5, OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation, C=US>
    <CN=UTN-USERFirst-Object, OU=http://www.usertrust.com, O=The USERTRUST Network, L=Salt Lake City, ST=UT, C=US>
    <CN=UTN - DATACorp SGC, OU=http://www.usertrust.com, O=The USERTRUST Network, L=Salt Lake City, ST=UT, C=US>
    <CN=Sonera Class2 CA, O=Sonera, C=FI>
    <CN=TC TrustCenter Class 2 CA II, OU=TC TrustCenter Class 2 CA, O=TC TrustCenter GmbH, C=DE>
    *** ServerHelloDone
    *** Certificate chain
    *** ClientKeyExchange, RSA PreMasterSecret, TLSv1
    main, WRITE: TLSv1 Handshake, length = 141
    SESSION KEYGEN:
    PreMaster Secret:
    0000: 03 01 E5 87 BC 2A E8 70 60 BA DE FA BB 42 2D 1E .....*.p`....B-.
    0010: 3D 21 DB 52 A7 6C FC 55 9F 77 3A 97 B5 33 F7 33 =!.R.l.U.w:..3.3
    0020: 2A FD 65 5A 78 CE 1F F4 63 29 15 D1 48 4C 46 7A *.eZx...c)..HLFz
    CONNECTION KEYGEN:
    Client Nonce:
    0000: 48 5F 6E 85 32 07 FC F4 22 C0 36 BE A0 C5 A2 41 H_n.2...".6....A
    0010: 4E 03 78 B6 B3 C7 A0 D0 DF F7 29 D8 BC 8A E4 46 N.x.......)....F
    Server Nonce:
    0000: 48 5F 6E 80 62 59 1A 94 13 0F 2D 9B A3 C4 DC C1 H_n.bY....-.....
    0010: 96 7F 13 2C 82 A5 4E F3 9B 22 D6 7B C6 59 66 0F ...,..N.."...Yf.
    Master Secret:
    0000: 98 D5 9E C0 97 14 DB 9F 0E 3B 15 6B 1E F8 06 2C .........;.k...,
    0010: 27 99 A4 69 B8 E4 16 03 BD 89 B9 D0 CB C5 C9 DF '..i............
    0020: AE 4B 16 56 56 B2 02 F8 E0 71 1D D8 04 05 11 BF .K.VV....q......
    Client MAC write Secret:
    0000: 6F B7 22 74 D6 1E 44 16 C5 CB CE CE 8E 0F 46 E1 o."t..D.......F.
    Server MAC write Secret:
    0000: F8 DA 34 1A 53 55 E0 6D 50 25 3E 7F E5 69 91 51 ..4.SU.mP%>..i.Q
    Client write key:
    0000: F7 05 6E 10 62 0C AE 4A BC 96 E2 25 BA BC 46 BD ..n.b..J...%..F.
    Server write key:
    0000: E2 7D 11 FF 4A F3 C5 4F 94 9D 5C 57 71 5A 16 D1 ....J..O..\WqZ..
    ... no IV used for this cipher
    main, WRITE: TLSv1 Change Cipher Spec, length = 1
    *** Finished
    verify_data: { 216, 54, 180, 236, 72, 70, 181, 20, 31, 128, 165, 12 }
    main, WRITE: TLSv1 Handshake, length = 32
    main, waiting for close_notify or alert: state 1
    main, Exception while waiting for close java.net.SocketException: Software caused connection abort: recv failed
    main, handling exception: java.net.SocketException: Software caused connection abort: recv failed
    Jun 23, 2008 3:06:06 PM currenex.share.log.CxLogger log
    INFO: details=Exception occured while calling Login service in callLoginWebService
    AxisFault
    faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
    faultSubcode:
    faultString: java.net.SocketException: Software caused connection abort: recv failed
    faultActor:
    faultNode:
    faultDetail:
    {http://xml.apache.org/axis/}stackTrace:java.net.SocketException: Software caused connection abort: recv failed
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(Unknown Source)
    at com.sun.net.ssl.internal.ssl.InputRecord.readFully(Unknown Source)
    at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.waitForClose(Unknown Source)
    at com.sun.net.ssl.internal.ssl.HandshakeOutStream.flush(Unknown Source)
    at com.sun.net.ssl.internal.ssl.Handshaker.sendChangeCipherSpec(Unknown Source)
    at com.sun.net.ssl.internal.ssl.ClientHandshaker.sendChangeCipherAndFinish(Unknown Source)
    at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverHelloDone(Unknown Source)
    at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown Source)
    at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source)
    at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:186)
    at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
    at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)
    at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
    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 currenex.webservice.share.definitions.AuthenticationBindingStub.login(AuthenticationBindingStub.java:362)
    at currenex.webservice.clients.util.WebserviceTestUtil.callLoginLogoutWebService(WebserviceTestUtil.java:132)
    at currenex.webservice.clients.util.TradeCreateTester.createWebLogin(TradeCreateTester.java:64)
    {http://xml.apache.org/axis/}hostname:anuj
    java.net.SocketException: Software caused connection abort: recv failed
    at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
    at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:154)
    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 currenex.webservice.share.definitions.AuthenticationBindingStub.login(AuthenticationBindingStub.java:362)
    at currenex.webservice.clients.util.WebserviceTestUtil.callLoginLogoutWebService(WebserviceTestUtil.java:132)
    at currenex.webservice.clients.util.TradeCreateTester.createWebLogin(TradeCreateTester.java:64)
    Caused by: java.net.SocketException: Software caused connection abort: recv failed
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(Unknown Source)
    at com.sun.net.ssl.internal.ssl.InputRecord.readFully(Unknown Source)
    at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.waitForClose(Unknown Source)
    at com.sun.net.ssl.internal.ssl.HandshakeOutStream.flush(Unknown Source)
    at com.sun.net.ssl.internal.ssl.Handshaker.sendChangeCipherSpec(Unknown Source)
    at com.sun.net.ssl.internal.ssl.ClientHandshaker.sendChangeCipherAndFinish(Unknown Source)
    at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverHelloDone(Unknown Source)
    at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown Source)
    at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source)
    at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:186)
    at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
    at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)
    at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
    ... 12 more
    Jun 23, 2008 3:06:06 PM currenex.share.log.CxLogger log
    INFO: details=Login response is null, login was not successful
    Login was unsuccessful
    *In apache's server.xml, My webservice is deployed as*
    <Connector className="org.apache.catalina.connector.http.HttpConnector"
         port="8443" minProcessors="5" maxProcessors="75" enableLookups="true"
         acceptCount="10" debug="0"
         protocol="HTTP/1.1" SSLEnabled="true" secure="true"
    maxThreads="150" scheme="https"
         keystoreFile="lib/server.keystore"
    keystorePass="changeit" clientAuth="true"
              >
              <Factory className="org.apache.catalina.net.SSLServerSocketFactory"
         protocol="TLS"/>
    </Connector>
    Please note clientAuth="true" parameter,
    when I set it to false, My test runs smoothly and no exception/issue is reported
    Not to forget, my javaclient has following lines too..
    //System.setProperty("javax.net.ssl.keyStore", "C:\\java\\jdk1.6.0_10\\jre\\lib\\security\\cacerts");
    //System.setProperty("javax.net.ssl.keyStorePassword", "changeit");
    //System.setProperty("javax.net.ssl.trustStore", "C:\\java\\jdk1.6.0_10\\jre\\lib\\security\\cacerts");
    //System.setProperty("java.protocol.handler.pkgs" , "com.sun.net.ssl.internal.www.protocol");
    System.setProperty("javax.net.ssl.trustStore","C:\\java\\jdk1.6.0_10\\bin\\client.keystore");
    System.setProperty("javax.net.ssl.trustStorePassword","changeit");
    //System.setProperty("com.sun.net.ssl.rsaPreMasterSecretFix" , "true");
    //System.setProperty("javax.net.ssl.keyStore", "C:\\java\\jdk1.6.0_10\\bin\\server.keystore");
    //System.setProperty("javax.net.ssl.keyStorePassword","changeit");
    System.setProperty("javax.net.debug", "ssl");
    s_log.info("after SSL change");
    I tried all possible combinbations of these properties but nothing worked...
    Please let me know if I am missing any required step.. here
    Ask me if you want to know more details about my problem.
    This is very urgent and critical.. Many thanks in advance.

    Hi ejp,
    thanks for your reply. I did read your post in other thread that you pointed.
    I had searched quite a lot on this issue and had idea that it might be due to firewall settings..
    but sadly, I don't know the solution. Well, you have seen the entire code that I wrote and exception too, Could you suggest me a way out? or any specific firewall setting or a workaround?
    Please let me know if you need any other info from my side regarding the code.
    Thanks a Ton!
    Anuj

  • [Java 1.4.2] Rmi over SSL : bind/rebind hangs

    Hello everybody,
    I am trying to test client/server communication with RMI over an SSL layer, as explained here .
    Here is my server class :
    package rmitest.server;
    import java.rmi.registry.*;
    import java.rmi.*;
    import rmitest.client.RMISSLClientSocketFactory;
    import java.rmi.server.RMIClientSocketFactory;
    import java.rmi.server.RMIServerSocketFactory;
    import java.rmi.registry.LocateRegistry;
    import java.rmi.server.*;
    import java.io.IOException;
    public class Hello extends UnicastRemoteObject implements HelloInterface
        public Hello(RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws RemoteException
            //super();
            super(1099, csf, ssf);
            System.out.println("Initialisation de Hello OK.");
        public int sayHello()
            try {
            System.out.println("Hello, World !");
            return 0;
            catch (Exception e)
                e.printStackTrace();
                return 1;
        public static void main(String[] args)
            try
                System.setSecurityManager(new RMISecurityManager());
                RMIClientSocketFactory csf = new RMISSLClientSocketFactory();
                RMIServerSocketFactory ssf = new RMISSLServerSocketFactory();
                HelloInterface myHello = new Hello(csf, ssf);
                Registry reg = LocateRegistry.getRegistry("lat203", 1099, csf);
                reg.rebind("HelloInterface", myHello);
                System.out.println("The server is ready.");
            catch (RemoteException e)
                e.printStackTrace();
            catch (Exception e)
                e.printStackTrace();
    }My problem is, the program hangs in the rebind(...) instruction. Would anybody have a clue ?
    Here is the stack just before it hangs :
    {codeThread [main] (Stepping)
    UnicastRef2(UnicastRef).newCall(RemoteObject, Operation[], int, long) line: 313
    RegistryImpl_Stub.rebind(String, Remote) line: not available
    Hello.main(String[]) line: 56
    Thread [Thread-1] (Running) }Thank you by advance.
    Edited by: le_barde on Oct 17, 2008 6:45 AM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Ok I settled that in the client socket factory. Here is what it looks like :
    package com.infotel.rmitest.client;
    import java.io.*;
    import java.net.*;
    import java.rmi.server.*;
    import javax.net.ssl.*;
    import sun.security.util.Debug;
    public class RMISSLClientSocketFactory
        implements RMIClientSocketFactory, Serializable {
        public Socket createSocket(String host, int port)
        throws IOException
            SSLSocketFactory factory = (SSLSocketFactory)SSLSocketFactory.getDefault();
            SSLSocket socket = (SSLSocket)factory.createSocket(host, port);
            String[] strtab = {"TLSv1", "SSLv3"};
            socket.setEnabledProtocols(strtab);
            System.out.println("---> before handshake");
            socket.startHandshake();
            System.out.println("---> after handshake.");
            return socket;
        public int hashCode()
            return getClass().hashCode();
        public boolean equals(Object obj)
            if (obj == this)
                return true;
            else if (obj == null || getClass() != obj.getClass())
                return false;
            return true;
    }I haven't modified my Server socket factory.
    The client still hangs but the messages are different as I have removed the SSLv2ClientHello :
    >
    (lots of trusted certificates...)
    init context
    trigger seeding of SecureRandom
    done seeding SecureRandom
    ---> before handshake
    %% No cached client session
    *** ClientHello, TLSv1
    RandomCookie: GMT: 1225125230 bytes = { 150, 101, 222, 255, 92, 207, 52, 204, 48, 37, 184, 89, 56, 39, 207, 230, 8, 210, 1, 235, 137, 48, 202, 242, 203, 4, 61, 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 }
    [write] MD5 and SHA1 hashes: len = 73
    0000: 01 00 00 45 03 01 49 06 ED 6E 96 65 DE FF 5C CF ...E..I..n.e..\.
    0010: 34 CC 30 25 B8 59 38 27 CF E6 08 D2 01 EB 89 30 4.0%.Y8'.......0
    0020: CA F2 CB 04 3D 5B 00 00 1E 00 04 00 05 00 2F 00 ....=[......../.
    0030: 33 00 32 00 0A 00 16 00 13 00 09 00 15 00 12 00 3.2.............
    0040: 03 00 08 00 14 00 11 01 00 .........
    main, WRITE: TLSv1 Handshake, length = 73
    (Here the client hangs; this is the point when I kill the JVM)>
    Now my server output (I don't give the verbose certificates):
    >
    trigger seeding of SecureRandom
    done seeding SecureRandom
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    * SERVER INITIALIZED *
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    etc.

  • Enabling SOAP over HTTPs on PI7.0

    Hello
        We have a requirement to connect PI7.0 to PI7.1 with SOAP over HTTPS. Would you please let us know what all configuration need
           1.  Setting required to be done on PI7.0 ( Communication Channels, Receiver and Sender agreements)
           2.  Where to put private key and root certificate in Visual admin
           3. Port configuration for outbound and inbound traffic.
           4. Enabling of SSL on PI7.0.
           5. Any ICM related setting on PI7.0
    Thanks & Regards

    Hi Uttam,
    Hi,
    For using HTTPS protocol, you have to chose the option of HTTPS in the 'HTTP Security Level' parameter on SOAP sender communication channel.
    For using HTTPS protocol, the SSL certificates need to be deployed on the server.
    Below are the links for more information on SSL certificates:
    http://help.sap.com/saphelp_nw70ehp1/helpdata/en/14/ef2940cbf2195de10000000a1550b0/frameset.htm
    http://www.tldp.org/HOWTO/SSL-Certificates-HOWTO/
    For choosing & installing steps of SSL, refer the below links:
    /people/aniket.tare/blog/2005/03/22/ssl-certificate-installation-procedure-for-sap-j2ee-engine-630-150-steps-in-visual-administrator
    http://info.ssl.com/article.aspx?id=10694
    -Supriya.

  • What is the advantage of using RMI over socket connection

    plz tell me guys what is the advantage of using RMI over socket connection bcoz inherently RMI also uses socket connection.so what is the exact difference in between thm and what is the advantage of using RMI over socket connection.

    i knew tht bt i http://www.catb.org/~esr/faqs/smart-questions.html#writewell
    How To Ask Questions The Smart Way
    Eric Steven Raymond
    Rick Moen
    Write in clear, grammatical, correctly-spelled language
    We've found by experience that people who are careless and sloppy writers are usually also careless and sloppy at thinking and coding (often enough to bet on, anyway). Answering questions for careless and sloppy thinkers is not rewarding; we'd rather spend our time elsewhere.
    So expressing your question clearly and well is important. If you can't be bothered to do that, we can't be bothered to pay attention. Spend the extra effort to polish your language. It doesn't have to be stiff or formal — in fact, hacker culture values informal, slangy and humorous language used with precision. But it has to be precise; there has to be some indication that you're thinking and paying attention.
    Spell, punctuate, and capitalize correctly. Don't confuse "its" with "it's", "loose" with "lose", or "discrete" with "discreet". Don't TYPE IN ALL CAPS; this is read as shouting and considered rude. (All-smalls is only slightly less annoying, as it's difficult to read. Alan Cox can get away with it, but you can't.)
    More generally, if you write like a semi-literate b o o b you will very likely be ignored. So don't use instant-messaging shortcuts. Spelling "you" as "u" makes you look like a semi-literate b o o b to save two entire keystrokes.

  • Rmi and http

    i know this might sound silly but i am new to rmi ( to java too )
    i want to understand the difference between rmi and other protocols such as http,ftp and so.
    now what i think i know - and sometimes think im not sure i know or
    perhaps im sure i know nothing about - is that rmi is java specific and can only work with java while http is different if im not wrong.. and rmi does not require http r8?
    so how can rmi work over http or ftp ..,( can it in the 1st place ?)

    Which version of WLS you are using?
    Applet should also need to satisfy the version requirements similar to
    standalone java client. With WLS 5.1, it may work. But, it will not work
    with 6.* servers.
    Again, the JRE versions in the Netscape and IExplorer are different. So the
    applet, working in IE may not work on Netscape. It is better to test a
    sample application, than taking assumptions.
    Cheers,
    ..maruthi
    "Andrea Musumeci" <[email protected]> wrote in message
    news:3cb1dcba$[email protected]..
    can an applet written in java 1.1.x work in a browser using weblogic rmiwithout a plugin? I need to create a java chat applet with callback. Tnx in
    advance

Maybe you are looking for

  • Detect obsolete mitigating control assignments?

    Hello, What report/s would you use to detect obsolete mitigating control assignments? The scenario is: A user has been assigned a mitigating control, let's say during the CUP workflow, to mitigate a certain risk that came with a certain role. Later,

  • List Export Spreadsheet

    Hi, I am trying to export my alv grid output into excel by List > Export > Spreadsheet and selecting table option. All the date is being exported to excel good till here, but columns are changing their positions. When I look little bit close I found

  • ORA-07445: exception encountered: core dump [ldxsti+0208] [SIGSEGV] [Addres

    Hi, I am continuously getting this error in alert in my Production database. Please suggest on how to get rid of this.

  • Which classes are inherent in the Java language?

    For some reason I just thought of the question this past 2AM. What classes are significant to the Java compiler? The list I thought of was: Object -- implements wait() and synchronized String -- all those convenience idioms we couldn't live without S

  • Deskjet 3512 connected to wireless network but utility says 'Unable to find printer'

    1. Product Name and Number      • HP Deskjet 3512  2. Operating System installed (if applicable)      • Windows 7 64-bit  3. Error message (if any)      Unable to find printer.     Facts: - Printer is connected to network. Panel LED is unblinking blu