Spec-Zone.ru › OpenJDK 8

Класс KeyStore

  • java.lang.Object
    • java.security.KeyStore

public class KeyStore
extends Object

Этот класс представляет собой хранилище криптографических ключей и сертификатов.

Управляющий KeyStore управляет различными типами записей. Каждый тип записи реализует интерфейс KeyStore.Entry. Предоставляются три основных реализации KeyStore.Entry:

  • KeyStore.PrivateKeyEntry

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

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

  • KeyStore.SecretKeyEntry

    Этот тип записи содержит криптографический SecretKey, который необязательно хранится в защищенном формате для предотвращения несанкционированного доступа.

  • KeyStore.TrustedCertificateEntry

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

    Этот тип записи можно использовать для аутентификации других сторон.

Каждая запись в хранилище идентифицируется строкой «псевдонима». В случае с приватными ключами и связанными с ними цепочками сертификатов эти строки различают различные способы, которыми сущность может аутентифицировать себя. Например, сущность может аутентифицировать себя с помощью разных центров сертификации или с использованием разных алгоритмов открытых ключей.

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

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

Типичные способы запроса объекта KeyStore включают использование типа по умолчанию и предоставление конкретного типа хранилища.

  • Чтобы использовать тип по умолчанию:
    KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
    Система вернёт реализацию хранилища для типа по умолчанию.
  • Чтобы указать конкретный тип хранилища:
    KeyStore ks = KeyStore.getInstance("JKS");
    Система вернёт наиболее предпочтительную реализацию указанного типа хранилища, доступного в среде.

Перед доступом к хранилищу необходимо loaded.

KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());

    // get user password and file input stream
    char[] password = getPassword();

    try (FileInputStream fis = new FileInputStream("keyStoreName")) {
        ks.load(fis, password);
    }
Для создания пустого хранилища с помощью вышеупомянутого load метода передайте null в качестве InputStream аргумента.

После загрузки хранилища можно читать существующие записи из хранилища или записывать новые записи в хранилище:

KeyStore.ProtectionParameter protParam =
        new KeyStore.PasswordProtection(password);

    // get my private key
    KeyStore.PrivateKeyEntry pkEntry = (KeyStore.PrivateKeyEntry)
        ks.getEntry("privateKeyAlias", protParam);
    PrivateKey myPrivateKey = pkEntry.getPrivateKey();

    // save my secret key
    javax.crypto.SecretKey mySecretKey;
    KeyStore.SecretKeyEntry skEntry =
        new KeyStore.SecretKeyEntry(mySecretKey);
    ks.setEntry("secretKeyAlias", skEntry, protParam);

    // store away the keystore
    try (FileOutputStream fos = new FileOutputStream("newKeyStoreName")) {
        ks.store(fos, password);
    }
Обратите внимание, что хотя для загрузки хранилища может использоваться один и тот же пароль, для защиты записи приватного ключа, для защиты записи секретного ключа и для сохранения хранилища (как показано в примере кода выше), могут быть также использованы разные пароли или другие параметры защиты.

Каждая реализация Java платформы должна поддерживать следующие стандартные KeyStore тип:

  • PKCS12
Этот тип описан в разделе KeyStore документации по стандартным именам алгоритмов Java Cryptography Architecture. Обратитесь к документации к вашей реализации, чтобы узнать, поддерживаются ли какие-либо другие типы.
С тех пор:
1.2
См. также:
PrivateKey, SecretKey, Certificate

Вложенные классы

Модификатор и тип Класс и описание
static class  KeyStore.Builder

Описание объекта KeyStore, который нужно создать.

static class  KeyStore.CallbackHandlerProtection

ProtectionParameter, содержащий CallbackHandler.

static interface  KeyStore.Entry

Маркерный интерфейс для типов записей KeyStore.

static interface  KeyStore.LoadStoreParameter

Маркерный интерфейс для параметров KeyStore load и store.

static class  KeyStore.PasswordProtection

Реализация ProtectionParameter на основе пароля.

