Spec-Zone.ru › OpenJDK 17

Класс 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 для получения списка стандартных типов механизмов.
Возвращает:
новый 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 для получения списка стандартных типов механизмов.
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 для получения списка стандартных типов механизмов.
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

Ссылка

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

Ссылка

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

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

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

Ссылка

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

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

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

Параметры:
uri - URI ссылки (может быть null)
dm - метод хеширования
appliedTransforms - список Transforms, которые уже были применены. Список защищён от последующих изменений. Список должен содержать по крайней мере один элемент.
result - результат обработки последовательности appliedTransforms
transforms - список Transforms, которые должны быть применены при генерации подписи. Список защищён от последующих изменений. Может быть 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 - список одной или нескольких References. Список защищён от последующих изменений.
Возвращает:
объект SignedInfo SignedInfo
Исключение:
ClassCastException - если какая-либо из ссылок не является объектом типа Reference
IllegalArgumentException - если список ссылок пуст
NullPointerException - если какой-либо из параметров имеет некорректное значение

newSignedInfo

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

newXMLObject

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

newManifest

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

newManifest

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

newSignatureProperty

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

newSignatureProperties

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

newDigestMethod

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

newSignatureMethod

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

newTransform

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

newTransform

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

newCanonicalizationMethod

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

newCanonicalizationMethod

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

getKeyInfoFactory

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

unmarshalXMLSignature

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

unmarshalXMLSignature

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

isFeatureSupported

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

getURIDereferencer

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

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

Spec-Zone.ru

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