Package org.apache.storm.security.auth
Class AutoSSL
- java.lang.Object
-
- org.apache.storm.security.auth.AutoSSL
-
- All Implemented Interfaces:
IAutoCredentials
public class AutoSSL extends Object implements IAutoCredentials
This plugin is intended to be used for user topologies to send SSL keystore/truststore files to the remote workers. On the client side, this takes the files specified in ssl.credential.files, reads the file contents, base64's it, converts it to a String, and adds it to the credentials map. The key in the credentials map is the name of the file. On the worker side it uses the filenames from the ssl.credential.files config to lookup the keys in the credentials map and decodes it and writes it back out as a file.User is responsible for referencing them from the topology code as
filename.
-
-
Field Summary
Fields Modifier and Type Field Description static StringSSL_FILES_CONF
-
Constructor Summary
Constructors Constructor Description AutoSSL()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voiddeserializeSSLFile(String credsKey, String directory, Map<String,String> credentials)protected StringgetSSLWriteDirFromConf(Map<String,Object> conf)voidpopulateCredentials(Map<String,String> credentials)Called to populate the credentials on the client side.voidpopulateSubject(Subject subject, Map<String,String> credentials)Called to initially populate the subject on the worker side with credentials passed in.voidprepare(Map<String,Object> conf)static voidserializeSSLFile(String readFile, Map<String,String> credentials)voidupdateSubject(Subject subject, Map<String,String> credentials)Called to update the subject on the worker side when new credentials are recieved.
-
-
-
Field Detail
-
SSL_FILES_CONF
public static final String SSL_FILES_CONF
- See Also:
- Constant Field Values
-
-
Method Detail
-
serializeSSLFile
public static void serializeSSLFile(String readFile, Map<String,String> credentials)
-
deserializeSSLFile
public static void deserializeSSLFile(String credsKey, String directory, Map<String,String> credentials)
-
prepare
public void prepare(Map<String,Object> conf)
- Specified by:
preparein interfaceIAutoCredentials
-
populateCredentials
public void populateCredentials(Map<String,String> credentials)
Description copied from interface:IAutoCredentialsCalled to populate the credentials on the client side.- Specified by:
populateCredentialsin interfaceIAutoCredentials- Parameters:
credentials- the credentials to be populated.
-
updateSubject
public void updateSubject(Subject subject, Map<String,String> credentials)
Description copied from interface:IAutoCredentialsCalled to update the subject on the worker side when new credentials are recieved. This means that populateSubject has already been called on this subject.- Specified by:
updateSubjectin interfaceIAutoCredentials- Parameters:
subject- the subject to optionally put credentials in.credentials- the credentials to be used.
-
populateSubject
public void populateSubject(Subject subject, Map<String,String> credentials)
Description copied from interface:IAutoCredentialsCalled to initially populate the subject on the worker side with credentials passed in.- Specified by:
populateSubjectin interfaceIAutoCredentials- Parameters:
subject- the subject to optionally put credentials in.credentials- the credentials to be used.
-
-