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

    Eerste pagina van API Java Inhoudsopgave Haut

    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

Nederlandse vertaling

U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.

Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.

Bij voorbaat dank.

Document heeft de 11/06/2005 gemaakt, de laatste keer de 04/03/2020 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/java-api-rf-java/security/Provider.html

De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.

Referenties

  1. Bekijk - html-document Taal van het document:fr Manuel PHP : https://docs.oracle.com

Deze verwijzingen en links verwijzen naar documenten die geraadpleegd zijn tijdens het schrijven van deze pagina, of die aanvullende informatie kunnen geven, maar de auteurs van deze bronnen kunnen niet verantwoordelijk worden gehouden voor de inhoud van deze pagina.
De auteur Deze site is als enige verantwoordelijk voor de manier waarop de verschillende concepten, en de vrijheden die met de referentiewerken worden genomen, hier worden gepresenteerd. Vergeet niet dat u meerdere broninformatie moet doorgeven om het risico op fouten te verkleinen.

Inhoudsopgave Haut