public final class

Security

extends Object
java.lang.Object
   ↳ java.security.Security

Class Overview

Security is the central class in the Java Security API. It manages the list of security Provider that have been installed into this runtime environment.

Summary

Public Methods
static int addProvider(Provider provider)
Adds the given provider to the collection of providers at the next available position.
static String getAlgorithmProperty(String algName, String propName)
This method is deprecated. Use AlgorithmParameters and KeyFactory instead.
static Set<String> getAlgorithms(String serviceName)
Returns a Set of all registered algorithms for the specified cryptographic service.
static String getProperty(String key)
Returns the value of the security property named by the argument.
synchronized static Provider getProvider(String name)
Returns the Provider with the specified name.
static Provider[] getProviders(String filter)
Returns the array of providers which meet the user supplied string filter.
synchronized static Provider[] getProviders()
Returns an array containing all installed providers.
synchronized static Provider[] getProviders(Map<StringString> filter)
Returns the array of providers which meet the user supplied set of filters.
synchronized static int insertProviderAt(Provider provider, int position)
Insert the given Provider at the specified position.
synchronized static void removeProvider(String name)
Removes the Provider with the specified name form the collection of providers.
static void setProperty(String key, String value)
Sets the value of the specified security property.
[Expand]
Inherited Methods
From class java.lang.Object

Public Methods

public static int addProvider (Provider provider)

Since: API Level 1

Adds the given provider to the collection of providers at the next available position.

Parameters
provider the provider to be added.
Returns
  • the actual position or -1 if the given provider was already in the list.

public static String getAlgorithmProperty (String algName, String propName)

Since: API Level 1

This method is deprecated.
Use AlgorithmParameters and KeyFactory instead.

Returns value for the specified algorithm with the specified name.

Parameters
algName the name of the algorithm.
propName the name of the property.
Returns
  • value of the property.

public static Set<String> getAlgorithms (String serviceName)

Since: API Level 1

Returns a Set of all registered algorithms for the specified cryptographic service. "Signature", "Cipher" and "KeyStore" are examples for such kind of services.

Parameters
serviceName the case-insensitive name of the service.
Returns
  • a Set of all registered algorithms for the specified cryptographic service, or an empty Set if serviceName is null or if no registered provider provides the requested service.

public static String getProperty (String key)

Since: API Level 1

Returns the value of the security property named by the argument.

Parameters
key the name of the requested security property.
Returns
  • the value of the security property.

public static synchronized Provider getProvider (String name)

Since: API Level 1

Returns the Provider with the specified name. Returns null if name is null or no provider with the specified name is installed.

Parameters
name the name of the requested provider.
Returns
  • the provider with the specified name, maybe null.

public static Provider[] getProviders (String filter)

Since: API Level 1

Returns the array of providers which meet the user supplied string filter. The specified filter must be supplied in one of two formats:

  • CRYPTO_SERVICE_NAME.ALGORITHM_OR_TYPE

    (for example: "MessageDigest.SHA")

  • CRYPTO_SERVICE_NAME.ALGORITHM_OR_TYPE ATTR_NAME:ATTR_VALUE

    (for example: "Signature.MD2withRSA KeySize:512")

  • Parameters
    filter case-insensitive filter.
    Returns
    • the providers which meet the user supplied string filter filter. A null value signifies that none of the installed providers meets the filter specification.
    Throws
    InvalidParameterException if an unusable filter is supplied.
    NullPointerException if filter is null.

    public static synchronized Provider[] getProviders ()

    Since: API Level 1

    Returns an array containing all installed providers. The providers are ordered according their preference order.

    Returns
    • an array containing all installed providers.

    public static synchronized Provider[] getProviders (Map<StringString> filter)

    Since: API Level 1

    Returns the array of providers which meet the user supplied set of filters. The filter must be supplied in one of two formats:

  • CRYPTO_SERVICE_NAME.ALGORITHM_OR_TYPE

    for example: "MessageDigest.SHA" The value associated with the key must be an empty string.

  • CRYPTO_SERVICE_NAME.ALGORITHM_OR_TYPE ATTR_NAME:ATTR_VALUE

    for example: "Signature.MD2withRSA KeySize:512" where "KeySize:512" is the value of the filter map entry.

  • Parameters
    filter case-insensitive filter.
    Returns
    • the providers which meet the user supplied string filter filter. A null value signifies that none of the installed providers meets the filter specification.
    Throws
    InvalidParameterException if an unusable filter is supplied.
    NullPointerException if filter is null.

    public static synchronized int insertProviderAt (Provider provider, int position)

    Since: API Level 1

    Insert the given Provider at the specified position. The positions define the preference order in which providers are searched for requested algorithms.

    Parameters
    provider the provider to insert.
    position the position (starting from 1).
    Returns
    • the actual position or -1 if the given provider was already in the list. The actual position may be different from the desired position.

    public static synchronized void removeProvider (String name)

    Since: API Level 1

    Removes the Provider with the specified name form the collection of providers. If the the Provider with the specified name is removed, all provider at a greater position are shifted down one position.

    Returns silently if name is null or no provider with the specified name is installed.

    Parameters
    name the name of the provider to remove.

    public static void setProperty (String key, String value)

    Since: API Level 1

    Sets the value of the specified security property.