Securing JBoss Services. Robert C. Broeckelmann Jr. Ovidiu Feodorov, Open Source Consultant 24 June 2010

Similar documents
Administering the JBoss 5.x Application Server

JBoss Remoting Guide

Software Security. Case Study: Java 2 Security. Copyright of HeathWallace 2008

JBoss Remoting Guide. JBoss Remoting version final. March 27, Copyright 2006JBoss, Inc.

Running Intellicus under SSL. Version: 16.0

Red Hat JBoss Enterprise Application Platform 7.1

Prescription Monitoring Program Information Exchange. RxCheck State Routing Service. SRS Installation & Setup Guide

Red Hat JBoss Enterprise Application Platform 7.0

SSO Authentication with ADFS SAML 2.0. Ephesoft Transact Documentation

Agenda. Summary of Previous Session. Extreme Java G Session 3 - Main Theme Java Core Technologies (Part I)

Course 834 EC-Council Certified Secure Programmer Java (ECSP)

1 Configuring SSL During Installation

PKI Cert Creation via Good Control: Reference Implementation

J2EE Development with Apache Geronimo 1.1. Aaron Mulder CTO, Chariot Solutions Committer, Apache Geronimo

GlobalForms SSL Installation Tech Brief

WebSphere Application Server, Version 5. What s New?

Application Servers in E-Commerce Applications

Managing AON Security

Strategic & Product Roadmap

Open Source. in the Corporate World. JBoss. Application Server. State of the Art: Aaron Mulder

BEA AquaLogic. Enterprise Security. Glossary

Introducing Apache Geronimo 1.1. Aaron Mulder CTO, Chariot Solutions Committer, Apache Geronimo

J2EE Interview Questions

JBoss Remoting. Version beta. January 12, 2005

Advanced Integration TLS Certificate on the NotifySCM Server

Java EE / EJB Security

user guide version (technology preview)

BEAAquaLogic. Service Bus. Interoperability With EJB Transport

Enterprise Java Security Fundamentals

Hazelcast Management Center Documentation. version 3.9-EA2

COPYRIGHTED MATERIAL

BEAWebLogic Server and WebLogic Express. Programming WebLogic JNDI

European Commission. e-invoicing and e-ordering project for Public Procurement. Open e-prior Installation Guide

Oracle Fusion Middleware

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

Oracle Fusion Middleware

Course: JBoss Training: JBoss AS 7 and JBoss EAP 6 Administration and Clustering Training

Contents at a Glance. vii

Enterprise SOA Experience Workshop. Module 8: Operating an enterprise SOA Landscape

ΠΙΝΑΚΑΣ ΠΛΑΝΟΥ ΕΚΠΑΙΔΕΥΣΗΣ

Certificate Properties File Realm

Genesys Administrator Extension Migration Guide. Prerequisites

Red Hat JBoss Fuse 6.1

JBOSS AS 7 AND JBOSS EAP 6 ADMINISTRATION AND CLUSTERING (4 Days)

Transport Level Security

Understanding Security for Oracle WebLogic Server c (12.1.3)

DRAFT. CONNECT Installation Windows JBoss

Exam Actual. Higher Quality. Better Service! QUESTION & ANSWER

Hazelcast Management Center Documentation. version 3.9

Administering System Security. This chapter describes general information about administering system security.

ITdumpsFree. Get free valid exam dumps and pass your exam test with confidence

Borland Application Server Certification. Study Guide. Version 1.0 Copyright 2001 Borland Software Corporation. All Rights Reserved.

IP Communications Required by the Cisco TelePresence Exchange System

Introducing Apache Tomcat 7

Hazelcast Management Center Documentation. version 3.9.4

Securing a Production Environment for Oracle WebLogic Server 12c (12.2.1)

Hazelcast Management Center Documentation. version 3.9.2

Exam Name: IBM Certified System Administrator - WebSphere Application Server Network Deployment V7.0

John Heimann Director, Security Product Management Oracle Corporation

HPE AutoPass License Server

(9A05803) WEB SERVICES (ELECTIVE - III)

Course Content for Java J2EE

Outline. Project Goal. Overview of J2EE. J2EE Architecture. J2EE Container. San H. Aung 26 September, 2003

