Класс 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 обзора API. Список стандартных типов механизмов см. в разделе Поставщики сервисов обзора API.
Реализации 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 | XMLSignatureFactory() | Конструктор по умолчанию, для вызова подклассами. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
static XMLSignatureFactory | getInstance() | Возвращает |
static XMLSignatureFactory | getInstance(String mechanismType) | Возвращает |
static XMLSignatureFactory | getInstance(String mechanismType,
String provider) | Возвращает |
static XMLSignatureFactory | getInstance(String mechanismType,
Provider provider) | Возвращает |
KeyInfoFactory | getKeyInfoFactory() | Возвращает |
String | getMechanismType() | Возвращает тип механизма обработки XML и поддерживаемого представления этим |
Provider | getProvider() | Возвращает поставщика этого |
abstract URIDereferencer | getURIDereferencer() | Возвращает ссылку на |
abstract boolean | isFeatureSupported(String feature) | Указывает, поддерживается ли указанная функция. |
abstract CanonicalizationMethod | newCanonicalizationMethod(String algorithm,
C14NMethodParameterSpec params) | Создаёт |
abstract CanonicalizationMethod | newCanonicalizationMethod(String algorithm,
XMLStructure params) | Создаёт |
abstract DigestMethod | newDigestMethod(String algorithm,
DigestMethodParameterSpec params) | Создаёт |
abstract Manifest | newManifest(List<? extends Reference> references) | Создаёт |
abstract Manifest | newManifest(List<? extends Reference> references,
String id) | Создаёт |
abstract Reference | newReference(String uri,
DigestMethod dm) | Создаёт |
abstract Reference | newReference(String uri,
DigestMethod dm,
List<? extends Transform> transforms,
String type,
String id) | Создаёт |
abstract Reference | newReference(String uri,
DigestMethod dm,
List<? extends Transform> transforms,
String type,
String id,
byte[] digestValue) | Создаёт |
abstract Reference | newReference(String uri,
DigestMethod dm,
List<? extends Transform> appliedTransforms,
Data result,
List<? extends Transform> transforms,
String type,
String id) | Создаёт |
abstract SignatureMethod | newSignatureMethod(String algorithm,
SignatureMethodParameterSpec params) | Создаёт |
abstract SignatureProperties | newSignatureProperties(List<? extends SignatureProperty> properties,
String id) | Создаёт |
abstract SignatureProperty | newSignatureProperty(List<? extends XMLStructure> content,
String target,
String id) | Создаёт |
abstract SignedInfo | newSignedInfo(CanonicalizationMethod cm,
SignatureMethod sm,
List<? extends Reference> references) | Создаёт |
abstract SignedInfo | newSignedInfo(CanonicalizationMethod cm,
SignatureMethod sm,
List<? extends Reference> references,
String id) | Создаёт |
abstract Transform | newTransform(String algorithm,
TransformParameterSpec params) | Создаёт |
abstract Transform | newTransform(String algorithm,
XMLStructure params) | Создаёт |
abstract XMLObject | newXMLObject(List<? extends XMLStructure> content,
String id,
String mimeType,
String encoding) | Создаёт |
abstract XMLSignature | newXMLSignature(SignedInfo si,
KeyInfo ki) | Создаёт |
abstract XMLSignature | newXMLSignature(SignedInfo si,
KeyInfo ki,
List<? extends XMLObject> objects,
String id,
String signatureValueId) | Создаёт |
abstract XMLSignature | unmarshalXMLSignature(XMLValidateContext context) | Десериализует новый экземпляр |
abstract XMLSignature | unmarshalXMLSignature(XMLStructure xmlStructure) | Десериализует новый экземпляр |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Конструкторы
XMLSignatureFactory
protected XMLSignatureFactory()
Конструктор по умолчанию, для вызова подклассами.
Методы
getInstance
public static XMLSignatureFactory getInstance(String mechanismType)
Возвращает XMLSignatureFactory, который поддерживает указанный механизм обработки XML и тип представления (например, "DOM").
Этот метод использует стандартный механизм поиска поставщиков JCA для поиска и создания реализации XMLSignatureFactory указанного типа механизма. Он проходит по списку зарегистрированных поставщиков безопасности Provider, начиная с наиболее предпочтительного Provider. Возвращается новый объект XMLSignatureFactory из первого Provider , который поддерживает указанный механизм.
Обратите внимание, что список зарегистрированных поставщиков можно получить с помощью метода Security.getProviders().
- Примечание реализации:
- Реализация JDK дополнительно использует свойство
jdk.security.provider.preferredSecurityдля определения предпочтительного порядка поставщиков для указанного алгоритма. Это может отличаться от порядка поставщиков, возвращаемого методомSecurity.getProviders(). - Параметры:
-
mechanismType- тип механизма обработки XML и представления. Список стандартных типов механизмов см. в разделе «Поставщики услуг» обзора API по адресуmechanismType. - Возвращает:
- новый
XMLSignatureFactory - Исключения:
-
NullPointerException- еслиmechanismTypenull -
NoSuchMechanismException- если ни один поставщик не поддерживает реализациюProviderдля указанного механизма - См. также:
Provider
getInstance
public static XMLSignatureFactory getInstance(String mechanismType,
Provider provider) Возвращает XMLSignatureFactory , который поддерживает требуемый механизм обработки XML и тип представления (например, "DOM"), как предоставленный указанным поставщиком. Обратите внимание, что указанный объект Provider не обязательно должен быть зарегистрирован в списке поставщиков.
- Параметры:
-
mechanismType- тип механизма обработки XML и представления. Список стандартных типов механизмов см. в разделе «Поставщики услуг» обзора API по адресуmechanismType. -
provider- объектProvider - Возвращает:
- новый
XMLSignatureFactory - Исключения:
-
NullPointerException- еслиproviderилиmechanismTypenull -
NoSuchMechanismException- если реализацияXMLSignatureFactoryдля указанного механизма недоступна от указанного объектаProvider - См. также:
Provider
getInstance
public static XMLSignatureFactory getInstance(String mechanismType,
String provider)
throws NoSuchProviderException Возвращает XMLSignatureFactory , который поддерживает требуемый механизм обработки XML и тип представления (например, "DOM"), как предоставленный указанным поставщиком. Указанный поставщик должен быть зарегистрирован в списке поставщиков безопасности.
Обратите внимание, что список зарегистрированных поставщиков можно получить с помощью метода Security.getProviders().
- Параметры:
-
mechanismType- тип механизма обработки XML и представления. Список стандартных типов механизмов см. в разделе «Поставщики услуг» обзора API по адресуmechanismType. -
provider- имя строки поставщика - Возвращает:
- новый
XMLSignatureFactory - Исключения:
-
NoSuchProviderException- если указанный поставщик не зарегистрирован в списке поставщиков безопасности -
NullPointerException- еслиproviderилиmechanismTypenull -
NoSuchMechanismException- если реализацияXMLSignatureFactoryдля указанного механизма недоступна от указанного поставщика - См. также:
Provider
getInstance
public static XMLSignatureFactory getInstance()
Возвращает XMLSignatureFactory, который поддерживает стандартный механизм обработки XML и тип представления ("DOM").
Этот метод использует стандартный механизм поиска поставщиков JCA для поиска и создания реализации XMLSignatureFactory стандартного типа механизма. Он проходит по списку зарегистрированных поставщиков безопасности Provider, начиная с наиболее предпочтительного Provider. Возвращается новый объект XMLSignatureFactory из первого Provider , который поддерживает механизм DOM.
Обратите внимание, что список зарегистрированных поставщиков можно получить с помощью метода Security.getProviders().
- Возвращает:
- новый
XMLSignatureFactory - Исключения:
-
NoSuchMechanismException- если ни один поставщик не поддерживает реализациюProviderдля механизма 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- еслиsinull
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- еслиsinull -
ClassCastException- если какой-либо изobjectsне является объектом типаXMLObject
newReference
public abstract Reference newReference(String uri,
DigestMethod dm) Создает Reference с указанным URI и методом хэширования.
- Параметры:
-
uri- URI ссылки (может бытьnull) -
dm- метод хэширования - Возвращает:
Reference- Исключения:
-
IllegalArgumentException- еслиuriне соответствует RFC 2396 -
NullPointerException- еслиdmnull
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- еслиdmnull
newReference
public abstract Reference newReference(String uri,
DigestMethod dm,
List<? extends Transform> transforms,
String type,
String id,
byte[] digestValue) Создает Reference с указанными параметрами и предварительно вычисленным значением хэша.
Этот метод полезен, когда значение хэша Reference было предварительно вычислено. См., например, спецификацию OASIS-DSS (Услуги цифровых подписей) по адресу Reference.
- Параметры:
-
uri— ссылка URI (может бытьnull). -
dm— метод дайджеста. -
transforms— списокTransform. Список копируется для защиты от последующих изменений. Может бытьnullили пустым. -
type— тип ссылки как URI (может бытьnull). -
id— идентификатор ссылки (может бытьnull). -
digestValue— значение дайджеста. Массив клонируется для защиты от последующих изменений. - Возвращает:
Reference- Выбрасывает:
-
ClassCastException— если какой-либо изtransformsне имеет типTransform -
IllegalArgumentException— еслиuriне соответствует RFC 2396. -
NullPointerException— еслиdmилиdigestValuenull
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 (Услуги цифровых подписей).
При генерации XML-объекта, содержащего эту ссылку, указанные 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илиresultnull
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илиreferencesnull
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— еслиreferencesnull -
IllegalArgumentException— еслиreferencesпусто. -
ClassCastException— еслиreferencesсодержит записи, не имеющие типReference
newManifest
public abstract Manifest newManifest(List<? extends Reference> references,
String id) Создаёт Manifest, содержащий указанный список Reference и необязательный идентификатор.
- Параметры:
-
references— список одного или болееReference. Список копируется для защиты от последующих изменений. -
id— идентификатор (может бытьnull). - Возвращает:
Manifest- Выбрасывает:
-
NullPointerException— еслиreferencesnull -
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илиtargetnull -
IllegalArgumentException— еслиcontentпусто. -
ClassCastException— еслиcontentсодержит записи, не имеющие типXMLStructure
newSignatureProperties
public abstract SignatureProperties newSignatureProperties(List<? extends SignatureProperty> properties,
String id) Создаёт SignatureProperties, содержащий указанный список SignatureProperty и необязательный идентификатор.
- Параметры:
-
properties— список одного или болееSignatureProperty. Список копируется для защиты от последующих изменений. -
id— идентификатор (может бытьnull). - Возвращает:
SignatureProperties- Выбрасывает:
-
NullPointerException— еслиpropertiesnull -
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— еслиalgorithmnull
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, 2020, 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/11/docs/api/java.xml.crypto/javax/xml/crypto/dsig/XMLSignatureFactory.html