java.security
Class Provider

java.lang.Object
  |
  +--java.util.Dictionary
        |
        +--java.util.Hashtable
              |
              +--java.util.Properties
                    |
                    +--java.security.Provider
All Implemented Interfaces:
Cloneable, Map, Serializable
public abstract class Provider
extends Properties

"provider" for the Java Security API, where a provider implements some or all parts of Java Security. Services that a provider may implement include:

  • Algorithms (such as DSA, RSA, MD5 or SHA-1).
  • Key generation, conversion, and management facilities (such as for algorithm-specific keys).

Each provider has a name and a version number, and is configured in each runtime it is installed in.

See The Provider Class in the "Java Cryptography Architecture API Specification & Reference" for information about how a particular type of provider, the cryptographic service provider, works and is installed. However, please note that a provider can be used to implement any security service in Java that uses a pluggable architecture with a choice of implementations that fit underneath.

See Also:
Serialized Form

 

Nested Class Summary

 
Nested classes inherited from class java.util.Map
Map.Entry
 

 

Field Summary

 
Fields inherited from class java.util.Properties
defaults
 

 

Constructor Summary

protected Provider(String name, double version, String info)
    Constructs a provider with the specified name, version number, and information.
 

 

Method Summary

 void clear()
    Clears this provider so that it no longer contains the properties used to look up facilities implemented by the provider.
 Set entrySet()
    Returns an unmodifiable Set view of the property entries contained in this Provider.
 String getInfo()
    Returns a human-readable description of the provider and its services.
 String getName()
    Returns the name of this provider.
 double getVersion()
    Returns the version number for this provider.
 Set keySet()
    Returns an unmodifiable Set view of the property keys contained in this provider.
 void load(InputStream inStream)
    Reads a property list (key and element pairs) from the input stream.
 Object put(Object key, Object value)
    Sets the key property to have the specified value.
 void putAll(Map t)
    Copies all of the mappings from the specified Map to this provider.
 Object remove(Object key)
    Removes the key property (and its corresponding value).
 String toString()
    Returns a string with the name and the version number of this provider.
 Collection values()
    Returns an unmodifiable Collection view of the property values contained in this provider.
 
Methods inherited from class java.util.Properties
getProperty, getProperty, list, list, propertyNames, save, setProperty, store
 
Methods inherited from class java.util.Hashtable
clone, contains, containsKey, containsValue, elements, equals, get, hashCode, isEmpty, keys, rehash, size
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

 

Constructor Detail

 

Provider

protected Provider(String name,
                   double version,
                   String info)
Constructs a provider with the specified name, version number, and information.

Parameters:
name - the provider name.
version - the provider version number.
info - a description of the provider and its services.

 

Method Detail

 

getName

public String getName()
Returns the name of this provider.

Returns:
the name of this provider.

 

getVersion

public double getVersion()
Returns the version number for this provider.

Returns:
the version number for this provider.

 

getInfo

public String getInfo()
Returns a human-readable description of the provider and its services. This may return an HTML page, with relevant links.

Returns:
a description of the provider and its services.

 

toString

public String toString()
Returns a string with the name and the version number of this provider.

Overrides:
toString in class Hashtable
Returns:
the string with the name and the version number for this provider.

 

clear

public void clear()
Clears this provider so that it no longer contains the properties used to look up facilities implemented by the provider.

First, if there is a security manager, its checkSecurityAccess method is called with the string "clearProviderProperties."+name (where name is the provider name) to see if it's ok to clear this provider. If the default implementation of checkSecurityAccess is used (that is, that method is not overriden), then this results in a call to the security manager's checkPermission method with a SecurityPermission("clearProviderProperties."+name) permission.

Specified by:
clear in interface Map
Overrides:
clear in class Hashtable
Throws:
SecurityException - if a security manager exists and its SecurityManager.checkSecurityAccess(java.lang.String) method denies access to clear this provider
Since:
1.2

 

load

public void load(InputStream inStream)
          throws IOException
Reads a property list (key and element pairs) from the input stream.

Overrides:
load in class Properties
Parameters:
inStream - the input stream.
Throws:
IOException - if an error occurred when reading from the input stream.
See Also:
Properties.load(java.io.InputStream)

 

putAll

public void putAll(Map t)
Copies all of the mappings from the specified Map to this provider. These mappings will replace any properties that this provider had for any of the keys currently in the specified Map.

Specified by:
putAll in interface Map
Overrides:
putAll in class Hashtable
Parameters:
t - Mappings to be stored in this map.
Since:
1.2

 

entrySet

public Set entrySet()
Returns an unmodifiable Set view of the property entries contained in this Provider.

Specified by:
entrySet in interface Map
Overrides:
entrySet in class Hashtable
Returns:
a set view of the mappings contained in this map.
Since:
1.2
See Also:
Map.Entry

 

keySet

public Set keySet()
Returns an unmodifiable Set view of the property keys contained in this provider.

Specified by:
keySet in interface Map
Overrides:
keySet in class Hashtable
Returns:
a set view of the keys contained in this map.
Since:
1.2

 

values

public Collection values()
Returns an unmodifiable Collection view of the property values contained in this provider.

Specified by:
values in interface Map
Overrides:
values in class Hashtable
Returns:
a collection view of the values contained in this map.
Since:
1.2

 

put

public Object put(Object key,
                  Object value)
Sets the key property to have the specified value.

First, if there is a security manager, its checkSecurityAccess method is called with the string "putProviderProperty."+name, where name is the provider name, to see if it's ok to set this provider's property values. If the default implementation of checkSecurityAccess is used (that is, that method is not overriden), then this results in a call to the security manager's checkPermission method with a SecurityPermission("putProviderProperty."+name) permission.

Specified by:
put in interface Map
Overrides:
put in class Hashtable
Parameters:
key - the property key.
value - the property value.
Returns:
the previous value of the specified property (key), or null if it did not have one.
Throws:
SecurityException - if a security manager exists and its SecurityManager.checkSecurityAccess(java.lang.String) method denies access to set property values.
Since:
1.2
See Also:
Object.equals(Object), Hashtable.get(Object)

 

remove

public Object remove(Object key)
Removes the key property (and its corresponding value).

First, if there is a security manager, its checkSecurityAccess method is called with the string ""removeProviderProperty."+name, where name is the provider name, to see if it's ok to remove this provider's properties. If the default implementation of checkSecurityAccess is used (that is, that method is not overriden), then this results in a call to the security manager's checkPermission method with a SecurityPermission("removeProviderProperty."+name) permission.

Specified by:
remove in interface Map
Overrides:
remove in class Hashtable
Parameters:
key - the key for the property to be removed.
Returns:
the value to which the key had been mapped, or null if the key did not have a mapping.
Throws:
SecurityException - if a security manager exists and its SecurityManager.checkSecurityAccess(java.lang.String) method denies access to remove this provider's properties.
Since:
1.2