CA IT Process Automation Manager Best Practices

Oracle Communications Network Integrity

Security configuration of the mail server IBM

Java Best Practices for Developing and Deploying Against Databases in the Cloud

WEBSPHERE APPLICATION SERVER

2 Understanding the Discovery Mechanism

Managing Administrative Security

Oracle Communications Services Gatekeeper

IBM Exam P IBM FileNet P8 Product Fundamentals Technical Mastery Test v1 Version: 4.0 [ Total Questions: 105 ]

Java Card Technology-based Corporate Card Solutions

1Z Java EE 6 Web Services Developer Certified Expert Exam Summary Syllabus Questions

Entrust Connector (econnector) Venafi Trust Protection Platform

/ / JAVA TRAINING

Shared Session Management Administration Guide

EJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java

MTAT Enterprise System Integration. Lecture 2: Middleware & Web Services

Chapter 2 Architectures. Software Architectures

Configure the Rational ClearQuest Web and Rational DOORS Web Access integration with SSL

Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p.

status Emmanuel Cecchet

Programming Project #2

Using the Cisco ACE Application Control Engine Application Switches with the Cisco ACE XML Gateway

GlassFish 3.1 Admin Console Modules

Web as a Distributed System

The World Wide Web is widely used by businesses, government agencies, and many individuals. But the Internet and the Web are extremely vulnerable to

IBM. WebSphere Application Server V5.0, Multiplatform Administration

EveryonePrint. Mobile Gateway 4.2. Installation Guide. EveryonePrint Mobile Gateway Installation Guide Page 1 of 30

Application Connectivity Strategies

Deccansoft Software Services. J2EE Syllabus

CICS solutions White paper Delivering e-business access to CICS: strategic options.

IBM Tivoli Identity Manager 5.0 Security Target BSI-DSZ-CC-0556

Open XML Gateway User Guide. CORISECIO GmbH - Uhlandstr Darmstadt - Germany -

Artix for J2EE. Version 4.2, March 2007

bbc Configuring LiveCycle ES2 Application Server Clusters Using JBoss Adobe LiveCycle ES2 May 2010 Version 9

BEA WebLogic. Server. Programming WebLogic JNDI

~ Ian Hunneybell: CBSD Revision Notes (07/06/2006) ~

the Corba/Java Firewall

Transcription:

Securing JBoss Services Robert C. Broeckelmann Jr. Ovidiu Feodorov, Open Source Consultant 24 June 2010

Agenda Introduction Our goal Ground floor concepts Securing JBoss services Securing JBoss communications Closing

Introduction We will discuss SSL Other network encryption technologies JGroupsENCRYPT JBoss use of these Security-related JBoss configuration Technologies used Java 1.6 IBM JDK Sun JDK OpenJDK6 JBoss 4.3.0_GA.CP04

Our Goal All administrative chatter encrypted Including listening endpoints and multicast traffic LDAP communications encrypted via SSL Application traffic encrypted via SSL JBossWS EJB2/EJB3 JMS/JBossMessaging IIOP/CORBA JBossWeb

Ground Floor Concepts SSL quick introduction JSSE Java Secure Socket Extension Java Cryptography Architecture JBoss JAASSecurityDomain MBeans

TCP/IP, Sockets, & Encryption TCP/IP are fundamental protocols of the Internet Assuming everyone is familiar with these Most communication over the internet is TCP/IP Sockets API provides lowest-level programming interaction with TCP sockets TCP/IP is clear text communication Fine for accessing your favorite news site (assuming no user id/password, of course) Not so good when looking at your bank account An encryption technology must be used to secure network communication flowing over TCP Enter SSL

SSL/TLS Secure Sockets Layer Secure Sockets Layer (SSLv3) and its descendent Transport Layer Security (TLSv1) are the corner stone of encrypted communication over the internet today Original SSL protocol developed by Netscape V2 first released in February, 1995 Sits above TCP in the network protocol stack Implementation libraries provide an API similar to the Sockets API

SSL/TLS In depth

