luehe       2003/11/18 17:19:44

  Modified:    util/java/org/apache/tomcat/util/net/jsse
                        JSSE14SocketFactory.java
  Log:
  Throw exception if keyAlias does not identify key entry in connector's
  key store, to prevent infinite loop on
  org.apache.tomcat.util.net.PoolTcpEndpoint acceptSocket
  
  Revision  Changes    Path
  1.17      +11 -2     
jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE14SocketFactory.java
  
  Index: JSSE14SocketFactory.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE14SocketFactory.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- JSSE14SocketFactory.java  11 Oct 2003 04:24:30 -0000      1.16
  +++ JSSE14SocketFactory.java  19 Nov 2003 01:19:44 -0000      1.17
  @@ -72,6 +72,8 @@
   import javax.net.ssl.TrustManagerFactory;
   import javax.net.ssl.X509KeyManager;
   
  +import org.apache.tomcat.util.res.StringManager;
  +
   /*
     1. Make the JSSE's jars available, either as an installed
        extension (copy them into jre/lib/ext) or by adding
  @@ -92,6 +94,9 @@
    */
   public class JSSE14SocketFactory  extends JSSESocketFactory {
   
  +    private static StringManager sm =
  +        StringManager.getManager("org.apache.tomcat.util.net.jsse.res");
  +
       public JSSE14SocketFactory () {
           super();
       }
  @@ -165,8 +170,12 @@
           String keystorePass = getKeystorePassword();
   
           KeyManagerFactory kmf = KeyManagerFactory.getInstance(algorithm);
  -        kmf.init(getKeystore(keystoreType, keystorePass),
  -                 keystorePass.toCharArray());
  +        KeyStore ks = getKeystore(keystoreType, keystorePass);
  +        if (!ks.isKeyEntry(keyAlias)) {
  +            throw new Exception(sm.getString("jsse.alias_no_key_entry", keyAlias));
  +        }
  +
  +        kmf.init(ks, keystorePass.toCharArray());
   
           kms = kmf.getKeyManagers();
           if (keyAlias != null) {
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to