Класс Provider
- java.lang.Object
-
- java.util.Dictionary<K,V>
-
- java.util.Hashtable<Object,Object>
-
- java.util.Properties
-
- java.security.Provider
- Все реализованные интерфейсы:
-
Serializable,Cloneable,Map<Object,Object>
- Прямые известные подклассы:
AuthProvider
public abstract class Provider extends Properties
Этот класс представляет "провайдер" для API безопасности Java, где провайдер реализует некоторые или все части Java Security. Сервисы, которые может реализовать провайдер, включают:
- Алгоритмы (такие как DSA, RSA или SHA-256).
- Утилиты генерации, преобразования и управления ключами (например, для ключей, специфичных для алгоритма).
Некоторые реализации провайдеров могут столкнуться с невосстановимыми внутренними ошибками во время своей работы, например, с неудачей связи с токеном безопасности. Следует использовать ProviderException для указания таких ошибок.
Обратите внимание, что провайдер может быть использован для реализации любого сервиса безопасности в Java, который использует архитектуру с подключаемыми реализациями, позволяющую выбрать подходящую реализацию.
Тип сервиса Provider зарезервирован для использования в рамках фреймворка безопасности. Приложения не могут добавлять, удалять или изменять сервисы этого типа. Следующие атрибуты автоматически размещаются в каждом объекте Provider:
| Имя | Значение |
|---|---|
Provider.id name | String.valueOf(provider.getName()) |
Provider.id version | String.valueOf(provider.getVersionStr()) |
Provider.id info | String.valueOf(provider.getInfo()) |
Provider.id className | provider.getClass().getName() |
Каждый провайдер имеет имя и строку версии. Провайдер обычно идентифицирует себя файлом, названным java.security.Provider в каталоге ресурсов META-INF/services. Провайдеры безопасности ищутся с помощью механизма ServiceLoader, используя application class loader.
Провайдеры могут быть сконфигурированы таким образом, чтобы они автоматически устанавливались и становились доступными во время выполнения через метод Security.getProviders(). Механизм конфигурации и установки провайдеров безопасности зависит от реализации.
- Примечание для реализации:
- Реализация JDK поддерживает статическую регистрацию провайдеров безопасности через файл
conf/security/java.securityв каталоге установки Java. Эти провайдеры автоматически устанавливаются временем выполнения JDK, см. Класс Provider в справочнике Java Cryptography Architecture (JCA), чтобы узнать, как работает и устанавливается определенный тип провайдера, криптографический провайдер. - С:
- 1.1
- См. также:
- Формат сериализации
Вложенные классы
| Модификатор и тип | Класс | Описание |
|---|---|---|
static class | Provider.Service | Описание сервиса безопасности. |
Поля
Поля, объявленные в классе java.util.Properties
defaults Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected | Provider(String name,
double version,
String info) | Устаревшее. Используйте Provider(String, String, String) вместо него. |
protected | Provider(String name,
String versionStr,
String info) | Конструирует провайдер с указанным именем, строкой версии и информацией. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
void | clear() | Очищает этот поставщик, чтобы он больше не содержал свойства, используемые для поиска ресурсов, реализованных поставщиком. |
Object | compute(Object key,
BiFunction<? super Object,? super Object,? extends Object> remappingFunction) | Попытка вычислить отображение для указанного ключа и его текущего сопоставленного значения (или |
Object | computeIfAbsent(Object key,
Function<? super Object,? extends Object> mappingFunction) | Если указанный ключ еще не связан со значением (или сопоставлен с |
Object | computeIfPresent(Object key,
BiFunction<? super Object,? super Object,? extends Object> remappingFunction) | Если значение для указанного ключа присутствует и не равно null, попытка вычислить новое отображение, заданное ключом и его текущим сопоставленным значением. |
Provider | configure(String configArg) | Применяет предоставленный аргумент конфигурации к этому экземпляру поставщика и возвращает настроенного поставщика. |
Set<Map.Entry<Object,Object>> | entrySet() | Возвращает неизменяемый вид набора записей свойств, содержащихся в этом поставщике. |
void | forEach(BiConsumer<? super Object,? super Object> action) | Выполняет заданное действие для каждой записи в этом массиве до тех пор, пока все записи не будут обработаны или действие не выбросит исключение. |
String | getInfo() | Возвращает удобочитаемое описание поставщика и его услуг. |
String | getName() | Возвращает имя этого поставщика. |
Object | getOrDefault(Object key,
Object defaultValue) | Возвращает значение, которому соответствует указанный ключ, или |
Provider.Service | getService(String type,
String algorithm) | Получить описание сервиса, описывающего реализацию этого поставщика указанного типа алгоритма или псевдонима. |
Set<Provider.Service> | getServices() | Получить неизменяемый набор всех сервисов, поддерживаемых этим поставщиком. |
double | getVersion() | Устарело. Используйте getVersionStr() вместо этого. |
String | getVersionStr() | Возвращает строку версии для этого поставщика. |
boolean | isConfigured() | Проверяет, был ли настроен этот экземпляр поставщика. |
Set<Object> | keySet() | Возвращает неизменяемый вид набора ключей свойств, содержащихся в этом поставщике. |
void | load(InputStream inStream) | Читает список свойств (пары ключ-элемент) из входного потока. |
Object | merge(Object key,
Object value,
BiFunction<? super Object,? super Object,? extends Object> remappingFunction) | Если указанный ключ еще не связан со значением или связан с null, связывает его с заданным значением. |
Object | put(Object key,
Object value) | Устанавливает свойство |
void | putAll(Map<?,?> t) | Копирует все отображения из указанного Map в этот поставщик. |
Object | putIfAbsent(Object key,
Object value) | Если указанный ключ еще не связан со значением (или сопоставлен с |
protected void | putService(Provider.Service s) | Добавить службу. |
Object | remove(Object key) | Удаляет свойство |
boolean | remove(Object key,
Object value) | Удаляет запись для указанного ключа только в том случае, если она в настоящее время сопоставлена с указанным значением. |
protected void | removeService(Provider.Service s) | Удаляет службу, ранее добавленную с помощью |
Object | replace(Object key,
Object value) | Заменяет запись для указанного ключа только в том случае, если она в настоящее время сопоставлена с каким-либо значением. |
boolean | replace(Object key,
Object oldValue,
Object newValue) | Заменяет запись для указанного ключа только в том случае, если она в настоящее время сопоставлена с указанным значением. |
void | replaceAll(BiFunction<? super Object,? super Object,? extends Object> function) | Заменяет значение каждой записи результатом вызова заданной функции для этой записи в порядке, в котором записи возвращаются итератором набора записей, до тех пор, пока все записи не будут обработаны или функция не выбросит исключение. |
String | toString() | Возвращает строку с именем и строкой версии этого поставщика. |
Collection<Object> | values() | Возвращает неизменяемый вид коллекции значений свойств, содержащихся в этом поставщике. |
Методы, объявленные в классе java.util.Properties
getProperty, getProperty, list, list, load, loadFromXML, propertyNames, save, setProperty, store, store, storeToXML, storeToXML, storeToXML, stringPropertyNames Методы, объявленные в классе java.util.Hashtable
clone, contains, containsKey, containsValue, elements, equals, get, hashCode, isEmpty, keys, rehash, size Методы, объявленные в классе java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait Конструкторы
Provider
@Deprecated(since="9")
protected Provider(String name,
double version,
String info) Provider(String, String, String) вместо этого.Создает поставщик со указанным именем, номером версии и информацией. Вызов этого конструктора эквивалентен вызову Provider(String, String, String) с name именем, Double.toString(version), и info.
- Параметры:
-
name- имя поставщика. -
version- номер версии поставщика. -
info- описание поставщика и его услуг.
Provider
protected Provider(String name,
String versionStr,
String info) Создает поставщик со указанным именем, строкой версии и информацией.
Строка версии содержит номер версии, необязательно с дополнительной информацией, разделенной одним из символов '+', '-'. Формат номера версии:
^[0-9]+(\.[0-9]+)*
Для возвращения номера версии в double, когда имеется более двух компонентов (разделенных '.' как определено выше), сохраняются только первые два компонента. Полученная строка затем передаётся в Double.valueOf(String) для генерации номера версии, т.е. getVersion().
Если преобразование завершилось ошибкой, используется значение 0.
- Параметры:
-
name- имя поставщика. -
versionStr- строка версии поставщика. -
info- описание поставщика и его услуг. - С тех пор:
- 9
Методы
configure
public Provider configure(String configArg)
Примените переданный аргумент конфигурации к этому экземпляру поставщика и верните настроенного поставщика. Обратите внимание, что если этот поставщик не может быть настроен на месте, будет создан и возвращен новый поставщик. Поэтому вызывающие стороны всегда должны использовать возвращаемого поставщика.
- Требования к реализации:
- Реализация по умолчанию вызывает
UnsupportedOperationException. Подклассы должны переопределять этот метод только в том случае, если поддерживается аргумент конфигурации. - Параметры:
-
configArg- информация о конфигурации для настройки этого поставщика. - Возвращает:
- поставщик, настроенный с помощью переданного аргумента конфигурации.
- Исключения:
-
UnsupportedOperationException- если аргумент конфигурации не поддерживается. -
NullPointerException- если переданный аргумент конфигурации равен null. -
InvalidParameterException- если переданный аргумент конфигурации недействителен. - С версии:
- 9
isConfigured
public boolean isConfigured()
Проверить, был ли настроен этот экземпляр поставщика.
- Требования к реализации:
- Реализация по умолчанию возвращает true. Подклассы должны переопределять этот метод, если экземпляру поставщика требуется явный вызов
configureпосле создания. - Возвращает:
- true, если дальнейшая конфигурация не требуется, false в противном случае.
- С версии:
- 9
getName
public String getName()
Возвращает имя этого поставщика.
- Возвращает:
- имя этого поставщика.
getVersion
@Deprecated(since="9") public double getVersion()
getVersionStr() вместо этого.Возвращает номер версии для этого поставщика.
- Возвращает:
- номер версии для этого поставщика.
getVersionStr
public String getVersionStr()
Возвращает строку версии для этого поставщика.
- Возвращает:
- строка версии для этого поставщика.
- С версии:
- 9
getInfo
public String getInfo()
Возвращает читаемое описание поставщика и его служб. Это может вернуть HTML-страницу с соответствующими ссылками.
- Возвращает:
- описание поставщика и его служб.
toString
public String toString()
Возвращает строку с именем и строкой версии этого поставщика.
- Переопределяет:
-
toStringв классеHashtable<Object,Object> - Возвращает:
- строку с именем и строкой версии для этого поставщика.
clear
public void clear()
Очищает этого поставщика так, чтобы он больше не содержал свойства, используемые для поиска объектов, реализованных поставщиком.
Если включен менеджер безопасности, его метод checkSecurityAccess вызывается со строкой "clearProviderProperties."+name (где name - имя поставщика), чтобы проверить, можно ли очистить этого поставщика.
- Указано в:
-
clearв интерфейсеMap<Object,Object> - Переопределяет:
-
clearв классеHashtable<Object,Object> - Исключения:
-
SecurityException- если существует менеджер безопасности и его методSecurityManager.checkSecurityAccess(java.lang.String)запрещает доступ к очистке этого поставщика - С версии:
- 1.2
load
public void load(InputStream inStream)
throws IOException Считывает список свойств (пары ключ-элемент) из входного потока.
- Переопределяет:
-
loadв классеProperties - Параметры:
-
inStream- входной поток. - Исключения:
-
IOException- если произошла ошибка при чтении из входного потока. - См. также:
Properties.load(java.io.Reader)
putAll
public void putAll(Map<?,?> t)
Копирует все сопоставления из указанного Map в этого поставщика. Эти сопоставления заменят любые свойства, которые этот поставщик имел для любых ключей, в настоящее время находящихся в указанном Map.
- Указано в:
-
putAllв интерфейсеMap<Object,Object> - Переопределяет:
-
putAllв классеHashtable<Object,Object> - Параметры:
-
t- сопоставления, которые необходимо сохранить в этом map - С версии:
- 1.2
entrySet
public Set<Map.Entry<Object,Object>> entrySet()
Возвращает неизменяемый просмотр Set записей свойств, содержащихся в этом Provider.
- Указано в:
-
entrySetв интерфейсеMap<Object,Object> - Переопределяет:
-
entrySetв классеHashtable<Object,Object> - Возвращает:
- просмотр набора сопоставлений, содержащихся в этом map
- С версии:
- 1.2
- См. также:
Map.Entry
keySet
public Set<Object> keySet()
Возвращает неизменяемый просмотр Set ключей свойств, содержащихся в этом поставщике.
- Указано в:
-
keySetв интерфейсеMap<Object,Object> - Переопределяет:
-
keySetв классеHashtable<Object,Object> - Возвращает:
- просмотр набора ключей, содержащихся в этом map
- С версии:
- 1.2
values
public Collection<Object> values()
Возвращает неизменяемый просмотр Collection значений свойств, содержащихся в этом поставщике.
- Указано в:
-
valuesв интерфейсеMap<Object,Object> - Переопределяет:
-
valuesв классеHashtable<Object,Object> - Возвращает:
- просмотр коллекции значений, содержащихся в этом map
- С версии:
- 1.2
put
public Object put(Object key,
Object value) Устанавливает свойство key со значением value.
Если включен менеджер безопасности, его метод checkSecurityAccess вызывается со строкой "putProviderProperty."+name, где name - имя поставщика, чтобы проверить, можно ли установить значения свойств этого поставщика.
- Указано в:
-
putв интерфейсеMap<Object,Object> - Переопределяет:
-
putв классеHashtable<Object,Object> - Параметры:
-
key- ключ hashtable -
value- значение - Возвращает:
- предыдущее значение указанного ключа в этой таблице hash, или
null, если его не было - Исключения:
-
SecurityException- если существует менеджер безопасности и его методSecurityManager.checkSecurityAccess(java.lang.String)запрещает доступ к установке значений свойств. - С версии:
- 1.2
- См. также:
-
Object.equals(Object),Hashtable.get(Object)
putIfAbsent
public Object putIfAbsent(Object key,
Object value) Если указанный ключ еще не связан со значением (или сопоставлен с null) связывает его с указанным значением и возвращает null, иначе возвращает текущее значение.
Если включен менеджер безопасности, его метод checkSecurityAccess вызывается со строкой "putProviderProperty."+name, где name - имя поставщика, чтобы проверить, можно ли установить значения свойств этого поставщика.
- Параметры:
-
key- ключ, с которым должно быть связано указанное значение -
value- значение, которое должно быть связано с указанным ключом - Возвращает:
- предыдущее значение, связанное с указанным ключом, или
null, если для ключа не было сопоставления. (Возвращениеnullтакже может указывать на то, что карта ранее связывалаnullс ключом, если реализация поддерживает значения null.) - Исключения:
-
SecurityException- если существует менеджер безопасности и его методSecurityManager.checkSecurityAccess(java.lang.String)запрещает доступ к установке значений свойств. - С версии:
- 1.8
remove
public Object remove(Object key)
Удаляет свойство key (и его соответствующее value).
Если включен менеджер безопасности, его метод checkSecurityAccess вызывается со строкой "removeProviderProperty."+name, где name - имя поставщика, чтобы проверить, можно ли удалить свойства этого поставщика.
- Указано в:
-
removeв интерфейсеMap<Object,Object> - Переопределяет:
-
removeв классеHashtable<Object,Object> - Параметры:
-
key- ключ, который необходимо удалить - Возвращает:
- значение, которому соответствовал ключ в этой таблице hash, или
null, если у ключа не было сопоставления - Исключения:
-
SecurityException- если существует менеджер безопасности и его методSecurityManager.checkSecurityAccess(java.lang.String)запрещает доступ к удалению свойств этого поставщика. - С версии:
- 1.2
remove
public boolean remove(Object key,
Object value) Удаляет запись для указанного ключа только в том случае, если она в настоящее время сопоставлена с указанным значением.
Если включен менеджер безопасности, его метод checkSecurityAccess вызывается со строкой "removeProviderProperty."+name, где name - имя поставщика, чтобы проверить, можно ли удалить свойства этого поставщика.
- Параметры:
-
key- ключ, с которым связано указанное значение -
value- значение, которое ожидается, что будет связано с указанным ключом - Возвращает:
-
trueесли значение было удалено - Исключения:
-
SecurityException- если существует менеджер безопасности и его методSecurityManager.checkSecurityAccess(java.lang.String)запрещает доступ к удалению свойств этого поставщика. - С версии:
- 1.8
replace
public boolean replace(Object key,
Object oldValue,
Object newValue) Заменяет запись для указанного ключа только в том случае, если она в настоящее время сопоставлена с указанным значением.
Если включен менеджер безопасности, его метод checkSecurityAccess вызывается со строкой "putProviderProperty."+name, где name - имя поставщика, чтобы проверить, можно ли установить значения свойств этого поставщика.
- Параметры:
-
key- ключ, с которым связано указанное значение -
oldValue- значение, ожидаемое для указанного ключа -
newValue- значение, которое должно быть связано с указанным ключом - Возвращает:
-
trueесли значение было заменено - Исключение:
-
SecurityException- если существует менеджер безопасности и его методSecurityManager.checkSecurityAccess(java.lang.String)запрещает доступ к настройке значений свойств. - С:
- 1.8
заменить
public Object replace(Object key,
Object value) Заменяет запись для указанного ключа только в том случае, если она в настоящее время отображается на какое-либо значение.
Если включён менеджер безопасности, вызывается его метод checkSecurityAccess, со строкой "putProviderProperty."+name, где name - имя провайдера, чтобы проверить, можно ли изменять значения свойств этого провайдера.
- Параметры:
-
key- ключ, с которым связано указанное значение -
value- значение, которое должно быть связано с указанным ключом - Возвращает:
- предыдущее значение, связанное с указанным ключом, или
null, если для ключа не было отображения. (Возвратnullтакже может указывать, что карта, ранее связаннаяnullс ключом, если реализация поддерживает нулевые значения.) - Исключение:
-
SecurityException- если существует менеджер безопасности и его методSecurityManager.checkSecurityAccess(java.lang.String)запрещает доступ к настройке значений свойств. - С:
- 1.8
заменить все
public void replaceAll(BiFunction<? super Object,? super Object,? extends Object> function)
Заменяет значение каждой записи результатом вызова заданной функции для этой записи в порядке, в котором записи возвращаются итератором набора записей, пока все записи не будут обработаны или функция не выбросит исключение.
Если включён менеджер безопасности, вызывается его метод checkSecurityAccess, со строкой "putProviderProperty."+name, где name - имя провайдера, чтобы проверить, можно ли изменять значения свойств этого провайдера.
- Параметры:
-
function- функция, применяемая к каждой записи - Исключение:
-
SecurityException- если существует менеджер безопасности и его методSecurityManager.checkSecurityAccess(java.lang.String)запрещает доступ к настройке значений свойств. - С:
- 1.8
вычислить
public Object compute(Object key,
BiFunction<? super Object,? super Object,? extends Object> remappingFunction) Попытка вычислить отображение для указанного ключа и его текущего сопоставленного значения (или null, если текущего отображения нет).
Если включён менеджер безопасности, вызывается его метод checkSecurityAccess, со строками "putProviderProperty."+name и "removeProviderProperty."+name, где name - имя провайдера, чтобы проверить, можно ли изменять значения свойств этого провайдера и удалять свойства этого провайдера.
- Определено в:
-
computeв интерфейсеMap<Object,Object> - Переопределяет:
-
computeв классеHashtable<Object,Object> - Параметры:
-
key- ключ, с которым должно быть связано указанное значение -
remappingFunction- функция переотображения для вычисления значения - Возвращает:
- новое значение, связанное с указанным ключом, или null, если нет
- Исключение:
-
SecurityException- если существует менеджер безопасности и его методSecurityManager.checkSecurityAccess(java.lang.String)запрещает доступ к настройке значений свойств или удалению свойств. - С:
- 1.8
вычислитьЕслиОтсутствует
public Object computeIfAbsent(Object key,
Function<? super Object,? extends Object> mappingFunction) Если указанный ключ ещё не связан со значением (или сопоставлен с null), пытается вычислить его значение, используя заданную функцию отображения, и добавляет его в эту карту, если null.
Если включён менеджер безопасности, вызывается его метод checkSecurityAccess, со строками "putProviderProperty."+name и "removeProviderProperty."+name, где name - имя провайдера, чтобы проверить, можно ли изменять значения свойств этого провайдера и удалять свойства этого провайдера.
- Определено в:
-
computeIfAbsentв интерфейсеMap<Object,Object> - Переопределяет:
-
computeIfAbsentв классеHashtable<Object,Object> - Параметры:
-
key- ключ, с которым должно быть связано указанное значение -
mappingFunction- функция отображения для вычисления значения - Возвращает:
- текущее (существующее или вычисленное) значение, связанное с указанным ключом, или null, если вычисленное значение равно null
- Исключение:
-
SecurityException- если существует менеджер безопасности и его методSecurityManager.checkSecurityAccess(java.lang.String)запрещает доступ к настройке значений свойств и удалению свойств. - С:
- 1.8
вычислитьЕслиНаличие
public Object computeIfPresent(Object key,
BiFunction<? super Object,? super Object,? extends Object> remappingFunction) Если значение для указанного ключа присутствует и не равно null, пытается вычислить новое отображение, учитывая ключ и его текущее сопоставленное значение.
Если включён менеджер безопасности, вызывается его метод checkSecurityAccess, со строками "putProviderProperty."+name и "removeProviderProperty."+name, где name - имя провайдера, чтобы проверить, можно ли изменять значения свойств этого провайдера и удалять свойства этого провайдера.
- Определено в:
-
computeIfPresentв интерфейсеMap<Object,Object> - Переопределяет:
-
computeIfPresentв классеHashtable<Object,Object> - Параметры:
-
key- ключ, с которым должно быть связано указанное значение -
remappingFunction- функция переотображения для вычисления значения - Возвращает:
- новое значение, связанное с указанным ключом, или null, если нет
- Исключение:
-
SecurityException- если существует менеджер безопасности и его методSecurityManager.checkSecurityAccess(java.lang.String)запрещает доступ к настройке значений свойств или удалению свойств. - С:
- 1.8
слить
public Object merge(Object key,
Object value,
BiFunction<? super Object,? super Object,? extends Object> remappingFunction) Если указанный ключ ещё не связан со значением или связан с null, связывает его с заданным значением. В противном случае заменяет значение результатом заданной функции переотображения или удаляет, если результат равен null. Этот метод может быть полезен при объединении нескольких сопоставленных значений для одного ключа.
Если включён менеджер безопасности, вызывается его метод checkSecurityAccess, со строками "putProviderProperty."+name и "removeProviderProperty."+name, где name - имя провайдера, чтобы проверить, можно ли изменять значения свойств этого провайдера и удалять свойства этого провайдера.
- Определено в:
-
mergeв интерфейсеMap<Object,Object> - Переопределяет:
-
mergeв классеHashtable<Object,Object> - Параметры:
-
key- ключ, с которым будет связано результирующее значение -
value- не-null значение, которое будет слито с существующим значением, связанным с ключом, или, если нет существующего значения или null значение связано с ключом, которое будет связано с ключом -
remappingFunction- функция переотображения для повторного вычисления значения, если оно присутствует - Возвращает:
- новое значение, связанное с указанным ключом, или null, если со значением не связан ключ
- Исключение:
-
SecurityException- если существует менеджер безопасности и его методSecurityManager.checkSecurityAccess(java.lang.String)запрещает доступ к настройке значений свойств или удалению свойств. - С:
- 1.8
getOrDefault
public Object getOrDefault(Object key,
Object defaultValue) Описание скопировано из интерфейса: Map
Возвращает значение, которому сопоставлен указанный ключ, или defaultValue, если эта карта не содержит отображения для ключа.
- Параметры:
-
key- ключ, связанное значение которого должно быть возвращено -
defaultValue- значение по умолчанию для ключа - Возвращает:
- значение, которому сопоставлен указанный ключ, или
defaultValue, если эта карта не содержит отображения для ключа - С:
- 1.8
forEach
public void forEach(BiConsumer<? super Object,? super Object> action)
Описание скопировано из интерфейса: Map
Выполняет заданное действие для каждой записи в этой карте, пока все записи не будут обработаны или действие не выбросит исключение. За исключением случаев, когда определено иначе реализующим классом, действия выполняются в порядке итерации набора записей (если порядок итерации задан). Исключения, сгенерированные действием, пересылаются вызывающему методу.
- Параметры:
-
action- действие, выполняемое для каждой записи - С:
- 1.8
getService
public Provider.Service getService(String type,
String algorithm) Получить описание сервиса, реализующего данный тип алгоритма или псевдоним. Если такой реализации не существует, метод возвращает null. Если существует два подходящих сервиса, один добавленный в провайдер с помощью putService() и один добавленный с помощью put(), возвращается сервис, добавленный с помощью putService().
- Параметры:
-
type- тип запрашиваемогоservice(например,MessageDigest) -
algorithm- имя алгоритма (или альтернативный псевдоним) сервиса, запрашиваемого без учета регистра (например,SHA-1) - Возвращает:
- описание сервиса, соответствующего этому провайдеру, или null, если такого сервиса не существует
- Исключение:
-
NullPointerException- если тип или алгоритм равны null - С:
- 1.5
getServices
public Set<Provider.Service> getServices()
Получить неизменяемый набор всех сервисов, поддерживаемых этим провайдером.
- Возвращает:
- неизменяемый набор всех сервисов, поддерживаемых этим провайдером
- С:
- 1.5
putService
protected void putService(Provider.Service s)
Добавить службу. Если служба того же типа с тем же именем алгоритма уже существует и была добавлена с помощью putService(), она заменяется новой службой. Этот метод также помещает информацию об этой службе в значения хэш-таблицы поставщика в формате, описанном в Руководстве по архитектуре Java Cryptography (JCA).
Кроме того, если существует менеджер безопасности, вызывается его метод checkSecurityAccess со строкой "putProviderProperty."+name, где name — имя поставщика, чтобы проверить, разрешено ли устанавливать значения свойств этого поставщика. Если используется реализация по умолчанию checkSecurityAccess (то есть этот метод не переопределен), это приводит к вызову метода менеджера безопасности checkPermission с разрешением SecurityPermission("putProviderProperty."+name).
- Parameters:
-
s- добавляемая служба - Throws:
-
SecurityException- если менеджер безопасности существует и его методSecurityManager.checkSecurityAccess(java.lang.String)запрещает доступ к установке значений свойств. -
NullPointerException- если s равно null - Since:
- 1.5
removeService
protected void removeService(Provider.Service s)
Удалить службу, добавленную ранее с помощью putService(). Указанная служба удаляется из этого поставщика. Она больше не будет возвращаться методом getService(), а информация о ней будет удалена из хэш-таблицы этого поставщика.
Кроме того, если существует менеджер безопасности, вызывается его метод checkSecurityAccess со строкой "removeProviderProperty."+name, где name — имя поставщика, чтобы проверить, разрешено ли удалять свойства этого поставщика. Если используется реализация по умолчанию checkSecurityAccess (то есть этот метод не переопределен), это приводит к вызову метода менеджера безопасности checkPermission с разрешением SecurityPermission("removeProviderProperty."+name).
- Parameters:
-
s- служба для удаления - Throws:
-
SecurityException- если менеджер безопасности существует и его методSecurityManager.checkSecurityAccess(java.lang.String)запрещает доступ к удалению свойств этого поставщика. -
NullPointerException- если s равно null - Since:
- 1.5
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/security/Provider.html