Spec-Zone.ru › OpenJDK 24

Класс XMLSignatureFactory

java.lang.Object
javax.xml.crypto.dsig.XMLSignatureFactory
public abstract class XMLSignatureFactory extends Object
Фабрика для создания объектов XMLSignature с нуля или для разархивирования объекта XMLSignature из соответствующего XML-представления.

Тип XMLSignatureFactory

Каждый экземпляр XMLSignatureFactory поддерживает определённый тип XML-механизма. Для создания XMLSignatureFactory вызовите один из статических методов getInstance, передав требуемый тип XML-механизма, например:

XMLSignatureFactory factory = XMLSignatureFactory.getInstance("DOM");

Создаваемые этой фабрикой объекты будут основаны на DOM и будут соответствовать требованиям взаимозаменяемости DOM, как определено в Требованиях к механизму DOM. Список стандартных типов механизмов см. в разделе XMLSignatureFactory спецификации Стандартных имен алгоритмов Java Security.

XMLSignatureFactory реализации регистрируются и загружаются с помощью механизма Provider. Например, поставщик сервисов, поддерживающий механизм DOM, будет указан в подклассе Provider следующим образом:

     put("XMLSignatureFactory.DOM", "org.example.DOMXMLSignatureFactory");
 

Реализация ДОЛЖНА поддерживать по умолчанию тип механизма: DOM.

Обратите внимание, что вызывающий метод должен использовать тот же экземпляр XMLSignatureFactory для создания XMLStructure конкретного XMLSignature, который должен быть сгенерирован. Поведение не определено, если XMLStructure от разных поставщиков или разных типов механизмов используются совместно.

Также, создаваемые этой фабрикой XMLStructure могут содержать состояние, специфичное для XMLSignature, и не предназначены для повторного использования.

Создание XMLSignatures с нуля

После создания XMLSignatureFactory, объекты могут быть созданы путём вызова соответствующего метода. Например, экземпляр Reference может быть создан, вызвав один из методов newReference.

Разархивирование XMLSignatures из XML

В качестве альтернативы, XMLSignature можно создать из существующего XML-представления, вызвав метод unmarshalXMLSignature и передав ему механизм-специфичный экземпляр XMLValidateContext, содержащий XML-содержимое:

 DOMValidateContext context = new DOMValidateContext(key, signatureElement);
 XMLSignature signature = factory.unmarshalXMLSignature(context);
 
Каждый XMLSignatureFactory должен поддерживать требуемые XMLValidateContext типы для этого типа фабрики, но может поддерживать и другие. DOM XMLSignatureFactory должен поддерживать объекты DOMValidateContext.

Подпись и сериализация XMLSignatures в XML

Каждый XMLSignature, созданный фабрикой, также может быть сериализован в XML-представление и подписан путём вызова метода sign объекта XMLSignature и передачи ему механизм-специфичного объекта XMLSignContext, содержащего ключ для подписи и параметры сериализации (см. DOMSignContext). Например:
    DOMSignContext context = new DOMSignContext(privateKey, document);
    signature.sign(context);
 
Доступ к данным в нескольких потоках

Статические методы этого класса гарантируют потокобезопасность. Несколько потоков могут одновременно вызывать статические методы, определённые в этом классе, без каких-либо негативных последствий.

Однако это не относится к методам, не являющимся статическими, определёнными этим классом. Если не указано иначе в документации конкретного поставщика, потоки, которым требуется одновременный доступ к одному экземпляру XMLSignatureFactory, должны синхронизироваться между собой и обеспечить необходимую блокировку. Несколько потоков, работающих с различными экземплярами XMLSignatureFactory, синхронизацию не требуют.

Since:
1.6

Краткое описание конструкторов

XMLSignatureFactory()
Модификатор Конструктор Описание
protected
Конструктор по умолчанию, для вызова подклассами.

Краткое описание методов

