Spec-Zone.ru › OpenJDK 21

Класс KeyStoreSpi

java.lang.Object
java.security.KeyStoreSpi
public abstract class KeyStoreSpi extends Object
Этот класс определяет интерфейс поставщика услуг (SPI) для класса KeyStore. Все абстрактные методы в этом классе должны быть реализованы каждым поставщиком криптографических услуг, желающим предоставить реализацию хранилища ключей для определенного типа хранилища ключей.
Since:
1.2
See Also:
  • KeyStore

Краткое описание конструкторов

Конструктор Описание
KeyStoreSpi()
Конструктор для вызова подклассами.

Краткое описание методов

Модификатор и тип Метод Описание
abstract Enumeration<String> engineAliases()
Перечисляет все псевдонимы (alias) этого хранилища ключей.
abstract boolean engineContainsAlias(String alias)
Проверяет, существует ли заданный псевдоним (alias) в этом хранилище ключей.
abstract void engineDeleteEntry(String alias)
Удаляет запись, идентифицированную заданным псевдонимом (alias), из этого хранилища ключей.
boolean engineEntryInstanceOf(String alias, Class<? extends KeyStore.Entry> entryClass)
Определяет, является ли хранилище ключей Entry для указанного alias экземпляром или подклассом указанного entryClass.
Set<KeyStore.Entry.Attribute> engineGetAttributes(String alias)
Возвращает атрибуты, связанные с заданным псевдонимом (alias).
abstract Certificate engineGetCertificate(String alias)
Возвращает сертификат, связанный с заданным псевдонимом (alias).
abstract String engineGetCertificateAlias(Certificate cert)
Возвращает (псевдоним) имя первой записи хранилища ключей, чей сертификат соответствует заданному сертификату.
abstract Certificate[] engineGetCertificateChain(String alias)
Возвращает цепочку сертификатов, связанную с заданным псевдонимом (alias).
abstract Date engineGetCreationDate(String alias)
Возвращает дату создания записи, идентифицированной заданным псевдонимом (alias).
KeyStore.Entry engineGetEntry(String alias, KeyStore.ProtectionParameter protParam)
Получает KeyStore.Entry для указанного псевдонима (alias) с указанным параметром защиты.
abstract Key engineGetKey(String alias, char[] password)
Возвращает ключ, связанный с заданным псевдонимом (alias), используя заданный пароль для его восстановления.
abstract boolean engineIsCertificateEntry(String alias)
Возвращает true, если запись, идентифицированная заданным псевдонимом (alias), была создана вызовом setCertificateEntry, или создана вызовом setEntry с TrustedCertificateEntry.
abstract boolean engineIsKeyEntry(String alias)
Возвращает true, если запись, идентифицированная заданным псевдонимом (alias), была создана вызовом setKeyEntry, или создана вызовом setEntry с PrivateKeyEntry или SecretKeyEntry.
abstract void engineLoad(InputStream stream, char[] password)
Загружает хранилище ключей из указанного потока ввода.
void engineLoad(KeyStore.LoadStoreParameter param)
Загружает хранилище ключей с использованием заданного KeyStore.LoadStoreParameter.
boolean engineProbe(InputStream stream)
Проверяет указанный поток ввода, чтобы определить, содержит ли он хранилище ключей, поддерживаемое этой реализацией, или нет.
abstract void engineSetCertificateEntry(String alias, Certificate cert)
Присваивает заданный сертификат заданному псевдониму (alias).
void engineSetEntry(String alias, KeyStore.Entry entry, KeyStore.ProtectionParameter protParam)
Сохраняет KeyStore.Entry под указанным псевдонимом (alias).
abstract void engineSetKeyEntry(String alias, byte[] key, Certificate[] chain)
Присваивает заданный ключ (уже защищенный) заданному псевдониму (alias).
abstract void engineSetKeyEntry(String alias, Key key, char[] password, Certificate[] chain)
Присваивает заданный ключ заданному псевдониму (alias), защищая его заданным паролем.
abstract int engineSize()
Возвращает количество записей в этом хранилище ключей.
abstract void engineStore(OutputStream stream, char[] password)
Сохраняет это хранилище ключей в указанный поток вывода и защищает его целостность заданным паролем.
void engineStore(KeyStore.LoadStoreParameter param)
Сохраняет это хранилище ключей с использованием заданного KeyStore.LoadStoreParameter.

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

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

Подробное описание конструкторов

KeyStoreSpi

public KeyStoreSpi()
Конструктор для вызова подклассами.

Подробное описание методов

engineGetKey

public abstract Key engineGetKey(String alias, char[] password) throws NoSuchAlgorithmException, UnrecoverableKeyException
Возвращает ключ, связанный с заданным псевдонимом, используя заданный пароль для его извлечения. Ключ должен быть связан с псевдонимом вызовом setKeyEntry, или вызовом setEntry с PrivateKeyEntry или SecretKeyEntry.
Параметры:
alias - имя псевдонима
password - пароль для извлечения ключа
Возвращает:
запрашиваемый ключ или null, если заданный псевдоним не существует или не идентифицирует запись, связанную с ключом.
Исключения:
NoSuchAlgorithmException - если алгоритм для извлечения ключа не найден
UnrecoverableKeyException - если ключ не может быть извлечен (например, заданный пароль неверный).

engineGetCertificateChain

public abstract Certificate[] engineGetCertificateChain(String alias)
Возвращает цепочку сертификатов, связанную с заданным псевдонимом. Цепочка сертификатов должна быть связана с псевдонимом вызовом setKeyEntry, или вызовом setEntry с PrivateKeyEntry.
Параметры:
alias - имя псевдонима
Возвращает:
цепочку сертификатов (упорядоченную так, что сертификат пользователя находится первым, а сертификат уполномоченной корневой организации — последним) или null, если заданный псевдоним *не существует или не содержит цепочку сертификатов.

engineGetCertificate

public abstract Certificate engineGetCertificate(String alias)
Возвращает сертификат, связанный с заданным псевдонимом.

Если заданное имя псевдонима идентифицирует запись, созданную вызовом setCertificateEntry, или созданную вызовом setEntry с TrustedCertificateEntry, возвращается доверенный сертификат, содержащийся в этой записи.

Если заданное имя псевдонима идентифицирует запись, созданную вызовом setKeyEntry, или созданную вызовом setEntry с PrivateKeyEntry, возвращается первый элемент цепочки сертификатов в этой записи (если такая цепочка существует).

Параметры:
alias - имя псевдонима
Возвращает:
сертификат или null, если заданный псевдоним не существует или не содержит сертификат.

engineGetCreationDate

public abstract Date engineGetCreationDate(String alias)
Возвращает дату создания записи, идентифицированной заданным псевдонимом.
Параметры:
alias - имя псевдонима
Возвращает:
дату создания этой записи или null, если заданный псевдоним не существует.

engineSetKeyEntry

public abstract void engineSetKeyEntry(String alias, Key key, char[] password, Certificate[] chain) throws KeyStoreException
Присваивает заданный ключ заданному псевдониму, защищая его заданным паролем.

Если заданный ключ имеет тип java.security.PrivateKey, он должен быть снабжен цепочкой сертификатов, подтверждающих соответствующий открытый ключ.

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

Параметры:
alias - имя псевдонима
key - ключ, который будет связан с псевдонимом
password - пароль для защиты ключа
chain - цепочка сертификатов для соответствующего открытого ключа (требуется только если заданный ключ имеет тип java.security.PrivateKey).
Исключения:
KeyStoreException - если заданный ключ не может быть защищен или эта операция завершилась неудачей по какой-либо другой причине.

engineSetKeyEntry

public abstract void engineSetKeyEntry(String alias, byte[] key, Certificate[] chain) throws KeyStoreException
Присваивает заданный ключ (который уже защищен) заданному псевдониму.

Если защищенный ключ имеет тип java.security.PrivateKey, он должен быть снабжен цепочкой сертификатов, подтверждающих соответствующий открытый ключ.

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

Параметры:
alias - имя псевдонима
key - ключ (в защищенном формате) для связывания с псевдонимом
chain - цепочка сертификатов для соответствующего открытого ключа (полезно только если защищенный ключ имеет тип java.security.PrivateKey).
Исключения:
KeyStoreException - если эта операция завершилась неудачей.

engineSetCertificateEntry

public abstract void engineSetCertificateEntry(String alias, Certificate cert) throws KeyStoreException
Присваивает заданный сертификат заданному псевдониму.

Если заданный псевдоним идентифицирует существующую запись, созданную вызовом setCertificateEntry, или созданную вызовом setEntry с TrustedCertificateEntry, доверенный сертификат в существующей записи перезаписывается заданным сертификатом.

Параметры:
alias - имя псевдонима
cert - сертификат
Исключения:
KeyStoreException - если заданный псевдоним уже существует и не идентифицирует запись, содержащую доверенный сертификат, или эта операция завершилась неудачей по какой-либо другой причине.

engineDeleteEntry

public abstract void engineDeleteEntry(String alias) throws KeyStoreException
Удаляет запись, идентифицированную заданным псевдонимом, из этого хранилища ключей.
Параметры:
alias - имя псевдонима
Исключения:
KeyStoreException - если запись не может быть удалена.

engineAliases

public abstract Enumeration<String> engineAliases()
Выводит список всех имён псевдонимов этого хранилища ключей.
Возвращает:
перечисление имён псевдонимов

engineContainsAlias

