This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.


java.security
class Provider

java.lang.Object extended by java.util.Dictionary extended by java.util.Hashtable extended by java.util.Properties extended by java.security.Provider
All Implemented Interfaces:
Serializable, Cloneable, Map
Direct Known Subclasses:
AuthProvider

Most common way to construct:

Provider p = Security.getProvider("MyPro");

Based on 11 examples


public abstract class Provider
extends Properties

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

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.

Some provider implementations may encounter unrecoverable internal errors during their operation, for example a failure to communicate with a security token. A {@link ProviderException} should be used to indicate such errors.

The service type Provider is reserved for use by the security framework. Services of this type cannot be added, removed, or modified by applications. The following attributes are automatically placed in each Provider object:

NameValue
Provider.id name String.valueOf(provider.getName())
Provider.id version String.valueOf(provider.getVersion())
Provider.id info String.valueOf(provider.getInfo())
Provider.id className provider.getClass().getName()


Nested Class Summary
static class

           The description of a security service.
 
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

          Clears this provider so that it no longer contains the properties used to look up facilities implemented by the provider.
 Enumeration

          Returns an enumeration of the values in this hashtable.
 Set

          Returns an unmodifiable Set view of the property entries contained in this Provider.
 Object
get(Object key)

          Returns the value to which the specified key is mapped, or if this map contains no mapping for the key.
 String

          Returns a human-readable description of the provider and its services.
 String

          Returns the name of this provider.
 String

          Searches for the property with the specified key in this property list.
 Provider.Service
getService(String type, String algorithm)

          Get the service describing this Provider's implementation of the specified type of this algorithm or alias.
 Set

          Get an unmodifiable Set of all services supported by this Provider.
 double

          Returns the version number for this provider.
 Enumeration

          Returns an enumeration of the keys in this hashtable.
 Set

          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

          Copies all of the mappings from the specified Map to this provider.
protected void

          Add a service.
 Object

          Removes the key property (and its corresponding value).
protected void

          Remove a service previously added using java.security.Provider.putService.
 String

          Returns a string with the name and the version number of this provider.
 Collection

          Returns an unmodifiable Collection view of the property values contained in this provider.
 
Methods inherited from class java.util.Properties
getProperty, getProperty, list, list, load, load, loadFromXML, propertyNames, save, setProperty, store, store, storeToXML, storeToXML, stringPropertyNames
 
Methods inherited from class java.util.Hashtable
clear, clone, contains, containsKey, containsValue, elements, entrySet, equals, get, hashCode, isEmpty, keys, keySet, put, putAll, rehash, remove, size, toString, values
 
Methods inherited from class java.util.Dictionary
elements, get, isEmpty, keys, put, remove, size
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, 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

clear

public synchronized 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.

Overrides:
clear in class Hashtable

elements

public Enumeration elements()
Overrides:
elements in class Hashtable

entrySet

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

Overrides:
entrySet in class Hashtable

get

public Object get(Object key)
Overrides:
get in class Hashtable
Parameters:
key

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.

getName

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

Returns:
the name of this provider.

getProperty

public String getProperty(String key)
Overrides:
getProperty in class Properties
Parameters:
key

getService

public synchronized Provider.Service getService(String type,
                                                String algorithm)
Get the service describing this Provider's implementation of the specified type of this algorithm or alias. If no such implementation exists, this method returns null. If there are two matching services, one added to this provider using {@link #putService putService()} and one added via {@link #put put()}, the service added via {@link #putService putService()} is returned.

Parameters:
type - the type of {@link Service service} requested (for example, MessageDigest)
algorithm - the case insensitive algorithm name (or alternate alias) of the service requested (for example, SHA-1)
Returns:
the service describing this Provider's matching service or null if no such service exists

getServices

public synchronized Set getServices()
Get an unmodifiable Set of all services supported by this Provider.

Returns:
an unmodifiable Set of all services supported by this Provider

getVersion

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

Returns:
the version number for this provider.

keys

public Enumeration keys()
Overrides:
keys in class Hashtable

keySet

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

Overrides:
keySet in class Hashtable

load

public synchronized 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.

put

public synchronized 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.

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.

putAll

public synchronized 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.

Overrides:
putAll in class Hashtable
Parameters:
t

putService

protected synchronized void putService(Provider.Service s)
Add a service. If a service of the same type with the same algorithm name exists and it was added using {@link #putService putService()}, it is replaced by the new service. This method also places information about this service in the provider's Hashtable values in the format described in the Java Cryptography Architecture API Specification & Reference .

Also, 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.

Parameters:
s - the Service to add

remove

public synchronized 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.

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.

removeService

protected synchronized void removeService(Provider.Service s)
Remove a service previously added using {@link #putService putService()}. The specified service is removed from this provider. It will no longer be returned by {@link #getService getService()} and its information will be removed from this provider's Hashtable.

Also, 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.

Parameters:
s - the Service to be removed

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.

values

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

Overrides:
values in class Hashtable


This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.
This page displays the Jadeite version of the documention, which is derived from the offical documentation that contains this copyright notice:
Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
The official Sun™ documentation can be found here at http://java.sun.com/javase/6/docs/api/.