[
https://issues.apache.org/jira/browse/HADOOP-10607?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14029306#comment-14029306
]
Larry McCay commented on HADOOP-10607:
--------------------------------------
I will address the exception and the return style points in another revision of
the patch.
The use of char[]'s over Strings are an accepted security best practice due to
Strings being immutable and therefore in memory until GC can clean them up.
Character arrays may be used and immediately overwritten to reduce the window
of time that the actual password is in memory. While in practice it is often
difficult to eliminate all String use for passwords, we shouldn't exacerbate
the issue by handing out passwords as Strings. At least the consumers should be
able to whack the password char[]'s when they are done with them.
If we really want to change this then I would suggest we do so in a follow up
jira.
> Create an API to Separate Credentials/Password Storage from Applications
> ------------------------------------------------------------------------
>
> Key: HADOOP-10607
> URL: https://issues.apache.org/jira/browse/HADOOP-10607
> Project: Hadoop Common
> Issue Type: New Feature
> Components: security
> Reporter: Larry McCay
> Assignee: Larry McCay
> Fix For: 3.0.0
>
> Attachments: 10607-10.patch, 10607-11.patch, 10607-2.patch,
> 10607-3.patch, 10607-4.patch, 10607-5.patch, 10607-6.patch, 10607-7.patch,
> 10607-8.patch, 10607-9.patch, 10607.patch
>
>
> As with the filesystem API, we need to provide a generic mechanism to support
> multiple credential storage mechanisms that are potentially from third
> parties.
> We need the ability to eliminate the storage of passwords and secrets in
> clear text within configuration files or within code.
> Toward that end, I propose an API that is configured using a list of URLs of
> CredentialProviders. The implementation will look for implementations using
> the ServiceLoader interface and thus support third party libraries.
> Two providers will be included in this patch. One using the credentials cache
> in MapReduce jobs and the other using Java KeyStores from either HDFS or
> local file system.
> A CredShell CLI will also be included in this patch which provides the
> ability to manage the credentials within the stores.
--
This message was sent by Atlassian JIRA
(v6.2#6252)