<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_05) on Thu Dec 08 16:09:31 KST 2005 -->
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<TITLE>
SSLContextFactoryBean (MINA 0.9.0 API)
</TITLE>

<META NAME="keywords" CONTENT="org.apache.mina.integration.spring.ssl.SSLContextFactoryBean class">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="SSLContextFactoryBean (MINA 0.9.0 API)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SSLContextFactoryBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../../org/apache/mina/integration/spring/ssl/KeyStoreFactoryBean.html" title="class in org.apache.mina.integration.spring.ssl"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../index.html?org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="SSLContextFactoryBean.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.springframework.beans.factory.config.AbstractFactoryBean">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.mina.integration.spring.ssl</FONT>
<BR>
Class SSLContextFactoryBean</H2>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://static.springframework.org/spring/docs/1.2.x/api/org/springframework/beans/factory/config/AbstractFactoryBean.html" title="class or interface in org.springframework.beans.factory.config">org.springframework.beans.factory.config.AbstractFactoryBean</A>
      <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.mina.integration.spring.ssl.SSLContextFactoryBean</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://static.springframework.org/spring/docs/1.2.x/api/org/springframework/beans/factory/DisposableBean.html" title="class or interface in org.springframework.beans.factory">DisposableBean</A>, <A HREF="http://static.springframework.org/spring/docs/1.2.x/api/org/springframework/beans/factory/FactoryBean.html" title="class or interface in org.springframework.beans.factory">FactoryBean</A>, <A HREF="http://static.springframework.org/spring/docs/1.2.x/api/org/springframework/beans/factory/InitializingBean.html" title="class or interface in org.springframework.beans.factory">InitializingBean</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>SSLContextFactoryBean</B><DT>extends <A HREF="http://static.springframework.org/spring/docs/1.2.x/api/org/springframework/beans/factory/config/AbstractFactoryBean.html" title="class or interface in org.springframework.beans.factory.config">AbstractFactoryBean</A></DL>
</PRE>

<P>
Spring <A HREF="http://static.springframework.org/spring/docs/1.2.x/api/org/springframework/beans/factory/FactoryBean.html" title="class or interface in org.springframework.beans.factory"><CODE>FactoryBean</CODE></A> implementation 
 which makes it possible to configure <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A> 
 instances using Spring.
 <p>
 If no properties are set the returned <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A> will
 be equivalent to what the following creates:
 <pre>
      SSLContext c = SSLContext.getInstance( "TLS" );
      c.init( null, null, null );
 </pre>
 </p>
 <p>
 Use the properties prefixed with <code>keyManagerFactory</code> to control
 the creation of the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManager.html" title="class or interface in javax.net.ssl"><CODE>KeyManager</CODE></A> to be used.
 </p>
 <p>
 Use the properties prefixed with <code>trustManagerFactory</code> to control
 the creation of the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory</CODE></A> to be used.
 </p>
<P>

<P>
<DL>
<DT><B>Version:</B></DT>
  <DD>$Rev$, $Date$</DD>
<DT><B>Author:</B></DT>
  <DD>The Apache Directory Project (dev@directory.apache.org)</DD>
</DL>
<HR>

