Spec-Zone.ru › OpenJDK 8

Класс Security

  • java.lang.Object
    • java.security.Security

public final class Security
extends Object

Этот класс централизует все свойства безопасности и общие методы безопасности. Одним из его основных применений является управление поставщиками.

Значения по умолчанию свойств безопасности считываются из места, специфичного для реализации, что обычно является файлом свойств lib/security/java.security в каталоге установки Java.

Методы

Модификатор и тип Метод и описание
static int addProvider(Provider provider)

Добавляет поставщика в следующее доступное место.

static String getAlgorithmProperty(String algName, String propName)

Устаревший.

Этот метод использовался для возвращения значения проприетарного свойства в главном файле поставщика криптографических сервисов «SUN», чтобы определить, как анализировать параметры, специфичные для алгоритма. Используйте новые основанные на поставщиках и независимые от алгоритмов AlgorithmParameters и KeyFactory классы-движки (введенные в платформе J2SE версии 1.2) вместо этого.

static Set<String> getAlgorithms(String serviceName)

Возвращает набор строк, содержащих имена всех доступных алгоритмов или типов для указанного криптографического сервиса Java (например, Signature, MessageDigest, Cipher, Mac, KeyStore).

static String getProperty(String key)

Получает значение свойства безопасности.

static Provider getProvider(String name)

Возвращает установленного поставщика с указанным именем, если таковой существует.

static Provider[] getProviders()

Возвращает массив, содержащий всех установленных поставщиков.

static Provider[] getProviders(Map<String,String> filter)

Возвращает массив, содержащий всех установленных поставщиков, удовлетворяющих указанным* критериям выбора, или null, если такие поставщики не установлены.

static Provider[] getProviders(String filter)

Возвращает массив, содержащий всех установленных поставщиков, удовлетворяющих указанному критерию выбора, или null, если такие поставщики не установлены.

static int insertProviderAt(Provider provider, int position)

Добавляет нового поставщика в заданной позиции.

static void removeProvider(String name)

Удаляет поставщика с указанным именем.

static void setProperty(String key, String datum)

Устанавливает значение свойства безопасности.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Методы

getAlgorithmProperty

@Deprecated
public static String getAlgorithmProperty(String algName,
                                                      String propName)

Устаревший. Этот метод использовался для получения значения собственного свойства в главном файле поставщика криптографических услуг "SUN" для определения способа разбора параметров, специфичных для алгоритма. Используйте новые основанные на поставщике и независимые от алгоритма AlgorithmParameters и KeyFactory классы движка (введенные в платформе J2SE версии 1.2) вместо этого.

Получает заданное свойство для алгоритма. Имя алгоритма должно быть стандартным именем. См. Документацию Java Cryptography Architecture по стандартным именам алгоритмов для получения информации о стандартных именах алгоритмов. Возможным применением является использование специализированными анализаторами алгоритмов, которые могут сопоставлять классы с алгоритмами, которые они понимают (подобно тому, как это делают анализаторы ключей).

Параметры:
algName - имя алгоритма.
propName - имя свойства для получения.
Возвращает:
значение указанного свойства.

insertProviderAt

public static int insertProviderAt(Provider provider,
                                   int position)

Добавляет нового поставщика в указанную позицию. Позиция определяет порядок предпочтения при поиске поставщиков для запрошенных алгоритмов. Позиция основана на 1, то есть 1 — это наивысший приоритет, за ним следуют 2 и так далее.

Если предоставленный поставщик установлен в запрошенной позиции, поставщик, который раньше был на этой позиции, и все поставщики с позицией, большей чем position, смещаются вверх на одну позицию (в сторону конца списка установленных поставщиков).

Поставщик не может быть добавлен, если он уже установлен.

Если существует менеджер безопасности, вызывается метод SecurityManager.checkSecurityAccess(java.lang.String) с целевым именем разрешения "insertProvider", чтобы проверить возможность добавления нового поставщика. Если проверка этого разрешения отклонена, метод checkSecurityAccess снова вызывается с целевым именем разрешения "insertProvider."+provider.getName(). Если обе проверки отклонены, выбрасывается SecurityException.

Параметры:
provider - добавляемый поставщик.
position - позиция предпочтения, которую вызывающий хочет для этого поставщика.
Возвращает:
фактическая позиция предпочтения, в которую был добавлен поставщик, или -1, если поставщик не был добавлен, потому что он уже установлен.
Исключения:
NullPointerException - если поставщик равен null
SecurityException - если менеджер безопасности существует и его метод SecurityManager.checkSecurityAccess(java.lang.String) отклоняет доступ к добавлению нового поставщика
См. также:
getProvider(java.lang.String), removeProvider(java.lang.String), SecurityPermission

