Spec-Zone.ru › OpenJDK 17

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

Методы, унаследованные от класса java.lang.Object

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

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

Конструктор

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 Уполномоченного центра по отметке времени (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 во время процесса подписи.

Обработчик может использоваться для отображения прогресса подписи. Первым аргументом обработчика может быть "добавление", "подписание" или "обновление", а вторым - имя обрабатываемого 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-256". Значение может быть изменено в будущем.
Возвращает:
алгоритм хэширования по умолчанию.

getDefaultSignatureAlgorithm

public static String getDefaultSignatureAlgorithm(PrivateKey key)
Возвращает алгоритм подписи по умолчанию для закрытого ключа. Например, SHA256withRSA для 2048-битного ключа RSA и SHA384withECDSA для 384-битного ключа EC.
Примечание по реализации:
Эта реализация использует сопоставимые уровни безопасности, как определено в таблицах 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

Spec-Zone.ru

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