Spec-Zone.ru › OpenJDK 25

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

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

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

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

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

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

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

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

Десериализация XMLSignature из XML

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

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

Подписание и сериализация XMLSignature в XML

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

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

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

Начиная с:
1.6
Внешние спецификации
  • Стандартные имена алгоритмов безопасности Java

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

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, специфичного для механизма.

Методы, объявленные в классе 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 Reference Implementation дополнительно использует свойство jdk.security.provider.preferred Security, чтобы определить порядок предпочтения провайдеров для указанного алгоритма. Этот порядок может отличаться от порядка провайдеров, возвращаемых методом Security.getProviders().
Параметры:
mechanismType — тип механизма обработки XML и представления. Список стандартных типов механизмов см. в разделе XMLSignatureFactory спецификации стандартных имен алгоритмов безопасности Java.
Возвращает:
новый XMLSignatureFactory
Исключения:
NullPointerException — если mechanismType имеет значение null
NoSuchMechanismException — если ни один Provider не поддерживает реализацию XMLSignatureFactory для указанного механизма
Внешние спецификации
  • Стандартные имена алгоритмов безопасности Java
См. также:
  • 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
Внешние спецификации
  • Стандартные имена алгоритмов безопасности Java
См. также:
  • 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 для указанного механизма недоступна у указанного провайдера
Внешние спецификации
  • Стандартные имена алгоритмов безопасности Java
См. также:
  • 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)
Создает Reference с указанными параметрами.
Параметры:
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 с указанными параметрами и предварительно вычисленным значением хеша.

Этот метод полезен, если значение хеша объекта 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 с указанными параметрами.

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

При формировании XMLSignature, содержащего эту ссылку, к указанному result применяются указанные transforms (если они не равны null). Элемент 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 — если references пуст
NullPointerException — если какой-либо параметр имеет значение null

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 — если references пуст
NullPointerException — если cm, sm или references имеют значение null

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 и необязательный идентификатор.
Параметры:
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 и необязательный идентификатор.
Параметры:
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 алгоритма и параметров. Параметры задаются в виде зависящей от механизма структуры XMLStructure (например, 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 алгоритма и параметров. Параметры задаются в виде зависящего от механизма XMLStructure (например, DOMStructure). Этот метод полезен, если параметры представлены в формате XML или для их задания не существует стандартного класса.
Параметры:
algorithm - URI, идентифицирующий алгоритм канонизации
params - зависящая от механизма структура XML, из которой следует демаршалировать параметры (может быть null, если параметры не требуются или являются необязательными)
Возвращает:
CanonicalizationMethod
Исключения:
ClassCastException - если тип params не подходит для этой XMLSignatureFactory
InvalidAlgorithmParameterException - если указанные параметры не подходят для запрошенного алгоритма
NoSuchAlgorithmException - если не удается найти реализацию указанного алгоритма
NullPointerException - если algorithm имеет значение null

getKeyInfoFactory

public final KeyInfoFactory getKeyInfoFactory()
Возвращает KeyInfoFactory, создающую объекты KeyInfo. Возвращенная KeyInfoFactory имеет тот же тип механизма и поставщика, что и эта 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)

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.xml.crypto/javax/xml/crypto/dsig/XMLSignatureFactory.html

Spec-Zone.ru

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