static class  KeyStore.PrivateKeyEntry

Запись KeyStore, содержащая PrivateKey и соответствующую цепочку сертификатов.

static interface  KeyStore.ProtectionParameter

Маркерный интерфейс для параметров защиты хранилища.

static class  KeyStore.SecretKeyEntry

Запись KeyStore , содержащая SecretKey.

static class  KeyStore.TrustedCertificateEntry

Запись KeyStore , содержащая доверенный Certificate.

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

Модификатор Конструктор и описание
protected KeyStore(KeyStoreSpi keyStoreSpi, Provider provider, String type)

Создаёт объект KeyStore заданного типа и инкапсулирует указанную реализацию провайдера (объект SPI) в нём.

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

Модификатор и тип Метод и описание
Enumeration<String> aliases()

Перечисляет все имена псевдонимов этого хранилища.

boolean containsAlias(String alias)

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

void deleteEntry(String alias)

Удаляет запись, идентифицированную данным псевдонимом, из этого хранилища.

boolean entryInstanceOf(String alias, Class<? extends KeyStore.Entry> entryClass)

Определяет, является ли хранилище Entry для указанного alias экземпляром или подклассом указанного entryClass.

Certificate getCertificate(String alias)

Возвращает сертификат, связанный с данным псевдонимом.

String getCertificateAlias(Certificate cert)

Возвращает имя (псевдоним) первой записи хранилища, сертификат которой соответствует заданному сертификату.

Certificate[] getCertificateChain(String alias)

Возвращает цепочку сертификатов, связанную с данным псевдонимом.

Date getCreationDate(String alias)

Возвращает дату создания записи, идентифицированной данным псевдонимом.

static String getDefaultType()

Возвращает тип хранилища по умолчанию, заданный свойством безопасности keystore.type, или строку "jks" (аббревиатура от "Java keystore"), если такое свойство не существует.

KeyStore.Entry getEntry(String alias, KeyStore.ProtectionParameter protParam)

Получает хранилище Entry для указанного псевдонима с указанным параметром защиты.

static KeyStore getInstance(String type)

Возвращает объект хранилища указанного типа.

static KeyStore getInstance(String type, Provider provider)

Возвращает объект хранилища указанного типа.

static KeyStore getInstance(String type, String provider)

Возвращает объект хранилища указанного типа.

Key getKey(String alias, char[] password)

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

Provider getProvider()

Возвращает провайдера этого хранилища.

String getType()

Возвращает тип этого хранилища.

boolean isCertificateEntry(String alias)

Возвращает true, если запись, идентифицированная данным псевдонимом, была создана вызовом setCertificateEntry, или создана вызовом setEntry с TrustedCertificateEntry.

boolean isKeyEntry(String alias)

Возвращает true, если запись, идентифицированная данным псевдонимом, была создана вызовом setKeyEntry, или создана вызовом setEntry с PrivateKeyEntry или SecretKeyEntry.

void load(InputStream stream, char[] password)

Загружает это хранилище из указанного потока ввода.

void load(KeyStore.LoadStoreParameter param)

Загружает это хранилище, используя указанный LoadStoreParameter.

void setCertificateEntry(String alias, Certificate cert)

Присваивает заданный доверенный сертификат заданному псевдониму.

void setEntry(String alias, KeyStore.Entry entry, KeyStore.ProtectionParameter protParam)

Сохраняет хранилище Entry под указанным псевдонимом.

void setKeyEntry(String alias, byte[] key, Certificate[] chain)

Присваивает заданный ключ (который уже был защищён) заданному псевдониму.

void setKeyEntry(String alias, Key key, char[] password, Certificate[] chain)

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

int size()

Возвращает количество записей в этом хранилище.

void store(KeyStore.LoadStoreParameter param)

Сохраняет это хранилище, используя указанный LoadStoreParameter.

void store(OutputStream stream, char[] password)

Сохраняет это хранилище в указанном потоке вывода и защищает его целостность заданным паролем.

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

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

Конструкторы

KeyStore