Модификатор и тип Метод Описание
static XMLSignatureFactory getInstance()
Возвращает XMLSignatureFactory, который поддерживает механизм обработки XML по умолчанию и тип представления ("DOM").
static XMLSignatureFactory getInstance(String mechanismType)
Возвращает XMLSignatureFactory, который поддерживает указанный механизм обработки XML и тип представления (например, "DOM").
static XMLSignatureFactory getInstance(String mechanismType, String provider)
Возвращает XMLSignatureFactory, который поддерживает запрашиваемый механизм обработки XML и тип представления (например, "DOM"), предоставленные указанным поставщиком.
static XMLSignatureFactory getInstance(String mechanismType, Provider provider)
Возвращает XMLSignatureFactory, который поддерживает запрашиваемый механизм обработки XML и тип представления (например, "DOM"), предоставленные указанным поставщиком.
final KeyInfoFactory getKeyInfoFactory()
Возвращает KeyInfoFactory, который создаёт KeyInfo объекты.
final String getMechanismType()
Возвращает тип механизма обработки XML и поддерживаемого представления, используемого данным XMLSignatureFactory (например, "DOM").
final Provider getProvider()
Возвращает поставщика данного XMLSignatureFactory.
abstract URIDereferencer getURIDereferencer()
Возвращает ссылку на URIDereferencer, используемый по умолчанию для разыменования URI в объектах Reference.
abstract boolean isFeatureSupported(String feature)
Указывает, поддерживается ли указанная функция.
abstract CanonicalizationMethod newCanonicalizationMethod(String algorithm, C14NMethodParameterSpec params)
Создаёт CanonicalizationMethod для указанного URI алгоритма и параметров.
abstract CanonicalizationMethod newCanonicalizationMethod(String algorithm, XMLStructure params)
Создаёт CanonicalizationMethod для указанного URI алгоритма и параметров.
abstract DigestMethod newDigestMethod(String algorithm, DigestMethodParameterSpec params)
Создаёт DigestMethod для указанного URI алгоритма и параметров.
abstract Manifest newManifest(List<? extends Reference> references)
Создаёт Manifest, содержащий указанный список Reference.
abstract Manifest newManifest(List<? extends Reference> references, String id)
Создаёт Manifest, содержащий указанный список Reference и необязательный идентификатор.
abstract Reference newReference(String uri, DigestMethod dm)
Создаёт Reference с указанным URI и методом дайджеста.
abstract Reference newReference(String uri, DigestMethod dm, List<? extends Transform> transforms, String type, String id)
Создаёт Reference с указанными параметрами.
abstract Reference newReference(String uri, DigestMethod dm, List<? extends Transform> transforms, String type, String id, byte[] digestValue)
Создаёт Reference с указанными параметрами и предварительно вычисленным значением дайджеста.
abstract Reference newReference(String uri, DigestMethod dm, List<? extends Transform> appliedTransforms, Data result, List<? extends Transform> transforms, String type, String id)
Создаёт Reference с указанными параметрами.
abstract SignatureMethod newSignatureMethod(String algorithm, SignatureMethodParameterSpec params)
Создаёт SignatureMethod для указанного URI алгоритма и параметров.
abstract SignatureProperties newSignatureProperties(List<? extends SignatureProperty> properties, String id)
Создаёт SignatureProperties, содержащий указанный список SignatureProperty и необязательный идентификатор.
abstract SignatureProperty newSignatureProperty(List<? extends XMLStructure> content, String target, String id)
Создаёт SignatureProperty, содержащий указанный список XMLStructure, целевой URI и необязательный идентификатор.
abstract SignedInfo newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List<? extends Reference> references)
Создаёт SignedInfo с указанными методами канонизации и подписи, а также списком одной или нескольких ссылок.
abstract SignedInfo newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List<? extends Reference> references, String id)
Создаёт SignedInfo с указанными параметрами.
abstract Transform newTransform(String algorithm, TransformParameterSpec params)
Создаёт Transform для указанного URI алгоритма и параметров.
abstract Transform newTransform(String algorithm, XMLStructure params)
Создаёт Transform для указанного URI алгоритма и параметров.
abstract XMLObject newXMLObject(List<? extends XMLStructure> content, String id, String mimeType, String encoding)
Создаёт XMLObject из указанных параметров.
abstract XMLSignature newXMLSignature(SignedInfo si, KeyInfo ki)
Создаёт XMLSignature и инициализирует его содержимым указанных SignedInfo и KeyInfo объектов.
abstract XMLSignature newXMLSignature(SignedInfo si, KeyInfo ki, List<? extends XMLObject> objects, String id, String signatureValueId)
Создаёт XMLSignature и инициализирует его указанными параметрами.
abstract XMLSignature unmarshalXMLSignature(XMLValidateContext context)
Распаковывает новый экземпляр XMLSignature из экземпляра XMLValidateContext, специфичного для механизма.
abstract XMLSignature unmarshalXMLSignature(XMLStructure xmlStructure)
Распаковывает новый экземпляр XMLSignature из экземпляра XMLStructure, специфичного для механизма.

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

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

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

XMLSignatureFactory

protected XMLSignatureFactory()
Конструктор по умолчанию, для вызова подклассами.

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

getInstance

public static XMLSignatureFactory getInstance(String mechanismType)
Возвращает XMLSignatureFactory, который поддерживает указанный механизм обработки XML и тип представления (например, "DOM").

Этот метод использует стандартный механизм поиска поставщика JCA для поиска и создания реализации XMLSignatureFactory нужного типа механизма. Он перебирает список зарегистрированных поставщиков безопасности Provider, начиная с наиболее предпочтительного Provider. Возвращается новый объект XMLSignatureFactory из первого поставщика Provider, который поддерживает указанный механизм.

Обратите внимание, что список зарегистрированных поставщиков можно получить с помощью метода Security.getProviders().

Описание реализации:
Реализация JDK дополнительно использует свойство jdk.security.provider.preferred Security для определения предпочтительного порядка поставщиков для указанного алгоритма. Это может отличаться от порядка поставщиков, возвращаемого методом Security.getProviders().
Параметры:
mechanismType - тип механизма обработки XML и представления. Список стандартных типов механизмов см. в разделе XMLSignatureFactory спецификации Java Security Standard Algorithm Names Specification.
Возвращаемое значение:
новый XMLSignatureFactory
Исключения:
NullPointerException - если mechanismType является null
NoSuchMechanismException - если ни один из поставщиков Provider не поддерживает реализацию XMLSignatureFactory для указанного механизма
См. также:
  • Provider

getInstance

public static XMLSignatureFactory getInstance(String mechanismType, Provider provider)
Возвращает XMLSignatureFactory, который поддерживает запрашиваемый механизм обработки XML и тип представления (например, "DOM"), как предоставлено указанным поставщиком. Обратите внимание, что указанный объект Provider не обязательно должен быть зарегистрирован в списке поставщиков.
Параметры:
mechanismType - тип механизма обработки XML и представления. Список стандартных типов механизмов см. в разделе XMLSignatureFactory спецификации Java Security Standard Algorithm Names Specification.
provider - объект Provider
Возвращаемое значение:
новый XMLSignatureFactory
Исключения:
NullPointerException - если provider или mechanismType является null
NoSuchMechanismException - если реализация XMLSignatureFactory для указанного механизма недоступна от указанного объекта Provider
См. также:
  • Provider

getInstance

public static XMLSignatureFactory getInstance(String mechanismType, String provider) throws NoSuchProviderException
Возвращает XMLSignatureFactory, который поддерживает запрашиваемый механизм обработки XML и тип представления (например, "DOM"), как предоставлено указанным поставщиком. Указанный поставщик должен быть зарегистрирован в списке поставщиков безопасности.

Список зарегистрированных поставщиков можно получить с помощью метода Security.getProviders().

Параметры:
mechanismType - тип механизма обработки XML и представления. Список стандартных типов механизмов см. в разделе XMLSignatureFactory спецификации Java Security Standard Algorithm Names Specification.
provider - имя строки поставщика
Возвращаемое значение:
новый XMLSignatureFactory
Исключения:
NoSuchProviderException - если указанный поставщик не зарегистрирован в списке поставщиков безопасности
NullPointerException - если provider или mechanismType является null
NoSuchMechanismException - если реализация XMLSignatureFactory для указанного механизма недоступна от указанного поставщика
См. также:
  • Provider

