Spec-Zone.ru › OpenJDK 25

Класс 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).

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

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

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

Builder

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

Builder

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».
Возвращает:
сам объект JarSigner.Builder.
Вызывает исключение:
NoSuchAlgorithmException — если algorithm недоступен.
Внешние спецификации
  • Стандартные имена алгоритмов безопасности Java

digestAlgorithm

public JarSigner.Builder digestAlgorithm(String algorithm, Provider provider) throws NoSuchAlgorithmException
Задает алгоритм хеширования, используя указанный поставщик. Если алгоритм хеширования не указан, будет использоваться алгоритм по умолчанию, возвращаемый методом getDefaultDigestAlgorithm().
Параметры:
algorithm — стандартное имя алгоритма. Сведения о стандартных именах алгоритмов см. в разделе MessageDigest документа «Документация по стандартным именам алгоритмов архитектуры криптографии Java».
provider — поставщик.
Возвращает:
сам объект JarSigner.Builder.
Вызывает исключение:
NoSuchAlgorithmException — если algorithm недоступен у указанного поставщика.
Внешние спецификации
  • Стандартные имена алгоритмов безопасности Java

signatureAlgorithm

public JarSigner.Builder signatureAlgorithm(String algorithm) throws NoSuchAlgorithmException
Задает алгоритм подписи. Если алгоритм подписи не указан, для закрытого ключа будет использоваться алгоритм подписи по умолчанию, возвращаемый методом getDefaultSignatureAlgorithm(PrivateKey).
Параметры:
algorithm — стандартное имя алгоритма. Сведения о стандартных именах алгоритмов см. в разделе Signature документа «Документация по стандартным именам алгоритмов архитектуры криптографии Java».
Возвращает:
сам объект JarSigner.Builder.
Вызывает исключение:
NoSuchAlgorithmException — если algorithm недоступен.
IllegalArgumentException — если algorithm несовместим с алгоритмом закрытого ключа подписывающего.
Внешние спецификации
  • Стандартные имена алгоритмов безопасности Java

signatureAlgorithm

public JarSigner.Builder signatureAlgorithm(String algorithm, Provider provider) throws NoSuchAlgorithmException
Задает алгоритм подписи, используя указанный поставщик. Если алгоритм подписи не указан, для закрытого ключа будет использоваться алгоритм подписи по умолчанию, возвращаемый методом getDefaultSignatureAlgorithm(PrivateKey).
Параметры:
algorithm — стандартное имя алгоритма. Сведения о стандартных именах алгоритмов см. в разделе Signature документа «Документация по стандартным именам алгоритмов архитектуры криптографии Java».
provider — поставщик.
Возвращает:
сам объект JarSigner.Builder.
Вызывает исключение:
NoSuchAlgorithmException — если algorithm недоступен у указанного поставщика.
IllegalArgumentException — если algorithm несовместим с алгоритмом закрытого ключа подписывающего.
Внешние спецификации
  • Стандартные имена алгоритмов безопасности Java

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 для ключа RSA размером 2048 бит и SHA384withECDSA для ключа EC размером 384 бита.
Примечание по реализации:
Эта реализация использует сопоставимые уровни стойкости, определенные в таблицах 2 и 3 документа NIST SP 800-57, часть 1, редакция 5, а также соответствующие рекомендации NIST. В частности, для ключа RSA размером более 7680 бит или ключа EC размером не менее 512 бит в качестве хеш-функции подписи будет использоваться SHA-512. В остальных случаях используется SHA-384, если только размер ключа не слишком мал для получаемого алгоритма подписи. Для ключей DSA возвращается алгоритм подписи SHA256withDSA независимо от размера ключа. В будущем значение может измениться.
Параметры:
key — закрытый ключ.
Возвращает:
алгоритм подписи по умолчанию. Возвращает null, если алгоритм подписи по умолчанию не найден. В этом случае необходимо вызвать signatureAlgorithm(String), чтобы указать алгоритм подписи. В противном случае метод build() вызовет исключение IllegalArgumentException.

build

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

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

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

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, где приведены более подробные описания для разработчиков, включая общие сведения, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/jdk.jartool/jdk/security/jarsigner/JarSigner.Builder.html

Spec-Zone.ru

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