java.security

Class 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:
    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()

      

    See Also:
    Serialized Form
    • 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<Object,Object>
        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<Object,Object>
        Overrides:
        clear in class Hashtable<Object,Object>
        Throws:
        SecurityException - if a security manager exists and its SecurityManager.checkSecurityAccess(java.lang.String) method denies access to clear this provider
        Since:
        1.2
      • 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<Object,Object>
        Overrides:
        putAll in class Hashtable<Object,Object>
        Parameters:
        t - mappings to be stored in this map
        Since:
        1.2
      • keySet

        public Set<Object> keySet()
        Returns an unmodifiable Set view of the property keys contained in this provider.
        Specified by:
        keySet in interface Map<Object,Object>
        Overrides:
        keySet in class Hashtable<Object,Object>
        Returns:
        a set view of the keys 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<Object,Object>
        Overrides:
        put in class Hashtable<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 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<Object,Object>
        Overrides:
        remove in class Hashtable<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 SecurityManager.checkSecurityAccess(java.lang.String) method denies access to remove this provider's properties.
        Since:
        1.2
      • get

        public Object get(Object key)
        Description copied from class: Hashtable
        Returns the value to which the specified key is mapped, or null if this map contains no mapping for the key.

        More formally, if this map contains a mapping from a key k to a value v such that (key.equals(k)), then this method returns v; otherwise it returns null. (There can be at most one such mapping.)

        Specified by:
        get in interface Map<Object,Object>
        Overrides:
        get in class Hashtable<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)
      • 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 using putService() and one added via put(), the service added via putService() is returned.
        Parameters:
        type - the type of 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
        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 using 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
        Throws:
        SecurityException - if a security manager exists and its SecurityManager.checkSecurityAccess(java.lang.String) method denies access to set property values.
        NullPointerException - if s is null
        Since:
        1.5
      • removeService

        protected void removeService(Provider.Service s)
        Remove a service previously added using putService(). The specified service is removed from this provider. It will no longer be returned by 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
        Throws:
        SecurityException - if a security manager exists and its SecurityManager.checkSecurityAccess(java.lang.String) method denies access to remove this provider's properties.
        NullPointerException - if s is null
        Since:
        1.5

Traduction non disponible

Les API Java ne sont pas encore traduites en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.

Document créé le 29/08/2006, dernière modification le 04/03/2020
Source du document imprimé : https://www.gaudry.be/java-api-rf-java/security/Provider.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : https://docs.oracle.com, Provider

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut