Класс KeyStoreSpi
public abstract class KeyStoreSpi extends Object
KeyStore. Все абстрактные методы этого класса должны быть реализованы каждым поставщиком криптографических служб, который желает предоставить реализацию хранилища ключей для определённого типа хранилища ключей.- Начиная с:
- 1.2
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
KeyStoreSpi() |
Конструктор для вызова подклассами. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract Enumeration |
engineAliases() |
Перечисляет все имена псевдонимов этого хранилища ключей. |
abstract boolean |
engineContainsAlias |
Проверяет, существует ли указанный псевдоним в этом хранилище ключей. |
abstract void |
engineDeleteEntry |
Удаляет из этого хранилища ключей запись, идентифицируемую указанным псевдонимом. |
boolean |
engineEntryInstanceOf |
Определяет, является ли хранилище ключей Entry для указанного alias экземпляром указанного entryClass или его подклассом. |
Set |
engineGetAttributes |
Получает атрибуты, связанные с указанным псевдонимом. |
abstract Certificate |
engineGetCertificate |
Возвращает сертификат, связанный с указанным псевдонимом. |
abstract String |
engineGetCertificateAlias |
Возвращает имя (псевдоним) первой записи хранилища ключей, сертификат которой совпадает с указанным сертификатом. |
abstract Certificate[] |
engineGetCertificateChain |
Возвращает цепочку сертификатов, связанную с указанным псевдонимом. |
abstract Date |
engineGetCreationDate |
Возвращает дату создания записи, идентифицируемой указанным псевдонимом. |
Instant |
engineGetCreationInstant |
Возвращает момент времени, когда была создана запись, идентифицируемая указанным псевдонимом. |
KeyStore.Entry |
engineGetEntry |
Получает KeyStore.Entry для указанного псевдонима с указанным параметром защиты. |
abstract Key |
engineGetKey |
Возвращает ключ, связанный с указанным псевдонимом, используя указанный пароль для его восстановления. |
abstract boolean |
engineIsCertificateEntry |
Возвращает true, если запись, идентифицируемая указанным псевдонимом, была создана вызовом setCertificateEntry или вызовом setEntry с TrustedCertificateEntry. |
abstract boolean |
engineIsKeyEntry |
Возвращает true, если запись, идентифицируемая указанным псевдонимом, была создана вызовом setKeyEntry или вызовом setEntry с PrivateKeyEntry либо SecretKeyEntry. |
abstract void |
engineLoad |
Загружает хранилище ключей из указанного входного потока. |
void |
engineLoad |
Загружает хранилище ключей с помощью указанного KeyStore.LoadStoreParameter. |
boolean |
engineProbe |
Проверяет указанный входной поток, чтобы определить, содержит ли он хранилище ключей, поддерживаемое этой реализацией. |
abstract void |
engineSetCertificateEntry |
Связывает указанный сертификат с указанным псевдонимом. |
void |
engineSetEntry |
Сохраняет KeyStore.Entry под указанным псевдонимом. |
abstract void |
engineSetKeyEntry |
Связывает указанный ключ (который уже защищён) с указанным псевдонимом. |
abstract void |
engineSetKeyEntry |
Связывает указанный ключ с указанным псевдонимом, защищая его указанным паролем. |
abstract int |
engineSize() |
Возвращает количество записей в этом хранилище ключей. |
abstract void |
engineStore |
Сохраняет это хранилище ключей в указанный выходной поток и защищает его целостность указанным паролем. |
void |
engineStore |
Сохраняет это хранилище ключей с помощью указанного KeyStore.LoadStoreParameter. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии. Финализация объявлена устаревшей и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения определённого времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения определённого времени. |
Подробное описание конструкторов
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, если указанный псевдоним не существует
engineGetCreationInstant
public Instant engineGetCreationInstant(String alias)
- Примечание к API:
- Подклассам следует переопределить этот метод, чтобы напрямую возвращать момент времени.
- Требования к реализации:
- Реализация по умолчанию вызывает
engineGetCreationDate(alias)и возвращает результат как значение типаInstant. - Параметры:
-
alias— имя псевдонима - Возвращает:
- момент времени, когда была создана запись, обозначенная указанным псевдонимом, или
null, если указанный псевдоним не существует - С версии:
- 27
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[])вместе сnullInputStream.Если
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(String, KeyStore.ProtectionParameter), и их можно получить, вызвав методKeyStore.Entry.getAttributes(). - С версии:
- 18
engineGetEntry
public KeyStore.Entry engineGetEntry(String alias, KeyStore.ProtectionParameter protParam) throws KeyStoreException, NoSuchAlgorithmException, UnrecoverableEntryException
KeyStore.Entry для указанного псевдонима с заданным параметром защиты.- Параметры:
-
alias— получитьKeyStore.Entryдля этого псевдонима -
protParam—ProtectionParameter, используемый для защитыEntry; может бытьnull - Возвращает:
KeyStore.Entryдля указанного псевдонима или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, 2025, 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.