On 06/05/2015 15:48, Mark Thomas wrote:
> On 06/05/2015 15:26, Konstantin Kolinko wrote:
>> 2015-05-06 15:36 GMT+03:00  <ma...@apache.org>:
>>> Author: markt
>>> Date: Wed May  6 12:36:50 2015
>>> New Revision: 1677971
>>>
>>> URL: http://svn.apache.org/r1677971
>>> Log:
>>> Use the truststoreProvider rather than the keystoreProvider for the trust 
>>> manager
>>>
>>> Modified:
>>>     tomcat/tc7.0.x/trunk/   (props changed)
>>>     
>>> tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java
>>>     tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
>>
>>
>>> Modified: 
>>> tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java
>>> URL: 
>>> http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java?rev=1677971&r1=1677970&r2=1677971&view=diff
>>> ==============================================================================
>>> --- 
>>> tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java
>>>  (original)
>>> +++ 
>>> tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java
>>>  Wed May  6 12:36:50 2015
>>> @@ -545,8 +545,7 @@ public class JSSESocketFactory implement
>>>              algorithm = TrustManagerFactory.getDefaultAlgorithm();
>>>          }
>>>
>>> -        return getTrustManagers(truststoreType, 
>>> endpoint.getKeystoreProvider(),
>>> -                algorithm);
>>> +        return getTrustManagers(truststoreType, 
>>> endpoint.getTruststoreProvider(), algorithm);
>>>      }
>>>
>>>      @Override
>>>
>>> Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
>>> URL: 
>>> http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1677971&r1=1677970&r2=1677971&view=diff
>>> ==============================================================================
>>> --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
>>> +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Wed May  6 12:36:50 2015
>>> @@ -128,6 +128,12 @@
>>>          <bug>57837</bug>: Add <code>text/css</code> to the default list of
>>>          compressable MIME types. (markt)
>>>        </fix>
>>> +      <fix>
>>> +        For the JSSE based TLS connectors, use the
>>> +        <code>truststoreProvider</code> rather than the
>>> +        <code>keystoreProvider</code> when creating the
>>> +        <code>TrustManager</code>s. (markt)
>>> +      </fix>
>>>      </changelog>
>>>    </subsection>
>>>    <subsection name="Jasper">
>>
>>
>> Hi!
>>
>> I voted for TC 6 backport of this revision, but on further review
>> there are two problems:
>>
>> 1. In other place that calls endpoint.getTruststoreProvider() --
>> JSSESocketFactory.getTrustStore()  -- there is some logic to fallback
>> to getKeystoreProvider(). It also consults a system property.
>>
>> If we call endpoint.getTruststoreProvider() directly then there is no
>> such fallback logic.
> 
> I'll look at fixing that.
> 
>> 2. The patch is not applicable to Tomcat 6 as is, as its endpoint
>> classes do not have "getTruststoreProvider()" method.
>>
>> Searching for "truststoreProvider" I see that documentation mentions
>> such option in config/http.xml, and the code in
>> JSSESocketFactory.getTrustStore() does
>>
>>         String truststoreProvider =
>>             (String)attributes.get("truststoreProvider");
>>
>> instead of using a getter method.
> 
> Once I fix the first issue, I'll put together a specific 6.0.x patch.

Looking at this again, I don't think the original patch was correct. I
need to spend some more time on this.

Mark


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to