<P>
<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.springframework.beans.factory.config.AbstractFactoryBean"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class org.springframework.beans.factory.config.<A HREF="http://static.springframework.org/spring/docs/1.2.x/api/org/springframework/beans/factory/config/AbstractFactoryBean.html" title="class or interface in org.springframework.beans.factory.config">AbstractFactoryBean</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://static.springframework.org/spring/docs/1.2.x/api/org/springframework/beans/factory/config/AbstractFactoryBean.html#logger" title="class or interface in org.springframework.beans.factory.config">logger</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#SSLContextFactoryBean()">SSLContextFactoryBean</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#createInstance()">createInstance</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#getObjectType()">getObjectType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setKeyManagerFactory(javax.net.ssl.KeyManagerFactory)">setKeyManagerFactory</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html" title="class or interface in javax.net.ssl">KeyManagerFactory</A>&nbsp;factory)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory</CODE></A> to use.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setKeyManagerFactoryAlgorithm(java.lang.String)">setKeyManagerFactoryAlgorithm</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;algorithm)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the algorithm to use when creating the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory</CODE></A> 
 using <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html#getInstance(java.lang.String)" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory.getInstance(java.lang.String)</CODE></A> or
 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html#getInstance(java.lang.String, java.lang.String)" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory.getInstance(java.lang.String, java.lang.String)</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setKeyManagerFactoryAlgorithmUseDefault(boolean)">setKeyManagerFactoryAlgorithmUseDefault</A></B>(boolean&nbsp;useDefault)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If this is set to <code>true</code> while no <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory</CODE></A>
 has been set using <A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setKeyManagerFactory(javax.net.ssl.KeyManagerFactory)"><CODE>setKeyManagerFactory(KeyManagerFactory)</CODE></A> and
 no algorithm has been set using 
 <A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setKeyManagerFactoryAlgorithm(java.lang.String)"><CODE>setKeyManagerFactoryAlgorithm(String)</CODE></A> the default algorithm
 return by <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html#getDefaultAlgorithm()" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory.getDefaultAlgorithm()</CODE></A> will be used.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setKeyManagerFactoryKeyStore(java.security.KeyStore)">setKeyManagerFactoryKeyStore</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/KeyStore.html" title="class or interface in java.security">KeyStore</A>&nbsp;keyStore)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/KeyStore.html" title="class or interface in java.security"><CODE>KeyStore</CODE></A> which will be used in the call to 
 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html#init(java.security.KeyStore, char[])" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory.init(java.security.KeyStore, char[])</CODE></A> when
 the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A> is created.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setKeyManagerFactoryKeyStorePassword(java.lang.String)">setKeyManagerFactoryKeyStorePassword</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;password)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the password which will be used in the call to 
 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html#init(java.security.KeyStore, char[])" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory.init(java.security.KeyStore, char[])</CODE></A> when
 the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A> is created.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setKeyManagerFactoryProvider(java.lang.String)">setKeyManagerFactoryProvider</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;provider)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the provider to use when creating the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory</CODE></A> 
 using 
 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html#getInstance(java.lang.String, java.lang.String)" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory.getInstance(java.lang.String, java.lang.String)</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setProtocol(java.lang.String)">setProtocol</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;protocol)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the protocol to use when creating the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setSecureRandom(java.security.SecureRandom)">setSecureRandom</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/SecureRandom.html" title="class or interface in java.security">SecureRandom</A>&nbsp;secureRandom)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/SecureRandom.html" title="class or interface in java.security"><CODE>SecureRandom</CODE></A> to use when initializing the 
 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setTrustManagerFactory(javax.net.ssl.TrustManagerFactory)">setTrustManagerFactory</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html" title="class or interface in javax.net.ssl">TrustManagerFactory</A>&nbsp;factory)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory</CODE></A> to use.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setTrustManagerFactoryAlgorithm(java.lang.String)">setTrustManagerFactoryAlgorithm</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;algorithm)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the algorithm to use when creating the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory</CODE></A> 
 using <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html#getInstance(java.lang.String)" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory.getInstance(java.lang.String)</CODE></A> or
 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html#getInstance(java.lang.String, java.lang.String)" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory.getInstance(java.lang.String, java.lang.String)</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setTrustManagerFactoryAlgorithmUseDefault(boolean)">setTrustManagerFactoryAlgorithmUseDefault</A></B>(boolean&nbsp;useDefault)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If this is set to <code>true</code> while no <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory</CODE></A>
 has been set using <A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setTrustManagerFactory(javax.net.ssl.TrustManagerFactory)"><CODE>setTrustManagerFactory(TrustManagerFactory)</CODE></A> and
 no algorithm has been set using 
 <A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setTrustManagerFactoryAlgorithm(java.lang.String)"><CODE>setTrustManagerFactoryAlgorithm(String)</CODE></A> the default algorithm
 return by <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html#getDefaultAlgorithm()" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory.getDefaultAlgorithm()</CODE></A> will be used.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setTrustManagerFactoryKeyStore(java.security.KeyStore)">setTrustManagerFactoryKeyStore</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/KeyStore.html" title="class or interface in java.security">KeyStore</A>&nbsp;keyStore)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/KeyStore.html" title="class or interface in java.security"><CODE>KeyStore</CODE></A> which will be used in the call to 
 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html#init(java.security.KeyStore)" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory.init(java.security.KeyStore)</CODE></A> when
 the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A> is created.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setTrustManagerFactoryProvider(java.lang.String)">setTrustManagerFactoryProvider</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;provider)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the provider to use when creating the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory</CODE></A> 
 using 
 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html#getInstance(java.lang.String, java.lang.String)" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory.getInstance(java.lang.String, java.lang.String)</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.springframework.beans.factory.config.AbstractFactoryBean"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.springframework.beans.factory.config.<A HREF="http://static.springframework.org/spring/docs/1.2.x/api/org/springframework/beans/factory/config/AbstractFactoryBean.html" title="class or interface in org.springframework.beans.factory.config">AbstractFactoryBean</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://static.springframework.org/spring/docs/1.2.x/api/org/springframework/beans/factory/config/AbstractFactoryBean.html#afterPropertiesSet()" title="class or interface in org.springframework.beans.factory.config">afterPropertiesSet</A>, <A HREF="http://static.springframework.org/spring/docs/1.2.x/api/org/springframework/beans/factory/config/AbstractFactoryBean.html#destroy()" title="class or interface in org.springframework.beans.factory.config">destroy</A>, <A HREF="http://static.springframework.org/spring/docs/1.2.x/api/org/springframework/beans/factory/config/AbstractFactoryBean.html#destroyInstance(java.lang.Object)" title="class or interface in org.springframework.beans.factory.config">destroyInstance</A>, <A HREF="http://static.springframework.org/spring/docs/1.2.x/api/org/springframework/beans/factory/config/AbstractFactoryBean.html#getObject()" title="class or interface in org.springframework.beans.factory.config">getObject</A>, <A HREF="http://static.springframework.org/spring/docs/1.2.x/api/org/springframework/beans/factory/config/AbstractFactoryBean.html#isSingleton()" title="class or interface in org.springframework.beans.factory.config">isSingleton</A>, <A HREF="http://static.springframework.org/spring/docs/1.2.x/api/org/springframework/beans/factory/config/AbstractFactoryBean.html#setSingleton(boolean)" title="class or interface in org.springframework.beans.factory.config">setSingleton</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="SSLContextFactoryBean()"><!-- --></A><H3>
