Класс 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). |
Подробное описание конструкторов
Конструктор
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- 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 во время процесса подписи. Обработчик может использоваться для отображения прогресса подписи. Первый аргумент обработчика может быть "добавление", "подпись" или "обновление", а второй аргумент — имя обрабатываемого 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 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