[ 
https://issues.apache.org/jira/browse/HDFS-8509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15114422#comment-15114422
 ] 

Wellington Chevreuil commented on HDFS-8509:
--------------------------------------------

Here a summary of the changes proposed on the given patch:

1) *pom.xml* files changed on "*hadoop-project*", 
"*hadoop-common-project/hadoop-kms*" and 
"*hadoop-hdfs-project/hadoop-hdfs-httpfs*" projects were changed to refer to 
tomcat version 8;

2) Tomcat "*server.xml*" configuration file has some changes on Tomcat 8, in 
relation to Tomcat 6 (mainly some listener class definitions that had been 
changed and are not backward compatible), so it was needed to update this file 
on both "*hadoop-common-project/hadoop-kms*" and 
"*hadoop-hdfs-project/hadoop-hdfs-httpfs*" projects;

3) Changed 
"*hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/conf/httpfs-env.sh*" file to 
define new variable "*HTTPFS_SSL_KEY_PASS*" for the key password. For some 
reason, "*HTTPFS_SSL_ENABLED*" variable was not defined on *httpfs-env.sh* 
script, even though 
[documentation|https://hadoop.apache.org/docs/stable/hadoop-hdfs-httpfs/ServerSetup.html#HTTPFS_SSL_ENABLED]
 refers this should be set to *true* on this script in order to enable *SSL*. 
Had added this variable as comment to this script;

4) From Tomcat 7 onwards, *server.xml* connector defines *keyPass* attribute 
where a specific password for the key can be informed. Changed 
"*hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/sbin/httpfs.sh*" script to 
copy the key password *(if)* defined on "*httpfs-env.sh*" script and set it 
properly on *server.xml* to be used by *httpfs* tomcat instance. Also noticed 
that "*hdfs-httpfs*" used to have a *server-xml* template for *SSL*, named 
"*ssl-server.xml.conf*", from where specific *SSL* options were copied to a 
*server.xml* file. While testing the changes for this patch, noticed that once 
*SSL* has been enabled, the standard *server.xml* would be _regenerated with 
the SSL options, but switching back to non SSL (by simply disabling the 
HTTPFS_SSL_ENABLED flag on httpfs-env.sh script) would not suffice to revert 
SSL_, as now the original *server.xml* file had been overwritten with *SSL* 
options. For this reason, introduced also a "*server.xml.conf*" template file, 
to _allow for easily rollback from SSL to non-SSL deployment_.

> Support different passwords for key and keystore on HTTPFS using SSL. This 
> requires for a Tomcat version update.
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-8509
>                 URL: https://issues.apache.org/jira/browse/HDFS-8509
>             Project: Hadoop HDFS
>          Issue Type: Task
>          Components: webhdfs
>    Affects Versions: 2.7.0
>            Reporter: Wellington Chevreuil
>            Assignee: Wellington Chevreuil
>            Priority: Minor
>         Attachments: HDFS-8509.patch
>
>
> Currently, SSL for HTTPFS requires that keystore/truststore and key passwords 
> be the same. This is a limitation from Tomcat version 6, which didn't have 
> support for different passwords. From Tomcat 7, this is now possible by 
> defining "keyPass" property for "Connector" configuration on Tomcat's 
> server.xml file.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to