Package org.apache.zookeeper.util
Class SecurityUtils
- java.lang.Object
-
- org.apache.zookeeper.util.SecurityUtils
-
public final class SecurityUtils extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringQUORUM_HOSTNAME_PATTERN
-
Constructor Summary
Constructors Constructor Description SecurityUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static javax.security.sasl.SaslClientcreateSaslClient(javax.security.auth.Subject subject, java.lang.String servicePrincipal, java.lang.String protocol, java.lang.String serverName, org.slf4j.Logger LOG, java.lang.String entity)Create an instance of a SaslClient.static javax.security.sasl.SaslServercreateSaslServer(javax.security.auth.Subject subject, java.lang.String protocol, java.lang.String serverName, javax.security.auth.callback.CallbackHandler callbackHandler, org.slf4j.Logger LOG)Create an instance of a SaslServer.static java.lang.StringgetServerPrincipal(java.lang.String principalConfig, java.lang.String hostname)Convert Kerberos principal name pattern to valid Kerberos principal name.
-
-
-
Field Detail
-
QUORUM_HOSTNAME_PATTERN
public static final java.lang.String QUORUM_HOSTNAME_PATTERN
- See Also:
- Constant Field Values
-
-
Method Detail
-
createSaslClient
public static javax.security.sasl.SaslClient createSaslClient(javax.security.auth.Subject subject, java.lang.String servicePrincipal, java.lang.String protocol, java.lang.String serverName, org.slf4j.Logger LOG, java.lang.String entity) throws javax.security.sasl.SaslExceptionCreate an instance of a SaslClient. It will return null if there is an exception.- Parameters:
subject- subjectservicePrincipal- principalprotocol- name of the protocol for which the authentication is being performedserverName- name of the server to authenticate toLOG- loggerentity- can be either zookeeper client or quorum learner- Returns:
- saslclient object
- Throws:
javax.security.sasl.SaslException
-
createSaslServer
public static javax.security.sasl.SaslServer createSaslServer(javax.security.auth.Subject subject, java.lang.String protocol, java.lang.String serverName, javax.security.auth.callback.CallbackHandler callbackHandler, org.slf4j.Logger LOG)Create an instance of a SaslServer. It will return null if there is an exception.- Parameters:
subject- subjectprotocol- protocolserverName- server namecallbackHandler- login callback handlerLOG- logger- Returns:
- sasl server object
-
getServerPrincipal
public static java.lang.String getServerPrincipal(java.lang.String principalConfig, java.lang.String hostname)Convert Kerberos principal name pattern to valid Kerberos principal name. If the principal name contains hostname pattern "_HOST" then it replaces with the given hostname, which should be fully-qualified domain name.- Parameters:
principalConfig- the Kerberos principal name conf value to converthostname- the fully-qualified domain name used for substitution- Returns:
- converted Kerberos principal name
-
-