Класс JarSigner.Builder
- Внешний класс:
JarSigner
public static class JarSigner.Builder extends Object
JarSigner на основе различных параметров, связанных с подписанием.- Начиная с:
- 9
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
Builder |
Создает объект JarSigner.Builder с объектом KeyStore.PrivateKeyEntry. |
Builder |
Создает объект JarSigner.Builder с закрытым ключом и путем сертификации. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
JarSigner |
build() |
Создает объект JarSigner на основе параметров, заданных методами-сеттерами. |
JarSigner.Builder |
digestAlgorithm |
Задает алгоритм хеширования. |
JarSigner.Builder |
digestAlgorithm |
Задает алгоритм хеширования, используя указанный поставщик. |
JarSigner.Builder |
eventHandler |
Задает обработчик событий, который будет вызываться, когда в процессе подписания необходимо добавить, подписать или обновить JarEntry. |
static String |
getDefaultDigestAlgorithm() |
Возвращает алгоритм хеширования по умолчанию. |
static String |
getDefaultSignatureAlgorithm |
Возвращает алгоритм подписи по умолчанию для закрытого ключа. |
JarSigner.Builder |
setProperty |
Задает дополнительное свойство, специфичное для реализации и обозначаемое указанным ключом. |
JarSigner.Builder |
signatureAlgorithm |
Задает алгоритм подписи. |
JarSigner.Builder |
signatureAlgorithm |
Задает алгоритм подписи, используя указанный поставщик. |
JarSigner.Builder |
signerName |
Задает имя подписывающего. |
JarSigner.Builder |
tsa |
Задает URI центра штампов времени (TSA). |
Подробное описание конструкторов
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недоступен. - Внешние спецификации
digestAlgorithm
public JarSigner.Builder digestAlgorithm(String algorithm, Provider provider) throws NoSuchAlgorithmException
getDefaultDigestAlgorithm().- Параметры:
-
algorithm— стандартное имя алгоритма. Сведения о стандартных именах алгоритмов см. в разделеMessageDigestдокумента «Документация по стандартным именам алгоритмов архитектуры криптографии Java». -
provider— поставщик. - Возвращает:
- сам объект
JarSigner.Builder. - Вызывает исключение:
-
NoSuchAlgorithmException— еслиalgorithmнедоступен у указанного поставщика. - Внешние спецификации
signatureAlgorithm
public JarSigner.Builder signatureAlgorithm(String algorithm) throws NoSuchAlgorithmException
getDefaultSignatureAlgorithm(PrivateKey).- Параметры:
-
algorithm— стандартное имя алгоритма. Сведения о стандартных именах алгоритмов см. в разделеSignatureдокумента «Документация по стандартным именам алгоритмов архитектуры криптографии Java». - Возвращает:
- сам объект
JarSigner.Builder. - Вызывает исключение:
-
NoSuchAlgorithmException— еслиalgorithmнедоступен. -
IllegalArgumentException— еслиalgorithmнесовместим с алгоритмом закрытого ключа подписывающего. - Внешние спецификации
signatureAlgorithm
public JarSigner.Builder signatureAlgorithm(String algorithm, Provider provider) throws NoSuchAlgorithmException
getDefaultSignatureAlgorithm(PrivateKey).- Параметры:
-
algorithm— стандартное имя алгоритма. Сведения о стандартных именах алгоритмов см. в разделеSignatureдокумента «Документация по стандартным именам алгоритмов архитектуры криптографии Java». -
provider— поставщик. - Возвращает:
- сам объект
JarSigner.Builder. - Вызывает исключение:
-
NoSuchAlgorithmException— еслиalgorithmнедоступен у указанного поставщика. -
IllegalArgumentException— еслиalgorithmнесовместим с алгоритмом закрытого ключа подписывающего. - Внешние спецификации
tsa
public JarSigner.Builder tsa(URI uri)
- Параметры:
-
uri— URI. - Возвращает:
- сам объект
JarSigner.Builder.
signerName
public JarSigner.Builder signerName(String name)
- Параметры:
-
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".
- "tsaDigestAlg": алгоритм хеширования данных в запросе на штамп времени. Значение по умолчанию совпадает с результатом вызова
- Параметры:
-
key— имя свойства. -
value— значение свойства. - Возвращает:
- сам объект
JarSigner.Builder. - Вызывает исключение:
-
UnsupportedOperationException— если этот ключ не поддерживается данной реализацией. -
IllegalArgumentException— если значение не является допустимым для этого ключа.
getDefaultDigestAlgorithm
public static String getDefaultDigestAlgorithm()
- Примечание по реализации:
- Эта реализация возвращает "SHA-384". В будущем значение может измениться.
- Возвращает:
- алгоритм хеширования по умолчанию.
getDefaultSignatureAlgorithm
public static String getDefaultSignatureAlgorithm(PrivateKey key)
- Примечание по реализации:
- Эта реализация использует сопоставимые уровни стойкости, определенные в таблицах 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).
© 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