JSSE Java Secure Sockets Extension JSSE is an implementation of SSL and an API for Java Part of JDK since v1.4[3] Concepts:[6] X509 Certificates Keystores/Truststores KeyManager/TrustManager Providers Socket Factories Java provides significant support for SSL/TLS javax.net.ssl package Using SSL in Java can be effectively reduced to an SSLSocketFactory / SSLServerSocketFactory initialization strategy JBoss provides a configuration wrapper around JSSE Socket Factories JBoss JaasSecurityDomains

JSSE Key Elements Socket Factory Server Socket Factory Trust Manager Key Manager Trust Manager Key Manager Client-Side JSSE/JCA Runtime Server-Side JSSE/JCA Runtime Client JVM ServerJVM Server s certificate Client s private key Client s certificate (optional) Server s private key Truststore Keystore Truststore Keystore

Java Cryptography Architecture Java Cryptography Architecture(JCA) defines a provider architecture and APIs for: [2] Digital signatures Encryption Certificate validation Key management Random number generation Others JCE Java Cryptography Extensions part of JCA in Java 6 Adds more cryptography algorithm/functionality support JSSE uses JCA provider architecture. Implemented as a set of providers & APIs JSSE implementations use JCA/JCE functionality for cryptographic operations

Security in JBoss Security in JBoss is reduced essentially to Securing communication between client and server Providing authentication services Implemented via various security interceptors that delegate authentication to a JBoss security manager, which accesses a credential storage Providing authorization services Similarly implemented, with the difference that the JBoss security manager accesses a role storage

Step-by-Step Security in JBoss - Programmatic Client Login The client runtime communicates to the server who it is The caller s identity (user name, id, SSN, etc.) and credentials are gathered via a client-side programmatic JAAS login The caller s identity is submitted to the server along with credentials Authentication/authorization will be performed on the server All subsequent invocations require an authenticated identity as well EJB Container Client JVM Remoting Security Manager Server JVM

Step-by-Step Security in JBoss Security Context Propagation Principal and credentials are sent to the server with each invocation Web applications use servlet container s login mechanism (BASIC, FORM, etc.) to provide identity and credentials EJB client s security interceptor query the JBoss SecurityAssociation for principals and credentials Both identity and credentials are serialized as part of the invocation EJB Container Client JVM Remoting Security Manager

Step-by-Step Security in JBoss - Authentication The server verifies the caller s identity JBoss security manager uses JAAS pluggable authentication modules to integrate with existing security infrastructure (operating system authentication, flat file authentication, database authentication, LDAP authentication) Once the caller has been authenticated, the principal is associated with the calling thread via a Server-Side SecurityAssociation EJB Container Client JVM Remoting Security Manager Database

Step-by-Step Security in JBoss - Authorization Once the caller s identity is known and verified, the server checks whether the caller has the required privileges to invoke the operation Roles are also retrieved via JAAS PAM PAM modules can be combined, authentication and authorization can rely on information coming from different sources EJB Container Client JVM Remoting Security Manager LDAP Database

JaasSecurityDomain Primary SSL configuration mechanism in JBoss Most JBoss functionality that uses SSL provides a JaasSecurityDomain reference mechanism Defined in any *-service.xml file under $SERVER_HOME/deploy The JaasSecurityDomain is an extension of the JaasSecurityManager[1] adds the notion of a KeyStore, KeyManagerFactory TrustManagerFactory supports SSL and other cryptographic use cases General-purpose configuration mechanism for building SSLServerSocketFactory objects SSLSocketFactory objects

JaasSecurityDomain Configuration Example <mbean name="jboss.security=jaassecuritydomain,domain=a_security_domain" JaasSecurityDomain Name code="org.jboss.security.plugins.jaassecuritydomain"> <attribute name="keystoretype">jks</attribute> <! ServerAlias will key initilaization of an SSLServerSocketFactory <attribute name="serveralias">my-server-alias</attribute> <! ClientAlias will key initialization of an SSLSocketFactory <attribute name= ClientAlias >my-client-alias</attribute> <attribute name="keystorepass">changeit</attribute> <attribute name= KeyStoreURL >file://path/to/some/keystore.jks</attribute> <attribute name="truststoretype">jks</attribute> <attribute name="truststoreurl">file:///path/to/some/truststore.jks</attribute> <attribute name="truststorepass">changeit</attribute> <attribute name= ClientAuth >false</attribute> <constructor> JaasSecurityDomain Class Keystore Type Server Certificate Alias Client Certificate Alias Keystore Password Keystore URL Truststore Type Truststore URL Truststore Password Client Authentication Required? <arg value="a_security_domain" type="java.lang.string" /> </constructor> </mbean>