getInstance

public static XMLSignatureFactory getInstance()
Возвращает XMLSignatureFactory, который поддерживает стандартный механизм обработки XML и тип представления ("DOM").

Этот метод использует стандартный механизм поиска поставщика JCA для поиска и создания реализации XMLSignatureFactory указанного типа механизма. Он перебирает список зарегистрированных поставщиков безопасности Provider, начиная с наиболее предпочтительного Provider. Возвращается новый объект XMLSignatureFactory из первого поставщика Provider, который поддерживает механизм DOM.

Список зарегистрированных поставщиков можно получить с помощью метода Security.getProviders().

Возвращаемое значение:
новый XMLSignatureFactory
Исключения:
NoSuchMechanismException - если ни один из поставщиков Provider не поддерживает реализацию XMLSignatureFactory для механизма DOM
См. также:
  • Provider

getMechanismType

public final String getMechanismType()
Возвращает тип механизма обработки XML и представления, поддерживаемого данным XMLSignatureFactory (например, "DOM").
Возвращаемое значение:
тип механизма обработки XML, поддерживаемый данным XMLSignatureFactory

getProvider

public final Provider getProvider()
Возвращает поставщика данного XMLSignatureFactory.
Возвращаемое значение:
поставщик данного XMLSignatureFactory

newXMLSignature

public abstract XMLSignature newXMLSignature(SignedInfo si, KeyInfo ki)
Создаёт объект XMLSignature и инициализирует его содержимым указанных объектов SignedInfo и KeyInfo.
Параметры:
si - информация о подписи
ki - информация о ключе (может быть null)
Возвращаемое значение:
объект XMLSignature
Исключения:
NullPointerException - если si является null

newXMLSignature

public abstract XMLSignature newXMLSignature(SignedInfo si, KeyInfo ki, List<? extends XMLObject> objects, String id, String signatureValueId)
Создаёт объект XMLSignature и инициализирует его указанными параметрами.
Параметры:
si - информация о подписи
ki - информация о ключе (может быть null)
objects - список объектов XMLObject (может быть пустым или null)
id - идентификатор (может быть null)
signatureValueId - идентификатор SignatureValue (может быть null)
Возвращаемое значение:
объект XMLSignature
Исключения:
NullPointerException - если si является null
ClassCastException - если любой из objects не является объектом типа XMLObject

newReference

public abstract Reference newReference(String uri, DigestMethod dm)
Создаёт Reference с указанным URI и методом дайджеста.
Параметры:
uri - URI ссылки (может быть null)
dm - метод дайджеста
Возвращаемое значение:
объект Reference
Исключения:
IllegalArgumentException - если uri не соответствует RFC 2396
NullPointerException - если dm является null

newReference

public abstract Reference newReference(String uri, DigestMethod dm, List<? extends Transform> transforms, String type, String id)
Создаёт ссылку с указанными параметрами.
Параметры:
uri - URI ссылки (может быть null)
dm - метод хеширования
transforms - список преобразований Transform. Список защищён от последующих изменений. Может быть null или пустым.
type - тип ссылки, как URI (может быть null)
id - идентификатор ссылки (может быть null)
Возвращает:
ссылку Reference
Исключения:
ClassCastException - если любой из transforms не является объектом типа Transform
IllegalArgumentException - если uri не соответствует RFC 2396
NullPointerException - если dm является null

newReference

public abstract Reference newReference(String uri, DigestMethod dm, List<? extends Transform> transforms, String type, String id, byte[] digestValue)
Создаёт ссылку с указанными параметрами и предварительно вычисленным значением хеша.

Этот метод полезен, когда значение хеша ссылки Reference было предварительно вычислено. См., например, спецификацию OASIS-DSS (Услуги цифровых подписей).