protected KeyStore(KeyStoreSpi keyStoreSpi,
                   Provider provider,
                   String type)

Создаёт объект KeyStore указанного типа и инкапсулирует в нём указанную реализацию поставщика (объект SPI).

Параметры:
keyStoreSpi - реализация поставщика.
provider - поставщик.
type - тип хранилища ключей.

Методы

getInstance

public static KeyStore getInstance(String type)
                            throws KeyStoreException

Возвращает объект хранилища ключей указанного типа.

Этот метод обходит список зарегистрированных поставщиков безопасности, начиная с наиболее предпочтительного. Возвращается новый объект KeyStore, инкапсулирующий реализацию KeyStoreSpi от первого поставщика, который поддерживает указанный тип.

Обратите внимание, что список зарегистрированных поставщиков можно получить с помощью метода Security.getProviders().

Параметры:
type - тип хранилища ключей. См. раздел KeyStore в Документации Java Cryptography Architecture по стандартным именам алгоритмов для получения информации о стандартных типах хранилищ ключей.
Возвращает:
объект хранилища ключей указанного типа.
Исключения:
KeyStoreException - если ни один поставщик не поддерживает реализацию KeyStoreSpi для указанного типа.
См. также:
Provider

getInstance

public static KeyStore getInstance(String type,
                                   String provider)
                            throws KeyStoreException,
                                   NoSuchProviderException

Возвращает объект хранилища ключей указанного типа.

Возвращается новый объект KeyStore, инкапсулирующий реализацию KeyStoreSpi от указанного поставщика. Указанный поставщик должен быть зарегистрирован в списке поставщиков безопасности.

Обратите внимание, что список зарегистрированных поставщиков можно получить с помощью метода Security.getProviders().

Параметры:
type - тип хранилища ключей. См. раздел KeyStore в Документации Java Cryptography Architecture по стандартным именам алгоритмов для получения информации о стандартных типах хранилищ ключей.
provider - имя поставщика.
Возвращает:
объект хранилища ключей указанного типа.
Исключения:
KeyStoreException - если реализация KeyStoreSpi для указанного типа недоступна от указанного поставщика.
NoSuchProviderException - если указанный поставщик не зарегистрирован в списке поставщиков безопасности.
IllegalArgumentException - если имя поставщика равно null или пустое.
См. также:
Provider

getInstance

public static KeyStore getInstance(String type,
                                   Provider provider)
                            throws KeyStoreException

Возвращает объект хранилища ключей указанного типа.

Возвращается новый объект KeyStore, инкапсулирующий реализацию KeyStoreSpi от указанного объекта поставщика. Обратите внимание, что указанный объект поставщика не обязательно должен быть зарегистрирован в списке поставщиков.

Параметры:
type - тип хранилища ключей. См. раздел KeyStore в Документации Java Cryptography Architecture по стандартным именам алгоритмов для получения информации о стандартных типах хранилищ ключей.
provider - поставщик.
Возвращает:
объект хранилища ключей указанного типа.
Исключения:
KeyStoreException - если реализация KeyStoreSpi для указанного типа недоступна от указанного объекта поставщика.
IllegalArgumentException - если указанный поставщик равен null.
С тех пор как:
1.4
См. также:
Provider

getDefaultType

public static final String getDefaultType()

Возвращает тип хранилища ключей по умолчанию, как указано в свойстве безопасности keystore.type, или строку "jks" (аббревиатура от "Java keystore"), если такое свойство не существует.

Тип хранилища ключей по умолчанию может использоваться приложениями, которые не хотят использовать жёстко заданный тип хранилища ключей при вызове одного из методов getInstance, и хотят предоставить тип хранилища ключей по умолчанию в случае, если пользователь не указывает свой собственный.

Тип хранилища ключей по умолчанию можно изменить, установив значение свойства безопасности keystore.type на желаемый тип хранилища ключей.

Возвращает:
тип хранилища ключей по умолчанию, как указано в свойстве безопасности keystore.type, или строку "jks", если такое свойство не существует.
См. также:
security properties