JAASSecurityDomain Benefits It s possible to use SSL by configuring JSSE using default or command-line System Properties. May be appropriate for simple cases. Limits you to one Keystore. Puts password in Java arguments command line. No control over which Certificate Alias is used. Use of JBoss JAASSecurityDomain MBeans overcomes these limitations. Otherwise, must manually create a SocketFactory object for each usecase in Java code. Provides a central mechanism to configure SSL endpoints used by JBoss.

JAASSecurityDomain Enhancements Accommodate multiple keys in the same keystore. Specify a Server Certificate Alias ServerAlias attribute Specify a Client Certificate Alias ClientAlias attribute Should a Server Endpoint require Client Authentication? ClientAuth attribute Ability to specify JSSE Provider arguments via JAASSecurityDomain MBean. Note, Red Hat development did this.

Securing JBoss Communication JBossWeb SSL Tomcat Connectors JBossRemoting Unified Connector Port JRMPInvoker Service Port IIOP Listening Port EJB3 Remoting Connector JMS Remoting Bisocket Port JNDI/HAJNDI Encrypted cluster multicast communication JBossWS client-side LdapExtLoginModule

JBossWeb Web/Servlet/JSP container Configuration File: $SERVER_HOME/deploy/jboss-web.deployer/server.xml Tomcat Connectors Can reference a JAASSecurityDomain: security-domain attribute. Notes Certificate Alias name and Client Authentication must be specified in server.xml.

JBossWeb SSL Configuration <Connector SSLImplementation="org.jboss.net.ssl.JBossImplementation" /> protocol="http/1.1" ciphers=" " SSLEnabled="true" maxthreads="150" clientauth="false" secure="true" keyalias="my_alias" connectiontimeout="20000" scheme="https" port= 12345" sslprotocol="sslv3" address="${jboss.bind.address} securitydomain="java:/jaas/tomcat_ssl" Does Connector Use SSL? Is Client Authentication required? Is the Connector Secure? Server certificate alias SSL Protocol/Version. JassSecurityDomain JNDI Name

JBossRemoting Unified Connector(EJB2.x), EJB3 Remoting Connector(EJB3), JMS Remoting Bisocket Connector (JMS) Used by remote clients to make EJB2.x, EJB3, and JMS calls. Config Files conf/jboss-service.xml -- Unified Connector deploy/ejb3.deployer/meta-inf/jboss-service.xml EJB3 Remoting Connector deploy/jboss-messaging/remoting-sslbisocket-service.xml JMS Remoting Bisocket Connector Depend on: Mbean references a ServerSocketFactory MBean. ServerSocketFactory MBean references JAASSecurityDomain.

JBossRemoting Unified Connector(EJB2.x) SSL Configuration <mbean name="jboss.remoting:service=connector,transport=socket" code="org.jboss.remoting.transport.connector" display-name="socket transport Connector"> <attribute name="configuration"> <config> <handlers> <handler subsystem="invoker">jboss:service=invoker,type=unified</handler > </handlers> <invoker transport="socket"> <attribute name="serversocketfactory">jboss.remoting:service=server SocketFactory,type=RemotingSecurityDomain</attribute> </invoker> Remoting Unified Connector MBean ServerSocketFactory MBean <depends>jboss.remoting:service=networkregistry</depends> <depends>jboss.remoting:service=serversocketfactory,type=remotin gsecuritydomain</depends> </mbean> <mbean code="org.jboss.remoting.security.domain.domainserversocketfa ctoryservice" name="jboss.remoting:service=serversocketfactory,type=remotin gsecuritydomain" display-name="securitydomain Server Socket Factory"> <attribute name="securitydomain">java:/jaas/remoting_massl</attri bute> <depends>jboss.security:service=jaassecuritydomain,domai n=remoting_massl</depends> </mbean> JaasSecurityDomain reference </config> ServerSocketFactory MBean Reference </attribute>