SSLContextFactoryBean</H3>
<PRE>
public <B>SSLContextFactoryBean</B>()</PRE>
<DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="createInstance()"><!-- --></A><H3>
createInstance</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>createInstance</B>()
                         throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="http://static.springframework.org/spring/docs/1.2.x/api/org/springframework/beans/factory/config/AbstractFactoryBean.html#createInstance()" title="class or interface in org.springframework.beans.factory.config">createInstance</A></CODE> in class <CODE><A HREF="http://static.springframework.org/spring/docs/1.2.x/api/org/springframework/beans/factory/config/AbstractFactoryBean.html" title="class or interface in org.springframework.beans.factory.config">AbstractFactoryBean</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getObjectType()"><!-- --></A><H3>
getObjectType</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A> <B>getObjectType</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setProtocol(java.lang.String)"><!-- --></A><H3>
setProtocol</H3>
<PRE>
public void <B>setProtocol</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;protocol)</PRE>
<DL>
<DD>Sets the protocol to use when creating the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A>. The
 default is <code>TLS</code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>protocol</CODE> - the name of the protocol.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if the specified value is 
         <code>null</code>.</DL>
</DD>
</DL>
<HR>

<A NAME="setKeyManagerFactoryAlgorithmUseDefault(boolean)"><!-- --></A><H3>
setKeyManagerFactoryAlgorithmUseDefault</H3>
<PRE>
public void <B>setKeyManagerFactoryAlgorithmUseDefault</B>(boolean&nbsp;useDefault)</PRE>
<DL>
<DD>If this is set to <code>true</code> while no <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory</CODE></A>
 has been set using <A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setKeyManagerFactory(javax.net.ssl.KeyManagerFactory)"><CODE>setKeyManagerFactory(KeyManagerFactory)</CODE></A> and
 no algorithm has been set using 
 <A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setKeyManagerFactoryAlgorithm(java.lang.String)"><CODE>setKeyManagerFactoryAlgorithm(String)</CODE></A> the default algorithm
 return by <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html#getDefaultAlgorithm()" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory.getDefaultAlgorithm()</CODE></A> will be used.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>useDefault</CODE> - <code>true</code> or <code>false</code>.</DL>