getProvider

public final Provider getProvider()

Возвращает поставщика этого хранилища ключей.

Возвращает:
поставщик этого хранилища ключей.

getType

public final String getType()

Возвращает тип этого хранилища ключей.

Возвращает:
тип этого хранилища ключей.

getKey

public final Key getKey(String alias,
                        char[] password)
                 throws KeyStoreException,
                        NoSuchAlgorithmException,
                        UnrecoverableKeyException

Возвращает ключ, связанный с заданным псевдонимом, используя заданный пароль для его восстановления. Ключ должен был быть связан с псевдонимом вызовом setKeyEntry, или вызовом setEntry с PrivateKeyEntry или SecretKeyEntry.

Параметры:
alias - имя псевдонима
password - пароль для восстановления ключа
Возвращает:
запрашиваемый ключ или null, если заданного псевдонима не существует или он не идентифицирует запись, связанную с ключом.
Исключения:
KeyStoreException - если хранилище ключей не было инициализировано (загружено).
NoSuchAlgorithmException - если алгоритм восстановления ключа не найден
UnrecoverableKeyException - если ключ не может быть восстановлен (например, заданный пароль неверный).

getCertificateChain

public final Certificate[] getCertificateChain(String alias)
                                        throws KeyStoreException

Возвращает цепочку сертификатов, связанную с заданным псевдонимом. Цепочка сертификатов должна была быть связана с псевдонимом вызовом setKeyEntry, или вызовом setEntry с PrivateKeyEntry.

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

getCertificate

public final Certificate getCertificate(String alias)
                                 throws KeyStoreException

Возвращает сертификат, связанный с данным псевдонимом.

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

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

Параметры:
alias - имя псевдонима
Возвращает:
сертификат или null, если заданного псевдонима не существует или он не содержит сертификат.
Исключения:
KeyStoreException - если хранилище ключей не было инициализировано (загружено).

getCreationDate

public final Date getCreationDate(String alias)
                           throws KeyStoreException

Возвращает дату создания записи, идентифицированной данным псевдонимом.

Параметры:
alias - имя псевдонима
Возвращает:
дата создания этой записи или null, если заданного псевдонима не существует
Исключения:
KeyStoreException - если хранилище ключей не было инициализировано (загружено).

setKeyEntry

public final void setKeyEntry(String alias,
                              Key key,
                              char[] password,
                              Certificate[] chain)
                       throws KeyStoreException

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

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

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

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

setKeyEntry

public final void setKeyEntry(String alias,
                              byte[] key,
                              Certificate[] chain)
                       throws KeyStoreException

Присваивает заданный ключ (который уже защищён) заданному псевдониму.

Если защищённый ключ типа java.security.PrivateKey, он должен сопровождаться цепочкой сертификатов, подтверждающих соответствующий открытый ключ. Если реализация базового хранилища ключей типа jks, key должен быть закодирован как EncryptedPrivateKeyInfo в соответствии со стандартом PKCS #8.

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

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

setCertificateEntry

public final void setCertificateEntry(String alias,
                                      Certificate cert)
                               throws KeyStoreException

Присваивает заданный доверенный сертификат заданному псевдониму.

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

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

deleteEntry

public final void deleteEntry(String alias)
                       throws KeyStoreException

Удаляет запись, идентифицированную заданным псевдонимом, из данного хранилища ключей.

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

aliases

public final Enumeration<String> aliases()
                                  throws KeyStoreException

Перечисляет все имена псевдонимов данного хранилища ключей.

Возвращает:
перечисление имен псевдонимов
Исключение:
KeyStoreException - если хранилище ключей не было инициализировано (загружено).

containsAlias

public final boolean containsAlias(String alias)
                            throws KeyStoreException

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

Параметры:
alias - имя псевдонима
Возвращает:
true, если псевдоним существует, false в противном случае
Исключение:
KeyStoreException - если хранилище ключей не было инициализировано (загружено).

size

public final int size()
               throws KeyStoreException