EJB3 Remoting Connector(EJB3) SSL Configuration <mbean code="org.jboss.remoting.transport.connector" name="jboss.remoting:type=connector,name=defaultejb3co nnector,transport=socket,handler=ejb3"> EJB3 Remoting Connector MBean <attribute name="invokerlocator">sslsocket://${jboss.bind.address}:12 345</attribute> <depends>jboss.aop:service=aspectdeployer</depends> <attribute name="configuration"> <config> <handlers> <handler subsystem="aop">org.jboss.aspects.remoting.aopremoting InvocationHandler</handler> </handlers> <invoker transport="socket"> <attribute name="serversocketfactory">jboss.remoting:service=se rversocketfactory,type=securitydomain</attribute> </invoker> </config> ServerSocketFactory MBean JaasSecurityDomain Reference ServerSocketFactory Mbean Reference <depends>jboss.remoting:service=serversocketfactory, type=securitydomain</depends> </mbean> <mbean code="org.jboss.remoting.security.domain.domainserversoc ketfactoryservice" name="jboss.remoting:service=serversocketfactory,type=se curitydomain" display-name="securitydomain Server Socket Factory"> <attribute name="securitydomain">java:/jaas/ejb3_massl</attrib ute> <depends>jbosssx:service=jaassecuritydomain,domai n=system_default_ssl</depends> </mbean> </attribute>

JMS Remoting Bisocket Connector (JMS) SSL Configuration <mbean code="org.jboss.remoting.transport.connector" name="jboss.messaging:service=connector,transport=sslbisocket" display-name="ssl Bisocket Transport Co nnector"> <attribute name="configuration"> <config> Remoting Bisocket Connector MBean subsystem="jms">org.jboss.jms.server.remoting.jmsserverinvoc ationhandler</handler> </handlers> </config> </attribute> <invoker transport="sslbisocket">. <attribute name="clientsocketclass" isparam="true">org.jboss.jms.client.remoting.clientsocketwrapper </attribute> <attribute name="serversocketclass">org.jboss.jms.server.remoting.servers ocketwrapper</attribute> <attribute name="serversocketfactory">jboss.messaging:service=serve rsocketfactory,type=ssl</attribute> </invoker> <handlers> <depends>jboss.messaging:service=serversocketfactory,typ e=ssl</depends> </mbean> <mbean code="org.jboss.remoting.security.domain.domainserversocketfa ctoryservice" name="jboss.messaging:service=serversocketfactory,type=ssl" display-name= "JMS SSL Server Socket Factory"> <attribute name="securitydomain">java:/jaas/jbm_massl</attribute> <depends>jbosssx:service=jaassecuritydomain,domain=jb M_MASSL</depends> </mbean> ServerSocketFactory MBean <handler ServerSocketFactory Reference JaasSecurityDomain Reference

JRMPInvoker & JRMPInvokerHA Services JRMPInvoker is used by twiddle and other tools to make JMX over RMI calls into a JBoss container. JRMPInvokerHA is a highly available version of the service. Config Files $SERVER_HOME/conf/jboss-service.xml $SERVER_HOME/deploy/cluster-service.xml

JRMPInvoker Service SSL Configuration <mbean name="jboss:service=invoker,type=jrmp" code="org.jboss.invocation.jrmp.server.jrmpinvoker"> <attribute name="rmiclientsocketfactory">org.jboss.security.ssl.rmisslclientsocketfactory< /attribute> <attribute name="rmiserversocketfactory">org.jboss.security.ssl.rmisslserversocketfactor y</attribute> <attribute name="securitydomain">java:/jaas/jrmp_invoker_massl</attribute> <depends>jboss.security:service=jaassecuritydomain,domain=jrmp_invoke R_MASSL</depends> </mbean> JRMP Invoker Service MBean RMI SSL ClientSocketFactory Name RMI SSL ServerSocketFactory Name JaasSecurityDomain Reference JaasSecurityDomain Dependency