public abstract boolean engineContainsAlias(String alias)
Проверяет, существует ли заданный псевдоним в этом хранилище ключей.
Параметры:
alias - имя псевдонима
Возвращает:
true , если псевдоним существует, false в противном случае.

engineSize

public abstract int engineSize()
Получает количество записей в этом хранилище ключей.
Возвращает:
количество записей в этом хранилище ключей

engineIsKeyEntry

public abstract boolean engineIsKeyEntry(String alias)
Возвращает true , если запись, идентифицируемая заданным псевдонимом, была создана вызовом setKeyEntry, или создана вызовом setEntry с PrivateKeyEntry или SecretKeyEntry.
Параметры:
alias - псевдоним записи хранилища ключей для проверки
Возвращает:
true , если запись, идентифицируемая заданным псевдонимом, относится к ключу, false в противном случае.

engineIsCertificateEntry

public abstract boolean engineIsCertificateEntry(String alias)
Возвращает true , если запись, идентифицируемая заданным псевдонимом, была создана вызовом setCertificateEntry, или создана вызовом setEntry с TrustedCertificateEntry.
Параметры:
alias - псевдоним записи хранилища ключей для проверки
Возвращает:
true , если запись, идентифицируемая заданным псевдонимом, содержит доверенный сертификат, false в противном случае.

engineGetCertificateAlias

public abstract String engineGetCertificateAlias(Certificate cert)
Возвращает имя (псевдоним) первой записи хранилища ключей, сертификат которой соответствует заданному сертификату.

Этот метод пытается сопоставить заданный сертификат с каждой записью хранилища ключей. Если рассматриваемая запись была создана вызовом setCertificateEntry, или создана вызовом setEntry с TrustedCertificateEntry, заданный сертификат сравнивается с сертификатом этой записи.

Если запись была создана вызовом setKeyEntry, или создана вызовом setEntry с PrivateKeyEntry, заданный сертификат сравнивается с первым элементом цепочки сертификатов этой записи.

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

engineStore

public abstract void engineStore(OutputStream stream, char[] password) throws IOException, NoSuchAlgorithmException, CertificateException
Сохраняет это хранилище ключей в заданный поток вывода и защищает его целостность заданным паролем.
Параметры:
stream - поток вывода, в который записывается это хранилище ключей.
password - пароль для генерации проверки целостности хранилища ключей. Может быть null, если хранилище ключей не поддерживает или не требует проверки целостности.
Исключения:
IOException - если возникла проблема ввода-вывода с данными
NoSuchAlgorithmException - если не удалось найти соответствующий алгоритм проверки целостности данных
CertificateException - если любой из сертификатов, включенных в данные хранилища ключей, не может быть сохранен.

engineStore

public void engineStore(KeyStore.LoadStoreParameter param) throws IOException, NoSuchAlgorithmException, CertificateException
Сохраняет этот хранилище ключей с использованием заданного KeyStore.LoadStoreParameter.
Требования к реализации:
В стандартной реализации выбрасывается исключение UnsupportedOperationException.
Параметры:
param - KeyStore.LoadStoreParameter, определяющий способ сохранения хранилища ключей, который может быть null
Исключения:
IllegalArgumentException - если заданный KeyStore.LoadStoreParameter вход не распознан
IOException - если возникла проблема ввода-вывода с данными
NoSuchAlgorithmException - если не найден соответствующий алгоритм целостности данных
CertificateException - если любое из сертификатов, включённых в данные хранилища ключей, не удалось сохранить
UnsupportedOperationException - если реализация не поддерживает эту операцию
С момента:
1.5

engineLoad

public abstract void engineLoad(InputStream stream, char[] password) throws IOException, NoSuchAlgorithmException, CertificateException
Загружает хранилище ключей из заданного потока ввода.

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

Параметры:
stream - поток ввода, из которого загружается хранилище ключей, или null
password - пароль, используемый для проверки целостности хранилища ключей, пароль, используемый для разблокировки хранилища ключей, или null
Исключения:
IOException - если возникла проблема ввода-вывода или проблема с форматом данных хранилища ключей, если пароль требуется, но не задан, или заданный пароль был неправильным. Если ошибка вызвана неправильным паролем, cause IOException должно быть объектом UnrecoverableKeyException
NoSuchAlgorithmException - если алгоритм, используемый для проверки целостности хранилища ключей, не найден
CertificateException - если любое из сертификатов в хранилище ключей не удалось загрузить

engineLoad

public void engineLoad(KeyStore.LoadStoreParameter param) throws IOException, NoSuchAlgorithmException, CertificateException
Загружает хранилище ключей с помощью заданного KeyStore.LoadStoreParameter.

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

Требования к реализации:
Стандартная реализация анализирует KeyStore.LoadStoreParameter для извлечения пароля и передает его в engineLoad(InputStream, char[]) вместе с null InputStream.

