Класс 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
- Внешние спецификации
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Конструктор по умолчанию, предназначенный для вызова подклассами. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static XMLSignatureFactory |
getInstance() |
Возвращает XMLSignatureFactory, поддерживающий механизм обработки XML и тип представления по умолчанию («DOM»). |
static XMLSignatureFactory |
getInstance |
Возвращает XMLSignatureFactory, поддерживающий указанный механизм обработки XML и тип представления (например, «DOM»). |
static XMLSignatureFactory |
getInstance |
Возвращает XMLSignatureFactory, поддерживающий запрошенный механизм обработки XML и тип представления (например, «DOM»), предоставляемый указанным поставщиком. |
static XMLSignatureFactory |
getInstance |
Возвращает 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 |
Указывает, поддерживается ли заданная функция. |
abstract CanonicalizationMethod |
newCanonicalizationMethod |
Создаёт CanonicalizationMethod для указанного URI алгоритма и параметров. |
abstract CanonicalizationMethod |
newCanonicalizationMethod |
Создаёт CanonicalizationMethod для указанного URI алгоритма и параметров. |
abstract DigestMethod |
newDigestMethod |
Создаёт DigestMethod для указанного URI алгоритма и параметров. |
abstract Manifest |
newManifest |
Создаёт Manifest, содержащий указанный список объектов Reference. |
abstract Manifest |
newManifest |
Создаёт Manifest, содержащий указанный список объектов Reference и необязательный идентификатор. |
abstract Reference |
newReference |
Создаёт Reference с указанными URI и методом дайджеста. |
abstract Reference |
newReference |
Создаёт Reference с указанными параметрами. |
abstract Reference |
newReference |
Создаёт Reference с указанными параметрами и предварительно вычисленным значением дайджеста. |
abstract Reference |
newReference |
Создаёт Reference с указанными параметрами. |
abstract SignatureMethod |
newSignatureMethod |
Создаёт SignatureMethod для указанного URI алгоритма и параметров. |
abstract SignatureProperties |
newSignatureProperties |
Создаёт SignatureProperties, содержащий указанный список объектов SignatureProperty и необязательный идентификатор. |
abstract SignatureProperty |
newSignatureProperty |
Создаёт SignatureProperty, содержащий указанный список объектов XMLStructure, целевой URI и необязательный идентификатор. |
abstract SignedInfo |
newSignedInfo |
Создаёт SignedInfo с указанными методами каноникализации и подписи, а также списком из одной или нескольких ссылок. |
abstract SignedInfo |
newSignedInfo |
Создаёт SignedInfo с указанными параметрами. |
abstract Transform |
newTransform |
Создаёт Transform для указанного URI алгоритма и параметров. |
abstract Transform |
newTransform |
Создаёт Transform для указанного URI алгоритма и параметров. |
abstract XMLObject |
newXMLObject |
Создаёт XMLObject из указанных параметров. |
abstract XMLSignature |
newXMLSignature |
Создаёт XMLSignature и инициализирует его содержимым указанных объектов SignedInfo и KeyInfo. |
abstract XMLSignature |
newXMLSignature |
Создаёт XMLSignature и инициализирует его указанными параметрами. |
abstract XMLSignature |
unmarshalXMLSignature |
Десериализует новый экземпляр XMLSignature из экземпляра XMLValidateContext, специфичного для механизма. |
abstract XMLSignature |
unmarshalXMLSignature |
Десериализует новый экземпляр XMLSignature из экземпляра XMLStructure, специфичного для механизма. |
Подробное описание конструкторов
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.preferredSecurity, чтобы определить порядок предпочтения провайдеров для указанного алгоритма. Этот порядок может отличаться от порядка провайдеров, возвращаемых методомSecurity.getProviders(). - Параметры:
-
mechanismType— тип механизма обработки XML и представления. Список стандартных типов механизмов см. в разделеXMLSignatureFactoryспецификации стандартных имен алгоритмов безопасности Java. - Возвращает:
- новый
XMLSignatureFactory - Исключения:
-
NullPointerException— еслиmechanismTypeимеет значениеnull -
NoSuchMechanismException— если ни одинProviderне поддерживает реализациюXMLSignatureFactoryдля указанного механизма - Внешние спецификации
- См. также:
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 - Внешние спецификации
- См. также:
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для указанного механизма недоступна у указанного провайдера - Внешние спецификации
- См. также:
getInstance
public static XMLSignatureFactory getInstance()
XMLSignatureFactory, поддерживающий механизм и тип представления обработки XML по умолчанию («DOM»). Этот метод использует стандартный механизм поиска провайдеров JCA для обнаружения и создания экземпляра реализации XMLSignatureFactory типа механизма по умолчанию. Он перебирает список зарегистрированных Provider безопасности, начиная с наиболее предпочтительного Provider. Возвращается новый объект XMLSignatureFactory от первого Provider, поддерживающего механизм DOM.
Обратите внимание, что список зарегистрированных провайдеров можно получить с помощью метода Security.getProviders().
- Возвращает:
- новый
XMLSignatureFactory - Исключения:
-
NoSuchMechanismException— если ни одинProviderне поддерживает реализациюXMLSignatureFactoryдля механизма DOM - См. также:
getMechanismType
public final String getMechanismType()
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)
© 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