java.security
Class Security

java.lang.Object
  extended by java.security.Security

public final class Security
extends Object

This class centralizes all security properties and common security methods. One of its primary uses is to manage security providers.


Method Summary
static int addProvider(Provider provider)
          Appends the designated new Provider to the current list of installed Providers.
static String getAlgorithmProperty(String algName, String propName)
          Deprecated. Use the provider-based and algorithm-independent AlgorithmParameters and KeyFactory engine classes instead.
static Set<String> getAlgorithms(String serviceName)
          For a given service (e.g.
static String getProperty(String key)
          Returns the value associated with a Security propery.
static Provider getProvider(String name)
          Returns an already installed Provider given its name.
static Provider[] getProviders()
          Returns the current list of installed Providers as an array ordered according to their installation preference order.
static Provider[] getProviders(Map<String,String> filter)
          Returns an array of currently installed Providers which satisfy a set of selection criteria.
static Provider[] getProviders(String filter)
          Returns an array of currently installed Providers, ordered according to their installation preference order, which satisfy a given selection criterion.
static int insertProviderAt(Provider provider, int position)
          Inserts a new designated Provider at a designated (1-based) position in the current list of installed Providers,
static void removeProvider(String name)
          Removes an already installed Provider, given its name, from the current list of installed Providers.
static void setProperty(String key, String datum)
          Sets or changes a designated Security property to a designated value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getAlgorithmProperty

public static String getAlgorithmProperty(String algName,
                                          String propName)
Deprecated. Use the provider-based and algorithm-independent AlgorithmParameters and KeyFactory engine classes instead.

Returns the value associated to a designated property name for a given algorithm.

Parameters:
algName - the algorithm name.
propName - the name of the property to return.
Returns:
the value of the specified property or null if none found.

insertProviderAt

public static int insertProviderAt(Provider provider,
                                   int position)
Inserts a new designated Provider at a designated (1-based) position in the current list of installed Providers,

Parameters:
provider - the new Provider to add.
position - the position (starting from 1) of where to install provider.
Returns:
the actual position, in the list of installed Providers. Returns -1 if provider was laready in the list. The actual position may be different than the desired position.
Throws:
SecurityException - if a SecurityManager is installed and it disallows this operation.
See Also:
getProvider(String), removeProvider(String), SecurityPermission

addProvider

public static int addProvider(Provider provider)
Appends the designated new Provider to the current list of installed Providers.

Parameters:
provider - the new Provider to append.
Returns:
the position (starting from 1) of provider in the current list of Providers, or -1 if provider was already there.
Throws:
SecurityException - if a SecurityManager is installed and it disallows this operation.
See Also:
getProvider(String), removeProvider(String), SecurityPermission

removeProvider

public static void removeProvider(String name)
Removes an already installed Provider, given its name, from the current list of installed Providers.

Parameters:
name - the name of an already installed Provider to remove.
Throws:
SecurityException - if a SecurityManager is installed and it disallows this operation.
See Also:
getProvider(String), addProvider(Provider)

getProviders

public static Provider[] getProviders()
Returns the current list of installed Providers as an array ordered according to their installation preference order.

Returns:
an array of all the installed providers.

getProvider

public static Provider getProvider(String name)
Returns an already installed Provider given its name.

Parameters:
name - the name of an already installed Provider.
Returns:
the Provider known by name. Returns null if the current list of Providers does not include one named name.
See Also:
removeProvider(String), addProvider(Provider)

getProperty

public static String getProperty(String key)
Returns the value associated with a Security propery.

Parameters:
key - the key of the property to fetch.
Returns:
the value of the Security property associated with key. Returns null if no such property was found.
Throws:
SecurityException - if a SecurityManager is installed and it disallows this operation.
See Also:
setProperty(String, String), SecurityPermission

setProperty

public static void setProperty(String key,
                               String datum)
Sets or changes a designated Security property to a designated value.

Parameters:
key - the name of the property to set.
datum - the new value of the property.
Throws:
SecurityException - if a SecurityManager is installed and it disallows this operation.
See Also:
getProperty(String), SecurityPermission

getAlgorithms

public static Set<String> getAlgorithms(String serviceName)
For a given service (e.g. Signature, MessageDigest, etc...) this method returns the Set of all available algorithm names (instances of String, from all currently installed Providers.

Parameters:
serviceName - the case-insensitive name of a service (e.g. Signature, MessageDigest, etc).
Returns:
a Set of Strings containing the names of all algorithm names provided by all of the currently installed Providers.
Since:
1.4

getProviders

public static Provider[] getProviders(String filter)
Returns an array of currently installed Providers, ordered according to their installation preference order, which satisfy a given selection criterion.

This implementation recognizes a selection criterion written in one of two following forms:

Parameters:
filter - the selection criterion for selecting among the installed Providers.
Returns:
all the installed Providers which satisfy the selection criterion. Returns null if no installed Providers were found which satisfy the selection criterion. Returns ALL installed Providers if filter is null or is an empty string.
Throws:
InvalidParameterException - if an exception occurs while parsing the filter.
See Also:
getProviders(Map)

getProviders

public static Provider[] getProviders(Map<String,String> filter)
Returns an array of currently installed Providers which satisfy a set of selection criteria.

The selection criteria are defined in a Map where each element specifies a selection querry. The Keys in this Map must be in one of the two following forms:

Parameters:
filter - a Map of selection querries.
Returns:
all currently installed Providers which satisfy ALL the selection criteria defined in filter. Returns ALL installed Providers if filter is null or empty.
Throws:
InvalidParameterException - if an exception is encountered while parsing the syntax of the Map's keys.
See Also:
getProviders(String)