Параметры:
uri - URI ссылки (может быть null)
dm - метод хеширования
transforms - список преобразований Transform. Список защищён от последующих изменений. Может быть null или пустым.
type - тип ссылки, как URI (может быть null)
id - идентификатор ссылки (может быть null)
digestValue - значение хеша. Массив дублируется для защиты от последующих изменений.
Возвращает:
ссылку Reference
Исключения:
ClassCastException - если любой из transforms не является объектом типа Transform
IllegalArgumentException - если uri не соответствует RFC 2396
NullPointerException - если dm или digestValue являются null

newReference

public abstract Reference newReference(String uri, DigestMethod dm, List<? extends Transform> appliedTransforms, Data result, List<? extends Transform> transforms, String type, String id)
Создаёт ссылку с указанными параметрами.

Этот метод полезен, когда список преобразований уже был применён к данным Reference. См., например, спецификацию OASIS-DSS (Услуги цифровых подписей) .

Когда генерируется объект XMLSignature, содержащий эту ссылку, указанные transforms (если не null) применяются к указанным result. Элемент Transforms результирующего элемента Reference устанавливается в конкатенацию appliedTransforms и transforms.

Параметры:
uri - URI ссылки (может быть null)
dm - метод хеширования
appliedTransforms - список преобразований Transform, которые уже были применены. Список защищён от последующих изменений. Список должен содержать по крайней мере одну запись.
result - результат обработки последовательности appliedTransforms
transforms - список преобразований Transform, которые должны быть применены при генерации подписи. Список защищён от последующих изменений. Может быть null или пустым.
type - тип ссылки, как URI (может быть null)
id - идентификатор ссылки (может быть null)
Возвращает:
ссылку Reference
Исключения:
ClassCastException - если любое из преобразований (в любом списке) не является объектом типа Transform
IllegalArgumentException - если uri не соответствует RFC 2396 или appliedTransforms пусто
NullPointerException - если dm, appliedTransforms или result являются null

newSignedInfo

public abstract SignedInfo newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List<? extends Reference> references)
Создаёт SignedInfo с указанными методами канонизации и подписи, а также списком одной или нескольких ссылок.
Параметры:
cm - метод канонизации
sm - метод подписи
references - список одной или нескольких ссылок Reference. Список защищён от последующих изменений.
Возвращает:
объект SignedInfo
Исключения:
ClassCastException - если любая из ссылок не является объектом типа Reference
IllegalArgumentException - если список ссылок пустой
NullPointerException - если любой из параметров имеет неправильный формат

newSignedInfo

public abstract SignedInfo newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List<? extends Reference> references, String id)
Создаёт SignedInfo с указанными параметрами.
Параметры:
cm - метод канонизации
sm - метод подписи
references - список одной или нескольких ссылок Reference. Список защищён от последующих изменений.
id - идентификатор (может быть null)
Возвращает:
объект SignedInfo
Исключения:
ClassCastException - если любая из ссылок не является объектом типа Reference
IllegalArgumentException - если список ссылок пустой
NullPointerException - если cm, sm, или references имеют неправильный формат

newXMLObject

public abstract XMLObject newXMLObject(List<? extends XMLStructure> content, String id, String mimeType, String encoding)
Создаёт XMLObject по указанным параметрам.
Параметры:
content - список объектов XMLStructure. Список защищён от последующих изменений. Может быть null или пустым.
id - идентификатор (может быть null)
mimeType - тип MIME (может быть null)
encoding - кодировка (может быть null)
Возвращает:
объект XMLObject
Исключения:
ClassCastException - если content содержит элементы, не являющиеся объектами типа XMLStructure

newManifest

public abstract Manifest newManifest(List<? extends Reference> references)
Создаёт Manifest, содержащий указанный список Reference.
Параметры:
references - список одной или нескольких Reference. Список защищён от последующих изменений.
Возвращает:
объект Manifest
Исключения:
NullPointerException - если references является null
IllegalArgumentException - если список references пустой
ClassCastException - если references содержит элементы, не являющиеся объектами типа Reference

newManifest

