Класс 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 Security. - Возвращает:
- новый
XMLSignatureFactory - Издает исключение:
-
NullPointerException- еслиmechanismTypeявляетсяnull -
NoSuchMechanismException- если ни одинProviderне поддерживает реализациюXMLSignatureFactoryдля указанного механизма - См. также:
getInstance
public static XMLSignatureFactory getInstance(String mechanismType, Provider provider)
XMLSignatureFactory, поддерживающий затребованный механизм обработки XML и тип представления (например, "DOM"), предоставляемый указанным поставщиком. Обратите внимание, что указанный объект Provider не обязательно должен быть зарегистрирован в списке поставщиков.- Параметры:
-
mechanismType- тип механизма обработки XML и представления. Список стандартных типов механизмов см. в разделеXMLSignatureFactoryв Спецификации имен стандартных алгоритмов Java Security. -
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 Security. -
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)
- Параметры:
-
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)
Этот метод полезен, когда значение хеша ссылки уже вычислено. Например, см. спецификацию 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или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. Например, см. спецификацию 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- 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ов и необязательный id.- Параметры:
-
references- список одной или более ссылокReferenceов. Список защищён от последующих изменений. -
id- идентификатор (может бытьnull) - Возвращает:
- объект
Manifest - Исключения:
-
NullPointerException- еслиreferencesnull -
IllegalArgumentException- еслиreferencesпусто -
ClassCastException- еслиreferencesсодержит записи, которые не являются объектами типаReference
новыйОбъектСвойствоПодписи
public abstract SignatureProperty newSignatureProperty(List<? extends XMLStructure> content, String target, String id)
XMLStructure содержащий указанный список XMLStructures, целевой URI и необязательный идентификатор.- Параметры:
-
content- список из одного или болееXMLStructures. Список защищён от последующих изменений. -
target- целевой URI подписи, к которой относится это свойство -
id- идентификатор (может бытьnull). - Возвращает:
- объект
SignatureProperty - Исключение:
-
NullPointerException- еслиcontentилиtargetимеют значениеnull -
IllegalArgumentException- еслиcontentпуст -
ClassCastException- еслиcontentсодержит элементы, не являющиеся объектамиXMLStructure
новыеСвойстваПодписи
public abstract SignatureProperties newSignatureProperties(List<? extends SignatureProperty> properties, String id)
SignatureProperty содержащий указанный список SignaturePropertys и необязательный идентификатор.- Параметры:
-
properties- список из одного или болееSignaturePropertys. Список защищён от последующих изменений. -
id- идентификатор (может бытьnull). - Возвращает:
- объект
SignatureProperties - Исключение:
-
NullPointerException- еслиpropertiesимеет значениеnull -
IllegalArgumentException- еслиpropertiesпуст -
ClassCastException- еслиpropertiesсодержит элементы, не являющиеся объектамиSignatureProperty
новыйМетодХеширования
public abstract DigestMethod newDigestMethod(String algorithm, DigestMethodParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
DigestMethod для указанного URI алгоритма и параметров.- Параметры:
-
algorithm- URI, определяющий алгоритм хеширования -
params- параметры хеширования, специфичные для алгоритма (могут бытьnull) - Возвращает:
- объект
DigestMethod - Исключение:
-
InvalidAlgorithmParameterException- если указанные параметры не подходят для запрошенного алгоритма -
NoSuchAlgorithmException- если реализация указанного алгоритма не найдена -
NullPointerException- еслиalgorithmимеет значениеnull
новыйМетодПодписи
public abstract SignatureMethod newSignatureMethod(String algorithm, SignatureMethodParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
SignatureMethod для указанного URI алгоритма и параметров.- Параметры:
-
algorithm- URI, определяющий алгоритм подписи -
params- параметры подписи, специфичные для алгоритма (могут бытьnull) - Возвращает:
- объект
SignatureMethod - Исключение:
-
InvalidAlgorithmParameterException- если указанные параметры не подходят для запрошенного алгоритма -
NoSuchAlgorithmException- если реализация указанного алгоритма не найдена -
NullPointerException- еслиalgorithmимеет значениеnull
новыйПреобразование
public abstract Transform newTransform(String algorithm, TransformParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
Transform для указанного URI алгоритма и параметров.- Параметры:
-
algorithm- URI, определяющий алгоритм преобразования -
params- параметры преобразования, специфичные для алгоритма (могут бытьnull) - Возвращает:
- объект
Transform - Исключение:
-
InvalidAlgorithmParameterException- если указанные параметры не подходят для запрошенного алгоритма -
NoSuchAlgorithmException- если реализация указанного алгоритма не найдена -
NullPointerException- еслиalgorithmимеет значениеnull
новыйПреобразование
public abstract Transform newTransform(String algorithm, XMLStructure params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
Transform для указанного URI алгоритма и параметров. Параметры задаются как механизм-специфическая XML-структура (например, DOMStructure). Этот метод полезен, когда параметры находятся в формате XML или не существует стандартного класса для их задания.- Параметры:
-
algorithm- URI, определяющий алгоритм преобразования -
params- механизм-специфическая XML-структура для разархивирования параметров (может бытьnullесли не требуется или необязательна) - Возвращает:
- объект
Transform - Исключение:
-
ClassCastException- если типparamsне подходит для этогоXMLSignatureFactory -
InvalidAlgorithmParameterException- если указанные параметры не подходят для запрошенного алгоритма -
NoSuchAlgorithmException- если реализация указанного алгоритма не найдена -
NullPointerException- еслиalgorithmимеет значениеnull
новыйМетодКанонизации
public abstract CanonicalizationMethod newCanonicalizationMethod(String algorithm, C14NMethodParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
CanonicalizationMethod для указанного URI алгоритма и параметров.- Параметры:
-
algorithm- URI, определяющий алгоритм канонизации -
params- параметры канонизации, специфичные для алгоритма (могут бытьnull) - Возвращает:
- объект
CanonicalizationMethod - Исключение:
-
InvalidAlgorithmParameterException- если указанные параметры не подходят для запрошенного алгоритма -
NoSuchAlgorithmException- если реализация указанного алгоритма не найдена -
NullPointerException- еслиalgorithmимеет значениеnull
новыйМетодКанонизации
public abstract CanonicalizationMethod newCanonicalizationMethod(String algorithm, XMLStructure params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
CanonicalizationMethod для указанного URI алгоритма и параметров. Параметры задаются как механизм-специфическая XML-структура (например, DOMStructure). Этот метод полезен, когда параметры находятся в формате XML или не существует стандартного класса для их задания.- Параметры:
-
algorithm- URI, определяющий алгоритм канонизации -
params- механизм-специфическая XML-структура для разархивирования параметров (может бытьnullесли не требуется или необязательна) - Возвращает:
- объект
CanonicalizationMethod - Исключение:
-
ClassCastException- если типparamsне подходит для этогоXMLSignatureFactory -
InvalidAlgorithmParameterException- если указанные параметры не подходят для запрошенного алгоритма -
NoSuchAlgorithmException- если реализация указанного алгоритма не найдена -
NullPointerException- еслиalgorithmимеет значениеnull
фабрикаОбъектовКлючей
public final KeyInfoFactory getKeyInfoFactory()
KeyInfoFactory, создающую объекты KeyInfo. Возвращаемая KeyInfoFactory имеет тот же тип механизма и поставщика, что и этот XMLSignatureFactory.- Возвращает:
KeyInfoFactory- Исключение:
-
NoSuchMechanismException- если реализацияKeyFactoryс таким же типом механизма и поставщиком недоступна
разархивироватьXMLПодпись
public abstract XMLSignature unmarshalXMLSignature(XMLValidateContext context) throws MarshalException
XMLSignature из механизм-специфического экземпляра XMLValidateContext.- Параметры:
-
context- механизм-специфический контекст для разархивирования подписи - Возвращает:
- объект
XMLSignature - Исключение:
-
NullPointerException- еслиcontextимеет значениеnull -
ClassCastException- если типcontextне подходит для этой фабрики -
MarshalException- если произошла невосстановимая ошибка во время разархивирования
разархивироватьXMLПодпись
public abstract XMLSignature unmarshalXMLSignature(XMLStructure xmlStructure) throws MarshalException
XMLSignature из механизм-специфического экземпляра XMLStructure. Этот метод полезен, если требуется только разархивирование (а не валидация) XML-подписи.- Параметры:
-
xmlStructure- механизм-специфическая XML-структура для разархивирования подписи - Возвращает:
- объект
XMLSignature - Исключение:
-
NullPointerException- еслиxmlStructureимеет значениеnull -
ClassCastException- если типxmlStructureне подходит для этой фабрики -
MarshalException- если произошла невосстановимая ошибка во время разархивирования
поддерживаетсяФункция
public abstract boolean isFeatureSupported(String feature)
- Параметры:
-
feature- имя функции (как абсолютный URI) - Возвращает:
-
trueесли указанная функция поддерживается,falseв противном случае - Исключение:
-
NullPointerException- еслиfeatureимеет значениеnull
getURIDereferencer
public abstract URIDereferencer getURIDereferencer()
URIDereferencer, используемый по умолчанию для разыменования URI в объектах Reference.- Возвращает:
- ссылку на
URIDereferencer(никогда неnull)
© 1993, 2023, 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/21/docs/api/java.xml.crypto/javax/xml/crypto/dsig/XMLSignatureFactory.html