Spec-Zone.ru › OpenJDK 21

Класс JarSigner.Builder

java.lang.Object
jdk.security.jarsigner.JarSigner.Builder
Вложенный класс:
JarSigner
public static class JarSigner.Builder extends Object
Изменяемый класс-строитель, который может создать неизменяемый JarSigner на основе различных параметров, связанных с подписью.
С момента:
9

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

Конструктор Описание
Builder(KeyStore.PrivateKeyEntry entry)
Создаёт объект JarSigner.Builder с объектом KeyStore.PrivateKeyEntry.
Builder(PrivateKey privateKey, CertPath certPath)
Создаёт объект JarSigner.Builder с закрытым ключом и цепочкой сертификатов.

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

Модификатор и тип Метод Описание
JarSigner build()
Строит объект JarSigner из параметров, заданных методами-сеттерами.
JarSigner.Builder digestAlgorithm(String algorithm)
Устанавливает алгоритм дайджеста.
JarSigner.Builder digestAlgorithm(String algorithm, Provider provider)
Устанавливает алгоритм дайджеста из указанного поставщика.
JarSigner.Builder eventHandler(BiConsumer<String,String> handler)
Устанавливает обработчик событий, который будет вызываться, когда JarEntry должен быть добавлен, подписан или обновлён во время процесса подписи.
static String getDefaultDigestAlgorithm()
Возвращает алгоритм дайджеста по умолчанию.
static String getDefaultSignatureAlgorithm(PrivateKey key)
Возвращает алгоритм подписи по умолчанию для закрытого ключа.
JarSigner.Builder setProperty(String key, String value)
Устанавливает дополнительное свойство, специфичное для реализации, указанное с помощью указанного ключа.
JarSigner.Builder signatureAlgorithm(String algorithm)
Устанавливает алгоритм подписи.
JarSigner.Builder signatureAlgorithm(String algorithm, Provider provider)
Устанавливает алгоритм подписи из указанного поставщика.
JarSigner.Builder signerName(String name)
Устанавливает имя подписывающего.
JarSigner.Builder tsa(URI uri)
Устанавливает URI Уполномоченного центра по времени.

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

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

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

Конструктор

public Builder(KeyStore.PrivateKeyEntry entry)
Создаёт объект JarSigner.Builder с объектом KeyStore.PrivateKeyEntry.
Параметры:
entry - KeyStore.PrivateKeyEntry подписывающего лица.

Конструктор

public Builder(PrivateKey privateKey, CertPath certPath)
Создаёт объект JarSigner.Builder с закрытым ключом и цепочкой сертификатов.
Параметры:
privateKey - закрытый ключ подписывающего лица.
certPath - цепочка сертификатов подписывающего лица.
Исключения:
IllegalArgumentException - если certPath пуста, или алгоритм privateKey не соответствует алгоритму PublicKey в сертификате конечного узла (первый сертификат в certPath).

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

digestAlgorithm

public JarSigner.Builder digestAlgorithm(String algorithm) throws NoSuchAlgorithmException
Устанавливает алгоритм дайджеста. Если алгоритм дайджеста не указан, используется алгоритм по умолчанию, возвращаемый getDefaultDigestAlgorithm().
Параметры:
algorithm - стандартное имя алгоритма. См. раздел MessageDigest в документации Java Cryptography Architecture по стандартным именам алгоритмов для получения информации о стандартных именах алгоритмов.
Возвращаемое значение:
сам объект JarSigner.Builder.
Исключения:
NoSuchAlgorithmException - если algorithm недоступен.

digestAlgorithm

public JarSigner.Builder digestAlgorithm(String algorithm, Provider provider) throws NoSuchAlgorithmException
Устанавливает алгоритм дайджеста из указанного поставщика. Если алгоритм дайджеста не указан, используется алгоритм по умолчанию, возвращаемый getDefaultDigestAlgorithm().
Параметры:
algorithm - стандартное имя алгоритма. См. раздел MessageDigest в документации Java Cryptography Architecture по стандартным именам алгоритмов для получения информации о стандартных именах алгоритмов.
provider - поставщик.
Возвращаемое значение:
сам объект JarSigner.Builder.
Исключения:
NoSuchAlgorithmException - если algorithm недоступен в указанном поставщике.

signatureAlgorithm

public JarSigner.Builder signatureAlgorithm(String algorithm) throws NoSuchAlgorithmException
Устанавливает алгоритм подписи. Если алгоритм подписи не указан, используется алгоритм подписи по умолчанию, возвращаемый getDefaultSignatureAlgorithm(java.security.PrivateKey) для закрытого ключа.
Параметры:
algorithm - стандартное имя алгоритма. См. раздел Signature в документации Java Cryptography Architecture по стандартным именам алгоритмов для получения информации о стандартных именах алгоритмов.
Возвращаемое значение:
сам объект JarSigner.Builder.
Исключения:
NoSuchAlgorithmException - если algorithm недоступен.
IllegalArgumentException - если algorithm несовместим с алгоритмом закрытого ключа подписывающего лица.

signatureAlgorithm