Если KeyStore.LoadStoreParameter является null, то параметр пароля также будет null. В противном случае, KeyStore.ProtectionParameter KeyStore.LoadStoreParameter должен быть либо KeyStore.PasswordProtection, либо KeyStore.CallbackHandlerProtection, поддерживающим PasswordCallback, чтобы параметр пароля можно было извлечь. Если KeyStore.ProtectionParameter не является ни одним из этих классов, выбрасывается NoSuchAlgorithmException.

Параметры:
param - KeyStore.LoadStoreParameter, определяющий способ загрузки хранилища ключей, который может быть null
Исключения:
IllegalArgumentException - если заданный KeyStore.LoadStoreParameter вход не распознан
IOException - если возникла проблема ввода-вывода или проблема с форматом данных хранилища ключей. Если ошибка вызвана неправильным ProtectionParameter (например, неправильным паролем), cause IOException должен быть объектом UnrecoverableKeyException
NoSuchAlgorithmException - если алгоритм, используемый для проверки целостности хранилища ключей, не найден
CertificateException - если любое из сертификатов в хранилище ключей не удалось загрузить
С момента:
1.5

engineGetAttributes

public Set<KeyStore.Entry.Attribute> engineGetAttributes(String alias)
Возвращает атрибуты, связанные с заданным псевдонимом.
Требования к реализации:
Стандартная реализация возвращает пустой Set. KeyStoreSpi реализации, поддерживающие атрибуты, должны переопределять этот метод.
Параметры:
alias - имя псевдонима
Возвращает:
неизменяемый Set атрибутов. Этот набор пуст, если заданный псевдоним не существует или нет атрибутов, связанных с псевдонимом. Этот набор также может быть пустым для PrivateKeyEntry или SecretKeyEntry записей, содержащих защищённые атрибуты. Эти защищённые атрибуты должны быть заполнены в результат, возвращаемый engineGetEntry(java.lang.String, java.security.KeyStore.ProtectionParameter), и могут быть получены вызовом метода KeyStore.Entry.getAttributes().
С момента:
18

engineGetEntry

public KeyStore.Entry engineGetEntry(String alias, KeyStore.ProtectionParameter protParam) throws KeyStoreException, NoSuchAlgorithmException, UnrecoverableEntryException
Получает запись для указанного псевдонима с заданными параметрами защиты.
Параметры:
alias - получить запись для этого псевдонима
protParam - ProtectionParameter, используемые для защиты Entry, которые могут быть null
Возвращает:
запись для указанного псевдонима или null если такой записи нет
Исключения:
KeyStoreException - если операция не удалась
NoSuchAlgorithmException - если алгоритм восстановления записи не найден
UnrecoverableEntryException - если указанные protParam были недостаточными или некорректными
UnrecoverableKeyException - если запись является PrivateKeyEntry или SecretKeyEntry, и указанные protParam не содержат необходимой информации для восстановления ключа (например, неправильный пароль)
С момента:
1.5

engineSetEntry

public void engineSetEntry(String alias, KeyStore.Entry entry, KeyStore.ProtectionParameter protParam) throws KeyStoreException
Сохраняет KeyStore.Entry под указанным псевдонимом. Указанные параметры защиты используются для защиты Entry.

Если запись для указанного псевдонима уже существует, она перезаписывается.

Параметры:
alias - сохранить KeyStore.Entry под этим псевдонимом
entry - Entry для сохранения
protParam - ProtectionParameter, используемые для защиты Entry, которые могут быть null
Исключения:
KeyStoreException - если эта операция не удалась
С момента:
1.5

engineEntryInstanceOf

public boolean engineEntryInstanceOf(String alias, Class<? extends KeyStore.Entry> entryClass)
Определяет, является ли хранилище ключей Entry для указанного alias экземпляром или подклассом заданного entryClass.
Параметры:
alias - имя псевдонима
entryClass - класс записи
Возвращает:
true если хранилище ключей Entry для указанного alias является экземпляром или подклассом заданного entryClass, в противном случае false
С момента:
1.5

engineProbe

public boolean engineProbe(InputStream stream) throws IOException
Проверяет указанный поток ввода, чтобы определить, содержит ли он хранилище ключей, поддерживаемое этой реализацией, или нет.
Требования к реализации:
Этот метод возвращает false по умолчанию. Реализации хранилища ключей должны переопределять этот метод, чтобы непосредственно просмотреть поток данных или использовать другие механизмы обнаружения содержимого.
Параметры:
stream - данные хранилища ключей, которые будут проверены
Возвращает:
true если данные хранилища ключей поддерживаются, в противном случае false
Исключения:
IOException - если возникла проблема ввода-вывода с данными хранилища ключей.
NullPointerException - если поток null.
С момента:
9

© 1993, 2023, 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/21/docs/api/java.base/java/security/KeyStoreSpi.html

Spec-Zone.ru

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