</DD>
</DL>
<HR>

<A NAME="setTrustManagerFactoryAlgorithmUseDefault(boolean)"><!-- --></A><H3>
setTrustManagerFactoryAlgorithmUseDefault</H3>
<PRE>
public void <B>setTrustManagerFactoryAlgorithmUseDefault</B>(boolean&nbsp;useDefault)</PRE>
<DL>
<DD>If this is set to <code>true</code> while no <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory</CODE></A>
 has been set using <A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setTrustManagerFactory(javax.net.ssl.TrustManagerFactory)"><CODE>setTrustManagerFactory(TrustManagerFactory)</CODE></A> and
 no algorithm has been set using 
 <A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setTrustManagerFactoryAlgorithm(java.lang.String)"><CODE>setTrustManagerFactoryAlgorithm(String)</CODE></A> the default algorithm
 return by <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html#getDefaultAlgorithm()" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory.getDefaultAlgorithm()</CODE></A> will be used.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>useDefault</CODE> - <code>true</code> or <code>false</code>.</DL>
</DD>
</DL>
<HR>

<A NAME="setKeyManagerFactory(javax.net.ssl.KeyManagerFactory)"><!-- --></A><H3>
setKeyManagerFactory</H3>
<PRE>
public void <B>setKeyManagerFactory</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html" title="class or interface in javax.net.ssl">KeyManagerFactory</A>&nbsp;factory)</PRE>
<DL>
<DD>Sets the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory</CODE></A> to use. If this is set the properties
 which are used by this factory bean to create a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory</CODE></A>
 will all be ignored.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>factory</CODE> - the factory.</DL>
</DD>
</DL>
<HR>

<A NAME="setKeyManagerFactoryAlgorithm(java.lang.String)"><!-- --></A><H3>
setKeyManagerFactoryAlgorithm</H3>
<PRE>
public void <B>setKeyManagerFactoryAlgorithm</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;algorithm)</PRE>
<DL>
<DD>Sets the algorithm to use when creating the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory</CODE></A> 
 using <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html#getInstance(java.lang.String)" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory.getInstance(java.lang.String)</CODE></A> or
 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html#getInstance(java.lang.String, java.lang.String)" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory.getInstance(java.lang.String, java.lang.String)</CODE></A>.
 <p>
 This property will be ignored if a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory</CODE></A> has been
 set directly using <A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setKeyManagerFactory(javax.net.ssl.KeyManagerFactory)"><CODE>setKeyManagerFactory(KeyManagerFactory)</CODE></A>.
 </p>
 <p>
 If this property isn't set while no <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory</CODE></A> has been 
 set using <A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setKeyManagerFactory(javax.net.ssl.KeyManagerFactory)"><CODE>setKeyManagerFactory(KeyManagerFactory)</CODE></A> and 
 <A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setKeyManagerFactoryAlgorithmUseDefault(boolean)"><CODE>setKeyManagerFactoryAlgorithmUseDefault(boolean)</CODE></A> has been set to 
 <code>true</code> the value returned 
 by <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html#getDefaultAlgorithm()" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory.getDefaultAlgorithm()</CODE></A> will be used instead.
 </p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>algorithm</CODE> - the algorithm to use.</DL>
</DD>
</DL>
<HR>

