Класс 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 по стандартным именам алгоритмов. - Возвращает:
- сам объект
JarSigner.Builder. - Исключения:
-
NoSuchAlgorithmException- еслиalgorithmнедоступен.
digestAlgorithm
public JarSigner.Builder digestAlgorithm(String algorithm, Provider provider) throws NoSuchAlgorithmException
getDefaultDigestAlgorithm().- Параметры:
-
algorithm- стандартное имя алгоритма. См. разделMessageDigestв Документации Java Cryptography Architecture по стандартным именам алгоритмов. -
provider- поставщик. - Возвращает:
- сам объект
JarSigner.Builder. - Исключения:
-
NoSuchAlgorithmException- еслиalgorithmнедоступен в указанном поставщике.
signatureAlgorithm
public JarSigner.Builder signatureAlgorithm(String algorithm) throws NoSuchAlgorithmException
getDefaultSignatureAlgorithm(java.security.PrivateKey) для закрытого ключа.- Параметры:
-
algorithm- стандартное имя алгоритма. См. разделSignatureв Документации Java Cryptography Architecture по стандартным именам алгоритмов. - Возвращает:
- сам объект
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 по стандартным именам алгоритмов. -
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-256". Значение может быть изменено в будущем.
- Возвращает:
- алгоритм хэширования по умолчанию.
getDefaultSignatureAlgorithm
public static String getDefaultSignatureAlgorithm(PrivateKey key)
- Примечание по реализации:
- Эта реализация использует сопоставимые уровни безопасности, как определено в таблицах 2 и 3 NIST SP 800-57 Часть 1-Rev.4. В частности, если у DSA или RSA ключ имеет размер больше 7680 бит, или у EC ключ имеет размер больше или равен 512 бит, SHA-512 будет использован в качестве хеш-функции для подписи. Если у DSA или RSA ключ имеет размер больше 3072 бит, или у EC ключ имеет размер больше или равен 384 бит, SHA-384 будет использован. В противном случае, будет использован SHA-256. Значение может быть изменено в будущем.
- Параметры:
-
key- закрытый ключ. - Возвращает:
- алгоритм подписи по умолчанию. Возвращает null, если алгоритм подписи по умолчанию не найден. В этом случае необходимо вызвать метод
signatureAlgorithm(java.lang.String)для указания алгоритма подписи. В противном случае методbuild()выбросит исключениеIllegalArgumentException.
build
public JarSigner build()
JarSigner из параметров, заданных методами-сеттерами. Этот метод не изменяет внутреннее состояние объекта Builder и может быть вызван несколько раз для генерации нескольких объектов JarSigner. После вызова этого метода, вызов любого метода на этом объекте Builder не повлияет на только что созданный объект JarSigner.
- Возвращает:
- объект
JarSigner. - Исключения:
-
IllegalArgumentException- если алгоритм подписи не задан и не может быть выведен из закрытого ключа с помощью методаgetDefaultSignatureAlgorithm(java.security.PrivateKey).
© 1993, 2021, 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/17/docs/api/jdk.jartool/jdk/security/jarsigner/JarSigner.Builder.html