public abstract Manifest newManifest(List<? extends Reference> references, String id)
Создаёт Manifest, содержащий указанный список Reference и необязательный идентификатор.
Параметры:
references - список одной или нескольких Reference. Список защищён от последующих изменений.
id - идентификатор (может быть null)
Возвращает:
объект Manifest
Исключения:
NullPointerException - если references является null
IllegalArgumentException - если список references пустой
ClassCastException - если references содержит элементы, не являющиеся объектами типа Reference

newSignatureProperty

public abstract SignatureProperty newSignatureProperty(List<? extends XMLStructure> content, String target, String id)
Создаёт объект SignatureProperty, содержащий указанный список XMLStructure, целевой URI и необязательный id.
Параметры:
content - список одного или более XMLStructure. Список копируется для защиты от последующих изменений.
target - целевой URI подписи, к которой относится это свойство
id - идентификатор (может быть null)
Возвращает:
объект SignatureProperty
Исключение:
NullPointerException - если content или target имеет значение null
IllegalArgumentException - если content пустой
ClassCastException - если content содержит элементы, не являющиеся объектами XMLStructure

newSignatureProperties

public abstract SignatureProperties newSignatureProperties(List<? extends SignatureProperty> properties, String id)
Создаёт объект SignatureProperties, содержащий указанный список SignatureProperty и необязательный id.
Параметры:
properties - список одного или более SignatureProperty. Список копируется для защиты от последующих изменений.
id - идентификатор (может быть null)
Возвращает:
объект SignatureProperties
Исключение:
NullPointerException - если properties имеет значение null
IllegalArgumentException - если properties пустой
ClassCastException - если properties содержит элементы, не являющиеся объектами SignatureProperty

newDigestMethod

