| JaasSecurityDomainMBean.java |
/*
* JBoss, the OpenSource WebOS
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package org.jboss.security.plugins;
import java.io.IOException;
import javax.management.ObjectName;
import org.jboss.system.ServiceMBean;
/** The JaasSecurityDomainMBean adds support for KeyStore management.
@author Scott.Stark@jboss.org
@author <a href="mailto:jasone@greenrivercomputing.com">Jason Essington</a>
@version $Revision: 1.7 $
*/
public interface JaasSecurityDomainMBean extends ServiceMBean
{
/** KeyStore implementation type being used.
@return the KeyStore implementation type being used.
*/
public String getKeyStoreType();
/** Set the type of KeyStore implementation to use. This is
passed to the KeyStore.getInstance() factory method.
*/
public void setKeyStoreType(String type);
/** Get the KeyStore database URL string.
*/
public String getKeyStoreURL();
/** Set the KeyStore database URL string. This is used to obtain
an InputStream to initialize the KeyStore.
*/
public void setKeyStoreURL(String storeURL) throws IOException;
/** Set the credential string for the KeyStore.
*/
public void setKeyStorePass(String password);
/** Get the type of the trust store
* @return the type of the trust store
*/
public String getTrustStoreType();
/** Set the type of the trust store
* @param type - the trust store implementation type
*/
public void setTrustStoreType(String type);
/** Set the credential string for the trust store.
*/
public void setTrustStorePass(String password);
/** Get the trust store database URL string.
*/
public String getTrustStoreURL();
/** Set the trust store database URL string. This is used to obtain
an InputStream to initialize the trust store.
*/
public void setTrustStoreURL(String storeURL) throws IOException;
/**
Reload the key- and truststore
*/
public void reloadKeyAndTrustStore() throws Exception;
/** The JMX object name string of the security manager service.
@return The JMX object name string of the security manager service.
*/
public ObjectName getManagerServiceName();
/** Set the JMX object name string of the security manager service.
*/
public void setManagerServiceName(ObjectName jmxName);
/** Set the salt used with PBE based on the keystore password.
* @param salt - an 8 char randomization string
*/
public void setSalt(String salt);
/** Set the iteration count used with PBE based on the keystore password.
* @param count - an iteration count randomization value
*/
public void setIterationCount(int count);
/** Encode a secret using the keystore password and PBEwithMD5andDES algo
* @param secret - the byte sequence to encrypt
* @return the encrypted byte sequence
* @throws Exception
*/
public byte[] encode(byte[] secret)
throws Exception;
/** Decode a secret using the keystore password and PBEwithMD5andDES algo
* @param secret - the byte sequence to decrypt
* @return the decrypted byte sequence
* @throws Exception
*/
public byte[] decode(byte[] secret)
throws Exception;
/** Encode a secret using the keystore password and PBEwithMD5andDES algo
* @param secret - the byte sequence to encrypt as a base64 string using
* the Util.tob64() function
* @return the encrypted byte sequence
* @throws Exception
*/
public String encode64(byte[] secret)
throws Exception;
/** Decode a secret using the keystore password and PBEwithMD5andDES algo
* @param secret - the Util.tob64 string represention to decrypt
* @return the decrypted byte sequence
* @throws Exception
*/
public byte[] decode64(String secret)
throws Exception;
}
| JaasSecurityDomainMBean.java |