Возвращает количество записей в этом хранилище ключей.

Возвращает:
количество записей в этом хранилище ключей
Исключение:
KeyStoreException - если хранилище ключей не было инициализировано (загружено).

isKeyEntry

public final boolean isKeyEntry(String alias)
                         throws KeyStoreException

Возвращает true, если запись, идентифицированная заданным псевдонимом, была создана вызовом setKeyEntry, или создана вызовом setEntry с PrivateKeyEntry или SecretKeyEntry.

Параметры:
alias - псевдоним записи хранилища ключей, подлежащей проверке
Возвращает:
true, если запись, идентифицированная заданным псевдонимом, является записью, связанной с ключом, иначе — false.
Исключение:
KeyStoreException - если хранилище ключей не было инициализировано (загружено).

isCertificateEntry

public final boolean isCertificateEntry(String alias)
                                 throws KeyStoreException

Возвращает true, если запись, идентифицированная заданным псевдонимом, была создана вызовом setCertificateEntry, или создана вызовом setEntry с TrustedCertificateEntry.

Параметры:
alias - псевдоним записи хранилища ключей, подлежащей проверке
Возвращает:
true, если запись, идентифицированная заданным псевдонимом, содержит доверенный сертификат, иначе — false.
Исключение:
KeyStoreException - если хранилище ключей не было инициализировано (загружено).

getCertificateAlias

public final String getCertificateAlias(Certificate cert)
                                 throws KeyStoreException

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

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

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

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

store

public final void store(OutputStream stream,
                        char[] password)
                 throws KeyStoreException,
                        IOException,
                        NoSuchAlgorithmException,
                        CertificateException

Сохраняет это хранилище ключей в заданном потоке вывода и защищает его целостность заданным паролем.

Параметры:
stream - поток вывода, в который записывается это хранилище ключей.
password - пароль для генерации проверки целостности хранилища ключей
Исключение:
KeyStoreException - если хранилище ключей не было инициализировано (загружено).
IOException - если возникла проблема ввода-вывода с данными
NoSuchAlgorithmException - если алгоритм проверки целостности данных не был найден
CertificateException - если любой из сертификатов, включенных в данные хранилища ключей, не может быть сохранён

store

public final void store(KeyStore.LoadStoreParameter param)
                 throws KeyStoreException,
                        IOException,
                        NoSuchAlgorithmException,
                        CertificateException

Сохраняет это хранилище ключей с использованием заданного LoadStoreParameter.

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

load

public final void load(InputStream stream,
                       char[] password)
                throws IOException,
                       NoSuchAlgorithmException,
                       CertificateException

Загружает это хранилище ключей из заданного потока ввода.

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

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

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

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

load

public final void load(KeyStore.LoadStoreParameter param)
                throws IOException,
                       NoSuchAlgorithmException,
                       CertificateException

Загружает это хранилище ключей с использованием заданного LoadStoreParameter.

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

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

getEntry

public final KeyStore.Entry getEntry(String alias,
                                     KeyStore.ProtectionParameter protParam)
                              throws NoSuchAlgorithmException,
                                     UnrecoverableEntryException,
                                     KeyStoreException

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

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

setEntry

public final void setEntry(String alias,
                           KeyStore.Entry entry,
                           KeyStore.ProtectionParameter protParam)
                    throws KeyStoreException

Сохраняет запись хранилища ключей под указанным псевдонимом. Параметр защиты используется для защиты Entry.

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

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

entryInstanceOf

public final boolean entryInstanceOf(String alias,
                                     Class<? extends KeyStore.Entry> entryClass)
                              throws KeyStoreException

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

Параметры:
alias - псевдоним
entryClass - класс записи
Возвращает:
true, если хранилище ключей Entry для указанного alias является экземпляром или подклассом указанного entryClass, в противном случае false
Исключения:
NullPointerException - если alias или entryClass null
KeyStoreException - если хранилище ключей не было инициализировано (загружено)
Начиная с:
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.

Spec-Zone.ru

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