public abstract DigestMethod newDigestMethod(String algorithm, DigestMethodParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
Создаёт объект DigestMethod для указанного URI алгоритма и параметров.
Параметры:
algorithm - URI, определяющий алгоритм хеширования
params - параметры хеширования, специфичные для алгоритма (могут быть null)
Возвращает:
объект DigestMethod
Исключение:
InvalidAlgorithmParameterException - если указанные параметры не подходят для запрошенного алгоритма
NoSuchAlgorithmException - если реализация указанного алгоритма не найдена
NullPointerException - если algorithm имеет значение null

newSignatureMethod

public abstract SignatureMethod newSignatureMethod(String algorithm, SignatureMethodParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
Создаёт объект SignatureMethod для указанного URI алгоритма и параметров.
Параметры:
algorithm - URI, определяющий алгоритм цифровой подписи
params - параметры цифровой подписи, специфичные для алгоритма (могут быть null)
Возвращает:
объект SignatureMethod
Исключение:
InvalidAlgorithmParameterException - если указанные параметры не подходят для запрошенного алгоритма
NoSuchAlgorithmException - если реализация указанного алгоритма не найдена
NullPointerException - если algorithm имеет значение null

newTransform

public abstract Transform newTransform(String algorithm, TransformParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
Создаёт объект Transform для указанного URI алгоритма и параметров.
Параметры:
algorithm - URI, определяющий алгоритм преобразования
params - параметры преобразования, специфичные для алгоритма (могут быть null)
Возвращает:
объект Transform
Исключение:
InvalidAlgorithmParameterException - если указанные параметры не подходят для запрошенного алгоритма
NoSuchAlgorithmException - если реализация указанного алгоритма не найдена
NullPointerException - если algorithm имеет значение null

newTransform

public abstract Transform newTransform(String algorithm, XMLStructure params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
Создаёт объект Transform для указанного URI алгоритма и параметров. Параметры задаются в формате, специфичном для механизма (например, DOMStructure). Этот метод полезен, когда параметры находятся в формате XML или не существует стандартного класса для их задания.
Параметры:
algorithm - URI, определяющий алгоритм преобразования
params - структура XML, специфичная для механизма, из которой извлекаются параметры (может быть null, если не требуется или является необязательным)
Возвращает:
объект Transform
Исключение:
ClassCastException - если тип params не подходит для этого XMLSignatureFactory
InvalidAlgorithmParameterException - если указанные параметры не подходят для запрошенного алгоритма
NoSuchAlgorithmException - если реализация указанного алгоритма не найдена
NullPointerException - если algorithm имеет значение null

newCanonicalizationMethod

public abstract CanonicalizationMethod newCanonicalizationMethod(String algorithm, C14NMethodParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
Создаёт объект CanonicalizationMethod для указанного URI алгоритма и параметров.
Параметры:
algorithm - URI, определяющий алгоритм канонизации
params - параметры канонизации, специфичные для алгоритма (могут быть null)
Возвращает:
объект CanonicalizationMethod
Исключение:
InvalidAlgorithmParameterException - если указанные параметры не подходят для запрошенного алгоритма
NoSuchAlgorithmException - если реализация указанного алгоритма не найдена
NullPointerException - если algorithm имеет значение null

newCanonicalizationMethod

public abstract CanonicalizationMethod newCanonicalizationMethod(String algorithm, XMLStructure params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
Создаёт объект CanonicalizationMethod для указанного URI алгоритма и параметров. Параметры задаются в формате, специфичном для механизма (например, DOMStructure). Этот метод полезен, когда параметры находятся в формате XML или не существует стандартного класса для их задания.
Параметры:
algorithm - URI, определяющий алгоритм канонизации
params - структура XML, специфичная для механизма, из которой извлекаются параметры (может быть null, если не требуется или является необязательным)
Возвращает:
объект CanonicalizationMethod
Исключение:
ClassCastException - если тип params не подходит для этого XMLSignatureFactory
InvalidAlgorithmParameterException - если указанные параметры не подходят для запрошенного алгоритма
NoSuchAlgorithmException - если реализация указанного алгоритма не найдена
NullPointerException - если algorithm имеет значение null

getKeyInfoFactory

public final KeyInfoFactory getKeyInfoFactory()
Возвращает фабрику KeyInfoFactory, которая создаёт объекты KeyInfo. Возвращённая фабрика имеет тот же тип механизма и поставщика, что и этот XMLSignatureFactory.
Возвращает:
объект KeyInfoFactory
Исключение:
NoSuchMechanismException - если реализация KeyFactory с тем же типом механизма и поставщиком недоступна

unmarshalXMLSignature

public abstract XMLSignature unmarshalXMLSignature(XMLValidateContext context) throws MarshalException
Распаковывает новый экземпляр XMLSignature из экземпляра, специфичного для механизма XMLValidateContext.
Параметры:
context - контекст, специфичный для механизма, из которого необходимо распаковать подпись
Возвращает:
объект XMLSignature
Исключение:
NullPointerException - если context имеет значение null
ClassCastException - если тип context не подходит для этой фабрики
MarshalException - если произошла невосстановимая ошибка во время распаковки

unmarshalXMLSignature

public abstract XMLSignature unmarshalXMLSignature(XMLStructure xmlStructure) throws MarshalException
Распаковывает новый экземпляр XMLSignature из экземпляра, специфичного для механизма XMLStructure. Этот метод полезен, если вы хотите только распаковать (а не валидировать) XMLSignature.
Параметры:
xmlStructure - структура XML, специфичная для механизма, из которой необходимо распаковать подпись
Возвращает:
объект XMLSignature
Исключение:
NullPointerException - если xmlStructure имеет значение null
ClassCastException - если тип xmlStructure не подходит для этой фабрики
MarshalException - если произошла невосстановимая ошибка во время распаковки

isFeatureSupported

public abstract boolean isFeatureSupported(String feature)
Указывает, поддерживается ли указанное свойство.
Параметры:
feature - имя свойства (в виде абсолютного URI)
Возвращает:
true, если указанное свойство поддерживается, false в противном случае
Исключения:
NullPointerException - если feature является null

getURIDereferencer

public abstract URIDereferencer getURIDereferencer()
Возвращает ссылку на URIDereferencer, который используется по умолчанию для разыменования URI в объектах Reference.
Возвращает:
ссылку на дефолтный URIDereferencer (никогда null)

© 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/java.xml.crypto/javax/xml/crypto/dsig/XMLSignatureFactory.html

Spec-Zone.ru

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