Spec-Zone.ru › OpenJDK 27

Класс 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
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект некоторому другому объекту.
protected void finalize()
Устарело, подлежит удалению: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс среды выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством вызова notify или interrupt.
final void wait(long timeoutMillis)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

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

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 для указанного механизма
Внешние спецификации
  • Стандартные имена алгоритмов безопасности 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, содержащего эту ссылку, указанные 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 — если 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, 2026, 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.

Spec-Zone.ru

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