addProvider

public static int addProvider(Provider provider)

Добавляет поставщика в следующую доступную позицию.

Если существует менеджер безопасности, вызывается метод SecurityManager.checkSecurityAccess(java.lang.String) с целевым именем разрешения "insertProvider", чтобы проверить возможность добавления нового поставщика. Если проверка этого разрешения отклонена, метод checkSecurityAccess снова вызывается с целевым именем разрешения "insertProvider."+provider.getName(). Если обе проверки отклонены, выбрасывается SecurityException.

Параметры:
provider - добавляемый поставщик.
Возвращает:
позицию предпочтения, в которую был добавлен поставщик, или -1, если поставщик не был добавлен, потому что он уже установлен.
Исключения:
NullPointerException - если поставщик равен null
SecurityException - если менеджер безопасности существует и его метод SecurityManager.checkSecurityAccess(java.lang.String) отклоняет доступ к добавлению нового поставщика
См. также:
getProvider(java.lang.String), removeProvider(java.lang.String), SecurityPermission

removeProvider

public static void removeProvider(String name)

Удаляет поставщика с указанным именем.

При удалении указанного поставщика все поставщики, расположенные в позиции, большей, чем у указанного поставщика, смещаются вниз на одну позицию (в сторону начала списка установленных поставщиков).

Этот метод возвращается без действий, если поставщик не установлен или если имя равно null.

Вначале, если существует менеджер безопасности, вызывается его метод checkSecurityAccess со строкой "removeProvider."+name, чтобы проверить возможность удаления поставщика. Если используется реализация метода по умолчанию (т.е. метод не переопределен), это приведет к вызову метода менеджера безопасности checkPermission с разрешением SecurityPermission("removeProvider."+name).

Параметры:
name - имя поставщика для удаления.
Исключения:
SecurityException - если менеджер безопасности существует и его метод SecurityManager.checkSecurityAccess(java.lang.String) отклоняет доступ к удалению поставщика
См. также:
getProvider(java.lang.String), addProvider(java.security.Provider)

getProviders

public static Provider[] getProviders()

Возвращает массив, содержащий всех установленных поставщиков. Порядок поставщиков в массиве соответствует их порядку предпочтения.

Возвращает:
массив всех установленных поставщиков.

getProvider

public static Provider getProvider(String name)

Возвращает поставщика, установленного с указанным именем, если такой есть. Возвращает null, если поставщик с указанным именем не установлен или если имя равно null.

Параметры:
name - имя поставщика для получения.
Возвращает:
поставщик с указанным именем.
См. также:
removeProvider(java.lang.String), addProvider(java.security.Provider)

getProviders

public static Provider[] getProviders(String filter)

Возвращает массив, содержащий всех установленных поставщиков, которые удовлетворяют указанному критерию отбора, или null, если такие поставщики не установлены. Возвращаемые поставщики упорядочены в соответствии с их порядком предпочтения.

Криптографическая служба всегда связана с конкретным алгоритмом или типом. Например, служба цифровых подписей всегда связана с конкретным алгоритмом (например, DSA), а служба CertificateFactory всегда связана с конкретным типом сертификата (например, X.509).

Критерий отбора должен быть указан в одном из двух следующих форматов:

  • <crypto_service>.<algorithm_or_type>

    Имя криптографической службы не должно содержать точки.

    Поставщик удовлетворяет указанному критерию отбора, если он реализует указанный алгоритм или тип для указанной криптографической службы.

    Например, "CertificateFactory.X.509" будет удовлетворяться любым поставщиком, который предоставляет реализацию CertificateFactory для сертификатов X.509.

  • <crypto_service>.<algorithm_or_type> <attribute_name>:<attribute_value>

    Имя криптографической службы не должно содержать точек. Должно быть одно или несколько пробелов между <algorithm_or_type> и <attribute_name>.

    Поставщик удовлетворяет этому критерию отбора, если он реализует указанный алгоритм или тип для указанной криптографической службы и его реализация соответствует ограничению, выраженному указанной парой имя/значение атрибута.

    Например, "Signature.SHA1withDSA KeySize:1024" будет удовлетворяться любым поставщиком, который реализует алгоритм подписи SHA1withDSA с размером ключа 1024 (или больше).

См. Документацию Java Cryptography Architecture по стандартным именам алгоритмов для получения информации о стандартных именах криптографических служб, стандартных именах алгоритмов и стандартных именах атрибутов.

