Spec-Zone.ru › OpenJDK 27

Класс 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
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Определяет, «равен ли» этот объект другому объекту.
protected void finalize()
Устарело и подлежит удалению: этот элемент API будет удален в будущей версии.
Финализация устарела и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает значение хеш-кода этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова метода notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова метода notify или interrupt, либо до истечения заданного интервала реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова метода notify или interrupt, либо до истечения заданного интервала реального времени.

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

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 Part 1-Rev.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, 2026, 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.

Spec-Zone.ru

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