Spec-Zone.ru › OpenJDK 24

Класс 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 авторитета по временной метке (TSA).

Методы, унаследованные от класса 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 Standard Algorithm Name Documentation для получения информации о стандартных именах алгоритмов.
Возвращает:
сам объект JarSigner.Builder.
Исключения:
NoSuchAlgorithmException - если алгоритм algorithm недоступен.

digestAlgorithm

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

signatureAlgorithm

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

Обработчик может использоваться для отображения прогресса подписи. Первый аргумент обработчика может быть "добавление", "подпись" или "обновление", а второй аргумент — имя обрабатываемого 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, 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.
https://download.java.net/java/early_access/jdk24/docs/api/jdk.jartool/jdk/security/jarsigner/JarSigner.Builder.html

Spec-Zone.ru

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