Параметры:
filter - критерий отбора поставщиков. Фильтр регистронезависимый.
Возвращает:
все установленные поставщики, которые удовлетворяют критерию отбора, или null, если такие поставщики не установлены.
Исключения:
InvalidParameterException - если фильтр не соответствует требуемому формату
NullPointerException - если фильтр равен null
С:
1.3
См. также:
getProviders(java.util.Map)

getProviders

public static Provider[] getProviders(Map<String,String> filter)

Возвращает массив, содержащий всех установленных поставщиков, которые удовлетворяют указанным* критериям отбора, или null, если такие поставщики не установлены. Возвращаемые поставщики упорядочены в соответствии с их порядком предпочтения.

Критерии отбора представлены картой. Каждая пара ключ-значение в карте представляет собой критерий отбора. Поставщик выбирается, если он удовлетворяет всем критериям отбора. Ключ любой пары в такой карте должен быть в одном из следующих двух форматов:

  • <crypto_service>.<algorithm_or_type>

    Имя криптографической службы не должно содержать точек.

    Значение, связанное с ключом, должно быть пустой строкой.

    Поставщик удовлетворяет этому критерию отбора, если он реализует указанный алгоритм или тип для указанной криптографической службы.

  • <crypto_service>. <algorithm_or_type> <attribute_name>

    Имя криптографической службы не должно содержать точек. Должно быть одно или несколько пробелов между <algorithm_or_type> и <attribute_name>.

    Значение, связанное с ключом, должно быть непустой строкой. Поставщик удовлетворяет этому критерию отбора, если он реализует указанный алгоритм или тип для указанной криптографической службы и его реализация соответствует ограничению, выраженному указанной парой имя/значение атрибута.

См. Документацию Java Cryptography Architecture по стандартным именам алгоритмов для получения информации о стандартных именах криптографических служб, стандартных именах алгоритмов и стандартных именах атрибутов.

Параметры:
filter - критерии для выбора поставщиков. Фильтр нечувствителен к регистру.
Возвращает:
все установленные поставщики, удовлетворяющие критериям выбора, или null, если такие поставщики не установлены.
Исключение:
InvalidParameterException - если фильтр не в требуемом формате
NullPointerException - если фильтр равен null
С:
1.3
См. также:
getProviders(java.lang.String)

getProperty

public static String getProperty(String key)

Получает значение свойства безопасности.

Сначала, если есть менеджер безопасности, вызывается его метод checkPermission с разрешением java.security.SecurityPermission("getProperty."+key) для проверки возможности извлечения указанного значения свойства безопасности.

Параметры:
key - ключ извлекаемого свойства.
Возвращает:
значение свойства безопасности, соответствующее ключу.
Исключение:
SecurityException - если менеджер безопасности существует и его метод SecurityManager.checkPermission(java.security.Permission) отказывается предоставить доступ к извлечению указанного значения свойства безопасности
NullPointerException - если ключ равен null
См. также:
setProperty(java.lang.String, java.lang.String), SecurityPermission

setProperty

public static void setProperty(String key,
                               String datum)

Устанавливает значение свойства безопасности.

Сначала, если есть менеджер безопасности, вызывается его метод checkPermission с разрешением java.security.SecurityPermission("setProperty."+key) для проверки возможности установки указанного значения свойства безопасности.

Параметры:
key - имя устанавливаемого свойства.
datum - значение устанавливаемого свойства.
Исключение:
SecurityException - если менеджер безопасности существует и его метод SecurityManager.checkPermission(java.security.Permission) отказывается предоставить доступ к установке указанного значения свойства безопасности
NullPointerException - если ключ или значение равны null
См. также:
getProperty(java.lang.String), SecurityPermission

getAlgorithms

public static Set<String> getAlgorithms(String serviceName)

Возвращает набор строк, содержащих имена всех доступных алгоритмов или типов для указанной Java криптографической службы (например, Signature, MessageDigest, Cipher, Mac, KeyStore). Возвращает пустой набор, если нет поставщика, поддерживающего указанную службу, или если serviceName равен null. Полный список Java криптографических служб см. в Спецификации и справочнике API Java Cryptography Architecture. Примечание: возвращаемый набор неизменяем.

Параметры:
serviceName - имя Java криптографической службы (например, Signature, MessageDigest, Cipher, Mac, KeyStore). Примечание: этот параметр нечувствителен к регистру.
Возвращает:
набор строк, содержащих имена всех доступных алгоритмов или типов для указанной Java криптографической службы, или пустой набор, если ни один поставщик не поддерживает указанную службу.
С:
1.4

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API