<A NAME="setKeyManagerFactoryProvider(java.lang.String)"><!-- --></A><H3>
setKeyManagerFactoryProvider</H3>
<PRE>
public void <B>setKeyManagerFactoryProvider</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;provider)</PRE>
<DL>
<DD>Sets the provider to use when creating the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory</CODE></A> 
 using 
 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html#getInstance(java.lang.String, java.lang.String)" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory.getInstance(java.lang.String, java.lang.String)</CODE></A>.
 <p>
 This property will be ignored if a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory</CODE></A> has been
 set directly using <A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setKeyManagerFactory(javax.net.ssl.KeyManagerFactory)"><CODE>setKeyManagerFactory(KeyManagerFactory)</CODE></A>.
 </p>
 <p>
 If this property isn't set and no <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory</CODE></A> has been set
 using <A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setKeyManagerFactory(javax.net.ssl.KeyManagerFactory)"><CODE>setKeyManagerFactory(KeyManagerFactory)</CODE></A> 
 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html#getInstance(java.lang.String)" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory.getInstance(java.lang.String)</CODE></A> will be used
 to create the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory</CODE></A>.
 </p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>provider</CODE> - the name of the provider.</DL>
</DD>
</DL>
<HR>

<A NAME="setKeyManagerFactoryKeyStore(java.security.KeyStore)"><!-- --></A><H3>
setKeyManagerFactoryKeyStore</H3>
<PRE>
public void <B>setKeyManagerFactoryKeyStore</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/KeyStore.html" title="class or interface in java.security">KeyStore</A>&nbsp;keyStore)</PRE>
<DL>
<DD>Sets the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/KeyStore.html" title="class or interface in java.security"><CODE>KeyStore</CODE></A> which will be used in the call to 
 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html#init(java.security.KeyStore, char[])" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory.init(java.security.KeyStore, char[])</CODE></A> when
 the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A> is created.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>keyStore</CODE> - the key store.</DL>
</DD>
</DL>
<HR>

<A NAME="setKeyManagerFactoryKeyStorePassword(java.lang.String)"><!-- --></A><H3>
setKeyManagerFactoryKeyStorePassword</H3>
<PRE>
public void <B>setKeyManagerFactoryKeyStorePassword</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;password)</PRE>
<DL>
<DD>Sets the password which will be used in the call to 
 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/KeyManagerFactory.html#init(java.security.KeyStore, char[])" title="class or interface in javax.net.ssl"><CODE>KeyManagerFactory.init(java.security.KeyStore, char[])</CODE></A> when
 the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A> is created.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>password</CODE> - the password. Use <code>null</code> to disable password.</DL>
</DD>
</DL>
<HR>

<A NAME="setTrustManagerFactory(javax.net.ssl.TrustManagerFactory)"><!-- --></A><H3>
setTrustManagerFactory</H3>
<PRE>
public void <B>setTrustManagerFactory</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html" title="class or interface in javax.net.ssl">TrustManagerFactory</A>&nbsp;factory)</PRE>
<DL>
<DD>Sets the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory</CODE></A> to use. If this is set the properties
 which are used by this factory bean to create a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory</CODE></A>
 will all be ignored.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>factory</CODE> - the factory.</DL>
</DD>
</DL>
<HR>

<A NAME="setTrustManagerFactoryAlgorithm(java.lang.String)"><!-- --></A><H3>
setTrustManagerFactoryAlgorithm</H3>
<PRE>
public void <B>setTrustManagerFactoryAlgorithm</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;algorithm)</PRE>
<DL>
<DD>Sets the algorithm to use when creating the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory</CODE></A> 
 using <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html#getInstance(java.lang.String)" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory.getInstance(java.lang.String)</CODE></A> or
 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html#getInstance(java.lang.String, java.lang.String)" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory.getInstance(java.lang.String, java.lang.String)</CODE></A>.
 <p>
 This property will be ignored if a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory</CODE></A> has been
 set directly using <A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setTrustManagerFactory(javax.net.ssl.TrustManagerFactory)"><CODE>setTrustManagerFactory(TrustManagerFactory)</CODE></A>.
 </p>
 <p>
 If this property isn't set while no <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory</CODE></A> has been 
 set using <A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setTrustManagerFactory(javax.net.ssl.TrustManagerFactory)"><CODE>setTrustManagerFactory(TrustManagerFactory)</CODE></A> and 
 <A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setTrustManagerFactoryAlgorithmUseDefault(boolean)"><CODE>setTrustManagerFactoryAlgorithmUseDefault(boolean)</CODE></A> has been set to 
 <code>true</code> the value returned 
 by <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html#getDefaultAlgorithm()" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory.getDefaultAlgorithm()</CODE></A> will be used instead.
 </p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>algorithm</CODE> - the algorithm to use.</DL>
