Класс XMLSignatureFactory
public abstract class XMLSignatureFactory extends Object
XMLSignature с нуля или для разбора объекта XMLSignature из соответствующего XML-представления. Тип XMLSignatureFactory
Каждый экземпляр XMLSignatureFactory поддерживает определенный тип XML-механизма. Для создания XMLSignatureFactory, вызовите один из статических методов getInstance, передав желаемый тип XML-механизма, например:
XMLSignatureFactory factory = XMLSignatureFactory.getInstance("DOM");
Создаваемые этой фабрикой объекты будут основаны на DOM и соответствовать требованиям межсетевой совместимости DOM, определённым в Требованиях к механизмам DOM. Список стандартных типов механизмов см. в разделе XMLSignatureFactory спецификации Стандартных имён алгоритмов Java Security.
XMLSignatureFactory реализуются и загружаются с помощью механизма Provider. Например, поставщик сервиса, поддерживающий DOM-механизм, будет указан в подклассе Provider следующим образом:
put("XMLSignatureFactory.DOM", "org.example.DOMXMLSignatureFactory");
Реализация ДОЛЖНА минимально поддерживать тип механизма по умолчанию: DOM.
Обратите внимание, что вызывающий код должен использовать один и тот же экземпляр XMLSignatureFactory для создания XMLStructure конкретного XMLSignature, который должен быть сгенерирован. Поведение не определено, если XMLStructure из разных поставщиков или различных типов механизмов используются вместе.
Кроме того, XMLStructure созданные этой фабрикой, могут содержать состояние, специфичное для XMLSignature, и не предназначены для повторного использования.
Создание XMLSignatures с нуля
После создания XMLSignatureFactory, объекты могут быть созданы путём вызова соответствующего метода. Например, экземпляр Reference может быть создан вызовом одного из методов newReference.
Разбор XMLSignatures из XML
В качестве альтернативы, XMLSignature может быть создан из существующего XML-представления путём вызова метода unmarshalXMLSignature и передачи ему экземпляра XMLValidateContext специфичного для механизма, содержащего XML-содержимое:
DOMValidateContext context = new DOMValidateContext(key, signatureElement); XMLSignature signature = factory.unmarshalXMLSignature(context);Каждый
XMLSignatureFactory должен поддерживать необходимые типы XMLValidateContext для данного типа фабрики, но может поддерживать и другие. DOM XMLSignatureFactory должен поддерживать объекты DOMValidateContext. Подписание и преобразование XMLSignatures в XML
КаждыйXMLSignature созданный фабрикой, также может быть преобразован в XML-представление и подписан путём вызова метода sign объекта XMLSignature и передачи ему объекта XMLSignContext специфичного для механизма, содержащего ключ для подписи и параметры преобразования (см. DOMSignContext). Например:
DOMSignContext context = new DOMSignContext(privateKey, document);
signature.sign(context);
Доступ из нескольких потоков Статические методы этого класса гарантированно являются потокобезопасными. Несколько потоков могут одновременно вызывать статические методы, определённые в этом классе, без каких-либо негативных последствий.
Однако это не относится к нестатическим методам, определённым этим классом. Если не указано иное определённым поставщиком, потоки, которым требуется одновременный доступ к одному экземпляру XMLSignatureFactory должны синхронизироваться между собой и обеспечить необходимую блокировку. Несколько потоков, каждый из которых манипулирует разными экземплярами XMLSignatureFactory не нуждаются в синхронизации.
- Since:
- 1.6
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
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 дополнительно использует свойство
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
Ссылка
public abstract Reference newReference(String uri, DigestMethod dm, List<? extends Transform> transforms, String type, String id)
- Параметры:
-
uri- URI ссылки (может бытьnull) -
dm- метод хеширования -
transforms- списокTransforms. Список защищён от последующих изменений. Может бытьnullили пустым. -
type- тип ссылки в формате URI (может бытьnull) -
id- идентификатор ссылки (может бытьnull) - Возвращает:
- ссылку
Reference - Исключение:
-
ClassCastException- если какой-либо изtransformsне является объектом типаTransform -
IllegalArgumentException- еслиuriне соответствует RFC 2396 -
NullPointerException- еслиdmnull
Ссылка
public abstract Reference newReference(String uri, DigestMethod dm, List<? extends Transform> transforms, String type, String id, byte[] digestValue)
Этот метод полезен, когда значение хеша ссылки было вычислено ранее. Например, см. спецификацию OASIS-DSS (Услуги цифровых подписей).
- Параметры:
-
uri- URI ссылки (может бытьnull) -
dm- метод хеширования -
transforms- списокTransforms. Список защищён от последующих изменений. Может бытьnullили пустым. -
type- тип ссылки в формате URI (может бытьnull) -
id- идентификатор ссылки (может бытьnull) -
digestValue- значение хеша. Массив клонируется для защиты от последующих изменений. - Возвращает:
- ссылку
Reference - Исключение:
-
ClassCastException- если какой-либо изtransformsне является объектом типаTransform -
IllegalArgumentException- еслиuriне соответствует RFC 2396 -
NullPointerException- еслиdmилиdigestValuenull
Ссылка
public abstract Reference newReference(String uri, DigestMethod dm, List<? extends Transform> appliedTransforms, Data result, List<? extends Transform> transforms, String type, String id)
Этот метод полезен, когда список преобразований уже был применён к данным. См., например, спецификацию OASIS-DSS (Услуги цифровых подписей).
При генерации XML-объекта, содержащего эту ссылку, указанные transforms (если не null) применяются к указанным result. Элемент Transforms результирующего элемента Reference устанавливается в виде конкатенации appliedTransforms и transforms.
- Параметры:
-
uri- URI ссылки (может бытьnull) -
dm- метод хеширования -
appliedTransforms- списокTransforms, которые уже были применены. Список защищён от последующих изменений. Список должен содержать по крайней мере один элемент. -
result- результат обработки последовательностиappliedTransforms -
transforms- списокTransforms, которые должны быть применены при генерации подписи. Список защищён от последующих изменений. Может бытьnullили пустым. -
type- тип ссылки в формате URI (может бытьnull) -
id- идентификатор ссылки (может бытьnull) - Возвращает:
- ссылку
Reference - Исключение:
-
ClassCastException- если какое-либо из преобразований (в любом списке) не является объектом типаTransform -
IllegalArgumentException- еслиuriне соответствует RFC 2396 илиappliedTransformsпуст -
NullPointerException- еслиdm,appliedTransformsилиresultnull
newSignedInfo
public abstract SignedInfo newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List<? extends Reference> references)
- Параметры:
-
cm- метод канонизации -
sm- метод подписи -
references- список одной или несколькихReferences. Список защищён от последующих изменений. - Возвращает:
- объект SignedInfo
SignedInfo - Исключение:
-
ClassCastException- если какая-либо из ссылок не является объектом типаReference -
IllegalArgumentException- если список ссылок пуст -
NullPointerException- если какой-либо из параметров имеет некорректное значение
newSignedInfo
public abstract SignedInfo newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List<? extends Reference> references, String id)
- Параметры:
-
cm- метод канонизации -
sm- метод подписи -
references- список одной или несколькихReferences. Список защищён от последующих изменений. -
id- идентификатор (может бытьnull) - Возвращает:
- объект SignedInfo
SignedInfo - Исключение:
-
ClassCastException- если какая-либо из ссылок не является объектом типаReference -
IllegalArgumentException- если список ссылок пуст -
NullPointerException- еслиcm,sm, илиreferencesимеют некорректное значение
newXMLObject
public abstract XMLObject newXMLObject(List<? extends XMLStructure> content, String id, String mimeType, String encoding)
- Параметры:
-
content- списокXMLStructures. Список защищён от последующих изменений. Может бытьnullили пустым. -
id- идентификатор (может бытьnull) -
mimeType- тип MIME (может бытьnull) -
encoding- кодировка (может бытьnull) - Возвращает:
- XML-объект
XMLObject - Исключение:
-
ClassCastException- еслиcontentсодержит элементы, не являющиеся объектами типаXMLStructure
newManifest
public abstract Manifest newManifest(List<? extends Reference> references)
References.- Параметры:
-
references- список одной или несколькихReferences. Список защищён от последующих изменений. - Возвращает:
- Manifest
Manifest - Исключение:
-
NullPointerException- еслиreferencesnull -
IllegalArgumentException- если список пуст -
ClassCastException- еслиreferencesсодержит элементы, не являющиеся объектами типаReference
newManifest
public abstract Manifest newManifest(List<? extends Reference> references, String id)
References и необязательный идентификатор.- Параметры:
-
references- список одной или несколькихReferences. Список защищён от последующих изменений. -
id- идентификатор (может бытьnull) - Возвращает:
- Manifest
Manifest - Исключение:
-
NullPointerException- еслиreferencesnull -
IllegalArgumentException- если список пуст -
ClassCastException- еслиreferencesсодержит элементы, не являющиеся объектами типаReference
newSignatureProperty
public abstract SignatureProperty newSignatureProperty(List<? extends XMLStructure> content, String target, String id)
SignatureProperty, содержащий указанный список XMLStructure, целевой URI и необязательный идентификатор.- Parameters:
-
content- список из одного или болееXMLStructure. Список защищён от последующих изменений путём создания его копии. -
target- целевой URI подписи, к которой относится данное свойство -
id- идентификатор (может бытьnull) - Returns:
- объект
SignatureProperty - Throws:
-
NullPointerException- еслиcontentилиtargetимеет значениеnull -
IllegalArgumentException- еслиcontentпустой -
ClassCastException- еслиcontentсодержит элементы, не являющиеся объектамиXMLStructure
newSignatureProperties
public abstract SignatureProperties newSignatureProperties(List<? extends SignatureProperty> properties, String id)
SignatureProperties, содержащий указанный список SignatureProperty и необязательный идентификатор.- Parameters:
-
properties- список из одного или болееSignatureProperty. Список защищён от последующих изменений путём создания его копии. -
id- идентификатор (может бытьnull) - Returns:
- объект
SignatureProperties - Throws:
-
NullPointerException- еслиpropertiesимеет значениеnull -
IllegalArgumentException- еслиpropertiesпустой -
ClassCastException- еслиpropertiesсодержит элементы, не являющиеся объектамиSignatureProperty
newDigestMethod
public abstract DigestMethod newDigestMethod(String algorithm, DigestMethodParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
DigestMethod для указанного алгоритма URI и параметров.- Parameters:
-
algorithm- URI, идентифицирующий алгоритм дайджеста -
params- параметры дайджеста, специфичные для алгоритма (могут бытьnull) - Returns:
- объект
DigestMethod - Throws:
-
InvalidAlgorithmParameterException- если указанные параметры не подходят для запрошенного алгоритма -
NoSuchAlgorithmException- если реализация указанного алгоритма не найдена -
NullPointerException- еслиalgorithmимеет значениеnull
newSignatureMethod
public abstract SignatureMethod newSignatureMethod(String algorithm, SignatureMethodParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
SignatureMethod для указанного алгоритма URI и параметров.- Parameters:
-
algorithm- URI, идентифицирующий алгоритм подписи -
params- параметры подписи, специфичные для алгоритма (могут бытьnull) - Returns:
- объект
SignatureMethod - Throws:
-
InvalidAlgorithmParameterException- если указанные параметры не подходят для запрошенного алгоритма -
NoSuchAlgorithmException- если реализация указанного алгоритма не найдена -
NullPointerException- еслиalgorithmимеет значениеnull
newTransform
public abstract Transform newTransform(String algorithm, TransformParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
Transform для указанного алгоритма URI и параметров.- Parameters:
-
algorithm- URI, идентифицирующий алгоритм преобразования -
params- параметры преобразования, специфичные для алгоритма (могут бытьnull) - Returns:
- объект
Transform - Throws:
-
InvalidAlgorithmParameterException- если указанные параметры не подходят для запрошенного алгоритма -
NoSuchAlgorithmException- если реализация указанного алгоритма не найдена -
NullPointerException- еслиalgorithmимеет значениеnull
newTransform
public abstract Transform newTransform(String algorithm, XMLStructure params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
Transform для указанного алгоритма URI и параметров. Параметры задаются в виде XMLStructure (например, DOMStructure). Этот метод полезен, когда параметры представлены в формате XML или нет стандартного класса для их задания.- Parameters:
-
algorithm- URI, идентифицирующий алгоритм преобразования -
params- механизм-специфичная структура XML, из которой будут извлечены параметры (может бытьnull, если не требуется или необязательна) - Returns:
- объект
Transform - Throws:
-
ClassCastException- если типparamsне соответствует данномуXMLSignatureFactory -
InvalidAlgorithmParameterException- если указанные параметры не подходят для запрошенного алгоритма -
NoSuchAlgorithmException- если реализация указанного алгоритма не найдена -
NullPointerException- еслиalgorithmимеет значениеnull
newCanonicalizationMethod
public abstract CanonicalizationMethod newCanonicalizationMethod(String algorithm, C14NMethodParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
CanonicalizationMethod для указанного алгоритма URI и параметров.- Parameters:
-
algorithm- URI, идентифицирующий алгоритм канонизации -
params- параметры канонизации, специфичные для алгоритма (могут бытьnull) - Returns:
- объект
CanonicalizationMethod - Throws:
-
InvalidAlgorithmParameterException- если указанные параметры не подходят для запрошенного алгоритма -
NoSuchAlgorithmException- если реализация указанного алгоритма не найдена -
NullPointerException- еслиalgorithmимеет значениеnull
newCanonicalizationMethod
public abstract CanonicalizationMethod newCanonicalizationMethod(String algorithm, XMLStructure params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
CanonicalizationMethod для указанного алгоритма URI и параметров. Параметры задаются в виде XMLStructure (например, DOMStructure). Этот метод полезен, когда параметры представлены в формате XML или нет стандартного класса для их задания.- Parameters:
-
algorithm- URI, идентифицирующий алгоритм канонизации -
params- механизм-специфичная структура XML, из которой будут извлечены параметры (может бытьnull, если не требуется или необязательна) - Returns:
- объект
CanonicalizationMethod - Throws:
-
ClassCastException- если типparamsне соответствует данномуXMLSignatureFactory -
InvalidAlgorithmParameterException- если указанные параметры не подходят для запрошенного алгоритма -
NoSuchAlgorithmException- если реализация указанного алгоритма не найдена -
NullPointerException- еслиalgorithmимеет значениеnull
getKeyInfoFactory
public final KeyInfoFactory getKeyInfoFactory()
KeyInfoFactory, которая создаёт объекты KeyInfo. Возвращаемая фабрика имеет тот же тип механизма и поставщик, что и этот объект KeyInfoFactory. - Returns:
- фабрика
KeyInfoFactory - Throws:
-
NoSuchMechanismException- если реализация фабрикиKeyFactoryс тем же типом механизма и поставщиком недоступна
unmarshalXMLSignature
public abstract XMLSignature unmarshalXMLSignature(XMLValidateContext context) throws MarshalException
XMLSignature из экземпляра XMLValidateContext. - Parameters:
-
context- контекст, из которого будет распакована подпись - Returns:
- объект
XMLSignature - Throws:
-
NullPointerException- еслиcontextимеет значениеnull -
ClassCastException- если типcontextне соответствует данной фабрике -
MarshalException- если при распаковке произошла невосстановимая ошибка
unmarshalXMLSignature
public abstract XMLSignature unmarshalXMLSignature(XMLStructure xmlStructure) throws MarshalException
XMLSignature из экземпляра XMLStructure . Этот метод полезен, если требуется только распаковка (а не проверка) XMLSignature. - Parameters:
-
xmlStructure- механизм-специфичная структура XML, из которой будет распакован объект - Returns:
- объект
XMLSignature - Throws:
-
NullPointerException- еслиxmlStructureимеет значениеnull -
ClassCastException- если типxmlStructureне соответствует данной фабрике -
MarshalException- если при распаковке произошла невосстановимая ошибка
isFeatureSupported
public abstract boolean isFeatureSupported(String feature)
- Parameters:
-
feature- имя функции (в виде абсолютного URI) - Returns:
-
trueесли указанная функция поддерживается,falseв противном случае - Throws:
-
NullPointerException- еслиfeatureимеет значениеnull
getURIDereferencer
public abstract URIDereferencer getURIDereferencer()
URIDereferencer, используемый по умолчанию для разыменования URI в объектах Reference.- Возвращает:
- ссылку на
URIDereferencer(никогда неnull)
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.xml.crypto/javax/xml/crypto/dsig/XMLSignatureFactory.html