Класс KeyStoreSpi
- java.lang.Object
-
- java.security.KeyStoreSpi
public abstract class KeyStoreSpi extends Object
Этот класс определяет интерфейс поставщика сервиса (SPI) для класса KeyStore. Все абстрактные методы в этом классе должны быть реализованы каждым поставщиком криптографических сервисов, желающим предоставить реализацию хранилища ключей для определенного типа хранилища.
- Since:
- 1.2
- См. также:
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) Определяет, является ли хранилище ключей |
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) Получает |
abstract Key |
engineGetKey(String alias,
char[] password) Возвращает ключ, связанный с данным псевдонимом (alias), используя указанный пароль для его восстановления. |
abstract boolean |
engineIsCertificateEntry(String alias) Возвращает true, если запись, идентифицированная данным псевдонимом (alias), была создана вызовом |
abstract boolean |
engineIsKeyEntry(String alias) Возвращает true, если запись, идентифицированная данным псевдонимом (alias), была создана вызовом |
abstract void |
engineLoad(InputStream stream,
char[] password) Загружает хранилище ключей из указанного входного потока. |
void |
engineLoad(KeyStore.LoadStoreParameter param) Загружает хранилище ключей, используя указанный |
abstract void |
engineSetCertificateEntry(String alias,
Certificate cert) Присваивает указанный сертификат указанному псевдониму (alias). |
void |
engineSetEntry(String alias,
KeyStore.Entry entry,
KeyStore.ProtectionParameter protParam) Сохраняет |
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() Возвращает количество записей в этом хранилище ключей. |
void |
engineStore(KeyStore.LoadStoreParameter param) Сохраняет это хранилище ключей, используя указанный |
abstract void |
engineStore(OutputStream stream,
char[] password) Сохраняет это хранилище ключей в указанный выходной поток и защищает его целостность указанным паролем. |
Методы, унаследованные от класса 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- пароль для проверки целостности хранилища ключей - Исключение:
-
IOException- если возникла проблема ввода-вывода с данными -
NoSuchAlgorithmException- если не удалось найти соответствующий алгоритм проверки целостности данных -
CertificateException- если какой-либо из сертификатов, включённых в данные хранилища ключей, не может быть сохранён
engineStore
public void engineStore(KeyStore.LoadStoreParameter param)
throws IOException,
NoSuchAlgorithmException,
CertificateException Сохраняет это хранилище ключей, используя заданные KeyStore.LoadStoreParmeter.
- Параметры:
-
param-KeyStore.LoadStoreParmeter, определяющий, как сохранить хранилище ключей, которое может бытьnull - Исключение:
-
IllegalArgumentException- если заданныйKeyStore.LoadStoreParmeterвход не распознан -
IOException- если возникла проблема ввода-вывода с данными -
NoSuchAlgorithmException- если не удалось найти соответствующий алгоритм проверки целостности данных -
CertificateException- если какой-либо из сертификатов, включённых в данные хранилища ключей, не может быть сохранён - Since:
- 1.5
engineLoad
public abstract void engineLoad(InputStream stream,
char[] password)
throws IOException,
NoSuchAlgorithmException,
CertificateException Загружает хранилище ключей из заданного входного потока.
Пароль может быть предоставлен для разблокировки хранилища ключей (например, хранилище ключей находится на устройстве аппаратного токена) или для проверки целостности данных хранилища ключей. Если пароль не предоставляется для проверки целостности, то проверка целостности не выполняется.
- Параметры:
-
stream- входной поток, из которого загружается хранилище ключей, илиnull -
password- пароль, используемый для проверки целостности хранилища ключей, пароль для разблокировки хранилища ключей илиnull - Исключение:
-
IOException- если есть проблема ввода-вывода или формата с данными хранилища ключей, если требуется пароль, но он не предоставлен, или предоставленный пароль был неверен. Если ошибка вызвана неправильным паролем,causeIOExceptionдолжен бытьUnrecoverableKeyException -
NoSuchAlgorithmException- если алгоритм проверки целостности хранилища ключей не найден -
CertificateException- если какой-либо из сертификатов в хранилище ключей не может быть загружен
engineLoad
public void engineLoad(KeyStore.LoadStoreParameter param)
throws IOException,
NoSuchAlgorithmException,
CertificateException Загружает хранилище ключей с помощью заданного KeyStore.LoadStoreParameter.
Обратите внимание, что если это хранилище ключей уже загружено, оно повторно инициализируется и загружается снова из заданного параметра.
- Параметры:
-
param-KeyStore.LoadStoreParameterдля загрузки хранилища ключей, который может бытьnull - Исключения:
-
IllegalArgumentException- если заданныйKeyStore.LoadStoreParameterвход не распознан -
IOException- если есть проблема с вводом/выводом или форматом данных хранилища ключей. Если ошибка вызвана неправильнымProtectionParameter(например, неправильный пароль),causeIOExceptionдолжен бытьUnrecoverableKeyException -
NoSuchAlgorithmException- если алгоритм проверки целостности хранилища ключей не найден -
CertificateException- если любой из сертификатов в хранилище ключей не удалось загрузить - С:
- 1.5
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
© 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.