JRMPInvokerHA Service SSL Configuration <mbean code="org.jboss.invocation.jrmp.server.jrmpinvokerha" name="jboss:service=invoker,type=jrmpha"> <attribute name="serveraddress">${jboss.bind.address}</attribute> <attribute name="rmiobjectport">12345</attribute> <attribute name="rmiclientsocketfactory">org.jboss.security.ssl.rmisslclientsocketfactory< /attribute> <attribute name="rmiserversocketfactory">org.jboss.security.ssl.rmisslserversocketfactor y</attribute> <attribute name="securitydomain">java:/jaas/jrmp_invoker_massl</attribute> <depends>jboss:service=naming</depends> <depends>jbosssx:service=jaassecuritydomain,domain=jrmp_invoker_m ASSL</depends> </mbean> JRMPInvokerHA MBean JaasSecurityDomain Reference JaasSecurityDomain Reference

IIOP Listening Port Used by remote CORBA clients. IIOP Protocol Config File: $SERVER_HOME/deploy/iiop-service.xml SSL Port is defined in $SERVER_HOME/conf/jacorb.properties.

IIOP Listening Endpoint SSL Configuration <mbean code="org.jboss.iiop.corbaorbservice" name="jboss:service=corbaorb"> <attribute name="securitydomain">java:/jaas/iiop+ssl</attribute> <depends>jboss.security:service=jaassecuritydomain,domain=iiop+s SL</depends> <depends>jboss:service=naming</depends> </mbean> IIOP Service MBean JaasSecurityDomain Reference JaasSecurityDomain Dependency

JNDI/HAJNDI Remote JNDI queries are usually done over unencrypted channels. Generally, non-sensitive information. There are exceptions. JBoss supports making JNDI requests over HTTPS using the httpha-invoker.sar service. See $SERVER_HOME/deploy/httpha-invoker.sar/META-INF/jbossservice.xml. Must configure an SSL Connector for JBossWeb (see previous slide).

Encrypted Cluster Communication JGroupsENCRYPT can be used to encrypt JGroups communication. Can be used to secure TCP or UDP communications. Default JChannels in all container. Example <VERIFY_SUSPECT /> <ENCRYPT encrypt_entire_message="true" boss:service=${jboss.partition.name:defaultpartition} boss.cache:service=ejb3sfsbclusteredcache jboss.cache:service=ejb3entitytreecache jboss.cache:service=tomcatclusteringcache jboss.messaging:service=postoffice -- DataChannelConfig (uses TCP by default, sym_init="128" sym_algorithm="aes/ecb/pkcs5padding" asym_init="512" <pbcast.nakack "/> asym_algorithm="rsa"/> jboss.messaging:service=postoffice ControlChannelConfig How it works: Private/Public Key are generated by container. Public Key shared among cluster members. Encrypts a shared key. Shared key used encrypt/decrypt each transmitted multicast packet.

JBossWS Native SOAP Web Services Want to abstract details of SSLSocketFactory initialization away from application code. Red Hat added StubExt.PROPERTY_SOCKET_FACTORY Must be set programatically. Passes SocketFactory into JBossRemoting Provide custom SSLSocketFactory that does a JNDI lookup on a JaasSecurityDomain.

ExtLdapLoginModule SSL Communication LdapExtLoginModule can be used to define a LDAP User Repository in JBoss. Uses JDK JNDI LDAP Connection Pooling functionality to maintain connections to LDAP. JDK library allows an SSLSocketFactory property to be set called[2]: java.naming.ldap.factory.socket Can be set as a JAAS LoginModule attribute in $SERVER_HOME/conf/login-config.xml Takes SSLSocketFactory class name. Socket Factory can do a JNDI lookup on a JaasSecurityDomain.

Closing Thoughts We have briefly reviewed the JBoss Services that may need to be secured. How to secure these Services. Use of JaasSecurityDomain Mbeans to secure these Services with SSL. Enhancements to JaasSecurityDomain MBeans. We have assembled information regarding JBoss s SSL use into one place.

References [1] http://community.jboss.org/wiki/jaassecuritydomain [2] http://java.sun.com/products/jndi/tutorial/ldap/security/ssl.html [3] http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/jsserefgui de.html#introduction [4] http://www.redhat.com/docs/en- US/JBoss_Enterprise_Application_Platform/4.3.0.cp07/html/Server_Configur ation_guide/the_jboss_security_extension_architecture- The_JaasSecurityDomain_MBean.html [5][ http://community.jboss.org/wiki/jaassecuritydomain [6][http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefG uide.html

Thank You Questions?????