- java.lang.Object
-
- java.util.Dictionary<K,V>
-
- java.util.Hashtable<Object,Object>
-
- java.util.Properties
-
- java.security.Provider
-
- All Implemented Interfaces:
- Serializable, Cloneable, Map<Object,Object>
- Direct Known Subclasses:
- AuthProvider
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:- 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.
Some provider implementations may encounter unrecoverable internal errors during their operation, for example a failure to communicate with a security token. A
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:Name Value 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()
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description static class
Provider.Service
The description of a security service.
-
Field Summary
-
Fields inherited from class java.util.Properties
defaults
-
-
Constructor Summary
Constructors Modifier Constructor and Description protected
Provider(String name, double version, String info)
Constructs a provider with the specified name, version number, and information.
-
Method Summary
Methods Modifier and Type Method and Description void
clear()
Clears this provider so that it no longer contains the properties used to look up facilities implemented by the provider.Enumeration<Object>
elements()
Returns an enumeration of the values in this hashtable.Set<Map.Entry<Object,Object>>
entrySet()
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, ornull
if this map contains no mapping for the key.String
getInfo()
Returns a human-readable description of the provider and its services.String
getName()
Returns the name of this provider.String
getProperty(String key)
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<Provider.Service>
getServices()
Get an unmodifiable Set of all services supported by this Provider.double
getVersion()
Returns the version number for this provider.Enumeration<Object>
keys()
Returns an enumeration of the keys in this hashtable.Set<Object>
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 thekey
property to have the specifiedvalue
.void
putAll(Map<?,?> t)
Copies all of the mappings from the specified Map to this provider.protected void
putService(Provider.Service s)
Add a service.Object
remove(Object key)
Removes thekey
property (and its correspondingvalue
).protected void
removeService(Provider.Service s)
Remove a service previously added usingputService()
.String
toString()
Returns a string with the name and the version number of this provider.Collection<Object>
values()
Returns an unmodifiable Collection view of the property values contained in this provider.-
Methods inherited from class java.util.Properties
getProperty, list, list, load, loadFromXML, propertyNames, save, setProperty, store, store, storeToXML, storeToXML, stringPropertyNames
-
Methods inherited from class java.util.Hashtable
clone, contains, containsKey, containsValue, equals, hashCode, isEmpty, rehash, size
-
-
-
-
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.
-
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
(wherename
is the provider name) to see if it's ok to clear this provider. If the default implementation ofcheckSecurityAccess
is used (that is, that method is not overriden), then this results in a call to the security manager'scheckPermission
method with aSecurityPermission("clearProviderProperties."+name)
permission.- Specified by:
clear
in interfaceMap<Object,Object>
- Overrides:
clear
in classHashtable<Object,Object>
- Throws:
SecurityException
- if a security manager exists and its
method denies access to clear this providerSecurityManager.checkSecurityAccess(java.lang.String)
- 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 classProperties
- Parameters:
inStream
- the input stream.- Throws:
IOException
- if an error occurred when reading from the input stream.- See Also:
Properties.load(java.io.Reader)
-
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.
-
entrySet
public Set<Map.Entry<Object,Object>> entrySet()
Returns an unmodifiable Set view of the property entries contained in this Provider.
-
keySet
public Set<Object> keySet()
Returns an unmodifiable Set view of the property keys contained in this provider.
-
values
public Collection<Object> values()
Returns an unmodifiable Collection view of the property values contained in this provider.
-
put
public Object put(Object key, Object value)
Sets thekey
property to have the specifiedvalue
.First, if there is a security manager, its
checkSecurityAccess
method is called with the string"putProviderProperty."+name
, wherename
is the provider name, to see if it's ok to set this provider's property values. If the default implementation ofcheckSecurityAccess
is used (that is, that method is not overriden), then this results in a call to the security manager'scheckPermission
method with aSecurityPermission("putProviderProperty."+name)
permission.- Specified by:
put
in interfaceMap<Object,Object>
- Overrides:
put
in classHashtable<Object,Object>
- 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
method denies access to set property values.SecurityManager.checkSecurityAccess(java.lang.String)
- Since:
- 1.2
- See Also:
Object.equals(Object)
,Hashtable.get(Object)
-
remove
public Object remove(Object key)
Removes thekey
property (and its correspondingvalue
).First, if there is a security manager, its
checkSecurityAccess
method is called with the string"removeProviderProperty."+name
, wherename
is the provider name, to see if it's ok to remove this provider's properties. If the default implementation ofcheckSecurityAccess
is used (that is, that method is not overriden), then this results in a call to the security manager'scheckPermission
method with aSecurityPermission("removeProviderProperty."+name)
permission.- Specified by:
remove
in interfaceMap<Object,Object>
- Overrides:
remove
in classHashtable<Object,Object>
- 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
method denies access to remove this provider's properties.SecurityManager.checkSecurityAccess(java.lang.String)
- Since:
- 1.2
-
get
public Object get(Object key)
Description copied from class:Hashtable
Returns the value to which the specified key is mapped, ornull
if this map contains no mapping for the key.More formally, if this map contains a mapping from a key
k
to a valuev
such that(key.equals(k))
, then this method returnsv
; otherwise it returnsnull
. (There can be at most one such mapping.)- Specified by:
get
in interfaceMap<Object,Object>
- Overrides:
get
in classHashtable<Object,Object>
- Parameters:
key
- the key whose associated value is to be returned- Returns:
- the value to which the specified key is mapped, or
null
if this map contains no mapping for the key - See Also:
Hashtable.put(Object, Object)
-
keys
public Enumeration<Object> keys()
Description copied from class:Hashtable
Returns an enumeration of the keys in this hashtable.- Overrides:
keys
in classHashtable<Object,Object>
- Returns:
- an enumeration of the keys in this hashtable.
- See Also:
Enumeration
,Hashtable.elements()
,Hashtable.keySet()
,Map
-
elements
public Enumeration<Object> elements()
Description copied from class:Hashtable
Returns an enumeration of the values in this hashtable. Use the Enumeration methods on the returned object to fetch the elements sequentially.- Overrides:
elements
in classHashtable<Object,Object>
- Returns:
- an enumeration of the values in this hashtable.
- See Also:
Enumeration
,Hashtable.keys()
,Hashtable.values()
,Map
-
getProperty
public String getProperty(String key)
Description copied from class:Properties
Searches for the property with the specified key in this property list. If the key is not found in this property list, the default property list, and its defaults, recursively, are then checked. The method returnsnull
if the property is not found.- Overrides:
getProperty
in classProperties
- Parameters:
key
- the property key.- Returns:
- the value in this property list with the specified key value.
- See Also:
Properties.setProperty(java.lang.String, java.lang.String)
,Properties.defaults
-
getService
public 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 usingputService()
and one added viaput()
, the service added viaputService()
is returned.- Parameters:
type
- the type ofservice
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
- Throws:
NullPointerException
- if type or algorithm is null- Since:
- 1.5
-
getServices
public Set<Provider.Service> getServices()
Get an unmodifiable Set of all services supported by this Provider.- Returns:
- an unmodifiable Set of all services supported by this Provider
- Since:
- 1.5
-
putService
protected 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 usingputService()
, 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
, wherename
is the provider name, to see if it's ok to set this provider's property values. If the default implementation ofcheckSecurityAccess
is used (that is, that method is not overriden), then this results in a call to the security manager'scheckPermission
method with aSecurityPermission("putProviderProperty."+name)
permission.- Parameters:
s
- the Service to add- Throws:
SecurityException
- if a security manager exists and its
method denies access to set property values.SecurityManager.checkSecurityAccess(java.lang.String)
NullPointerException
- if s is null- Since:
- 1.5
-
removeService
protected void removeService(Provider.Service s)
Remove a service previously added usingputService()
. The specified service is removed from this provider. It will no longer be returned bygetService()
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
, wherename
is the provider name, to see if it's ok to remove this provider's properties. If the default implementation ofcheckSecurityAccess
is used (that is, that method is not overriden), then this results in a call to the security manager'scheckPermission
method with aSecurityPermission("removeProviderProperty."+name)
permission.- Parameters:
s
- the Service to be removed- Throws:
SecurityException
- if a security manager exists and its
method denies access to remove this provider's properties.SecurityManager.checkSecurityAccess(java.lang.String)
NullPointerException
- if s is null- Since:
- 1.5
-
-
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 11/06/2005, zuletzt geändert 04/03/2020
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/java-api-rf-java/security/provider.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.