</DD>
</DL>
<HR>

<A NAME="setTrustManagerFactoryKeyStore(java.security.KeyStore)"><!-- --></A><H3>
setTrustManagerFactoryKeyStore</H3>
<PRE>
public void <B>setTrustManagerFactoryKeyStore</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/KeyStore.html" title="class or interface in java.security">KeyStore</A>&nbsp;keyStore)</PRE>
<DL>
<DD>Sets the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/KeyStore.html" title="class or interface in java.security"><CODE>KeyStore</CODE></A> which will be used in the call to 
 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html#init(java.security.KeyStore)" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory.init(java.security.KeyStore)</CODE></A> when
 the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A> is created.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>keyStore</CODE> - the key store.</DL>
</DD>
</DL>
<HR>

<A NAME="setTrustManagerFactoryProvider(java.lang.String)"><!-- --></A><H3>
setTrustManagerFactoryProvider</H3>
<PRE>
public void <B>setTrustManagerFactoryProvider</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;provider)</PRE>
<DL>
<DD>Sets the provider to use when creating the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory</CODE></A> 
 using 
 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html#getInstance(java.lang.String, java.lang.String)" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory.getInstance(java.lang.String, java.lang.String)</CODE></A>.
 <p>
 This property will be ignored if a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory</CODE></A> has been
 set directly using <A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setTrustManagerFactory(javax.net.ssl.TrustManagerFactory)"><CODE>setTrustManagerFactory(TrustManagerFactory)</CODE></A>.
 </p>
 <p>
 If this property isn't set and no <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory</CODE></A> has been set
 using <A HREF="../../../../../../org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html#setTrustManagerFactory(javax.net.ssl.TrustManagerFactory)"><CODE>setTrustManagerFactory(TrustManagerFactory)</CODE></A> 
 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html#getInstance(java.lang.String)" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory.getInstance(java.lang.String)</CODE></A> will be used
 to create the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/TrustManagerFactory.html" title="class or interface in javax.net.ssl"><CODE>TrustManagerFactory</CODE></A>.
 </p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>provider</CODE> - the name of the provider.</DL>
</DD>
</DL>
<HR>

<A NAME="setSecureRandom(java.security.SecureRandom)"><!-- --></A><H3>
setSecureRandom</H3>
<PRE>
public void <B>setSecureRandom</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/SecureRandom.html" title="class or interface in java.security">SecureRandom</A>&nbsp;secureRandom)</PRE>
<DL>
<DD>Sets the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/SecureRandom.html" title="class or interface in java.security"><CODE>SecureRandom</CODE></A> to use when initializing the 
 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A>. The JVM's default will be used if this isn't set.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>secureRandom</CODE> - the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/SecureRandom.html" title="class or interface in java.security"><CODE>SecureRandom</CODE></A> or <code>null</code> if the 
        JVM's default should be used.<DT><B>See Also:</B><DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html#init(javax.net.ssl.KeyManager[], javax.net.ssl.TrustManager[], java.security.SecureRandom)" title="class or interface in javax.net.ssl"><CODE>SSLContext.init(javax.net.ssl.KeyManager[], javax.net.ssl.TrustManager[], java.security.SecureRandom)</CODE></A></DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SSLContextFactoryBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../../org/apache/mina/integration/spring/ssl/KeyStoreFactoryBean.html" title="class in org.apache.mina.integration.spring.ssl"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../index.html?org/apache/mina/integration/spring/ssl/SSLContextFactoryBean.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="SSLContextFactoryBean.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.springframework.beans.factory.config.AbstractFactoryBean">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright &copy; 2004-2005 . All Rights Reserved.
</BODY>
</HTML>