public JarSigner.Builder signatureAlgorithm(String algorithm, Provider provider) throws NoSuchAlgorithmException
Устанавливает алгоритм подписи из указанного поставщика. Если алгоритм подписи не указан, используется алгоритм подписи по умолчанию, возвращаемый getDefaultSignatureAlgorithm(java.security.PrivateKey) для закрытого ключа.
Параметры:
algorithm - стандартное имя алгоритма. См. раздел Signature в документации Java Cryptography Architecture по стандартным именам алгоритмов для получения информации о стандартных именах алгоритмов.
provider - поставщик.
Возвращаемое значение:
сам объект JarSigner.Builder.
Исключения:
NoSuchAlgorithmException - если algorithm недоступен в указанном поставщике.
IllegalArgumentException - если algorithm несовместим с алгоритмом закрытого ключа подписывающего лица.

tsa

public JarSigner.Builder tsa(URI uri)
Устанавливает URI центра по времени (TSA).
Параметры:
uri - URI.
Возвращаемое значение:
сам объект JarSigner.Builder.

signerName

public JarSigner.Builder signerName(String name)
Устанавливает имя подписывающего лица. Имя будет использоваться как базовое имя для файлов подписи. Все строчные символы будут преобразованы в прописные для имён файлов подписи. Если имя подписывающего лица не указано, будет использоваться строка "SIGNER".
Параметры:
name - имя подписывающего лица.
Возвращаемое значение:
сам объект JarSigner.Builder.
Исключения:
IllegalArgumentException - если name пустое или имеет размер больше 8, или содержит символы, не входящие в набор "a-zA-Z0-9_-".

eventHandler

public JarSigner.Builder eventHandler(BiConsumer<String,String> handler)
Устанавливает обработчик событий, который будет срабатывать при добавлении, подписи или обновлении JarEntry во время процесса подписи.

Обработчик может использоваться для отображения хода подписи. Первый аргумент обработчика может быть "adding", "signing" или "updating", а второй аргумент — имя обрабатываемого JarEntry.

Параметры:
handler - обработчик событий.
Возвращаемое значение:
сам объект JarSigner.Builder.

setProperty

public JarSigner.Builder setProperty(String key, String value)
Устанавливает дополнительное свойство, специфичное для реализации, указанное заданным ключом.
Примечание реализации:
Эта реализация поддерживает следующие свойства:
  • "tsaDigestAlg": алгоритм дайджеста данных в запросе о времени. Значение по умолчанию такое же, как результат getDefaultDigestAlgorithm().
  • "tsaPolicyId": TSAPolicyID для центра по времени. Значение по умолчанию отсутствует.
  • "internalsf": "true", если файл .SF включён в блок подписи, "false" в противном случае. Значение по умолчанию "false".
  • "sectionsonly": "true", если файл .SF содержит только значения хеша для каждого раздела манифеста, а не для всего манифеста, "false" в противном случае. Значение по умолчанию "false".
Все имена свойств регистронезависимы.
Параметры:
key - имя свойства.
value - значение свойства.
Возвращаемое значение:
сам объект JarSigner.Builder.
Исключения:
UnsupportedOperationException - если ключ не поддерживается этой реализацией.
IllegalArgumentException - если значение не принимается как допустимое значение для этого ключа.

getDefaultDigestAlgorithm

public static String getDefaultDigestAlgorithm()
Возвращает алгоритм дайджеста по умолчанию.
Примечание реализации:
Эта реализация возвращает "SHA-384". Значение может быть изменено в будущем.
Возвращаемое значение:
алгоритм дайджеста по умолчанию.

getDefaultSignatureAlgorithm

public static String getDefaultSignatureAlgorithm(PrivateKey key)
Возвращает алгоритм подписи по умолчанию для закрытого ключа. Например, SHA384withRSA для 2048-битного ключа RSA и SHA384withECDSA для 384-битного ключа EC.
Примечание реализации:
Эта реализация использует сопоставимые уровни безопасности, как определено в таблицах 2 и 3 NIST SP 800-57 Part 1-Rev.5, а также рекомендации NIST, где это необходимо. В частности, если у ключа RSA размер ключа больше 7680 бит или у ключа EC размер ключа больше или равен 512 бит, SHA-512 будет использоваться как функция хэширования для подписи. В противном случае, SHA-384 будет использоваться, если размер ключа недостаточно большой для полученного алгоритма подписи. Что касается ключей DSA, алгоритм подписи SHA256withDSA возвращается независимо от размера ключа. Значение может быть изменено в будущем.
Параметры:
key - закрытый ключ.
Возвращаемое значение:
алгоритм подписи по умолчанию. Возвращает null, если алгоритм подписи по умолчанию не найден. В этом случае, необходимо вызвать signatureAlgorithm(java.lang.String) для указания алгоритма подписи. В противном случае метод build() выбросит исключение IllegalArgumentException.

build

public JarSigner build()
Создаёт объект JarSigner из параметров, установленных методами-сеттерами.

Этот метод не изменяет внутреннее состояние объекта Builder и может быть вызван несколько раз для генерации нескольких объектов JarSigner. После вызова этого метода, вызов любого метода на этом Builder объекте не повлияет на вновь созданный объект JarSigner.

Возвращаемое значение:
объект JarSigner.
Исключения:
IllegalArgumentException - если алгоритм подписи не установлен и не может быть получен из закрытого ключа с помощью метода getDefaultSignatureAlgorithm(java.security.PrivateKey).

© 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/jdk.jartool/jdk/security/jarsigner/JarSigner.Builder.html

Spec-Zone.ru

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