public abstract class XMLSignatureFactory extends Object
XMLSignature объекты с нуля или для того, чтобы неупорядочить XMLSignature объект от соответствующего представления XML. Каждый экземпляр XMLSignatureFactory поддерживает определенный тип механизма XML. Создать XMLSignatureFactory, вызовите одни из помех getInstance методы, передающие в требуемом типе механизма XML, например:
XMLSignatureFactory factory = XMLSignatureFactory.getInstance("DOM");
Объекты, что эта фабрика продукты будет основана на ДОМЕ и соблюдать требования функциональной совместимости ДОМА как определено в разделе Требований ДОМА Мечанисма краткого обзора API. См. раздел Поставщиков услуг краткого обзора API для списка стандартных типов механизма.
XMLSignatureFactory реализации регистрируются и загрузили использование Provider механизм. Например, поставщик услуг, который поддерживает механизм ДОМА, был бы определен в Provider подкласс как:
put("XMLSignatureFactory.DOM", "org.example.DOMXMLSignatureFactory");
Реализация ДОЛЖНА минимально поддерживать тип механизма значения по умолчанию: ДОМ.
Отметьте, что вызывающая сторона должна использовать то же самое XMLSignatureFactory экземпляр, чтобы создать XMLStructures детали XMLSignature это должно быть сгенерировано. Поведение неопределено если XMLStructures от различных провайдеров или различных типов механизма используются вместе.
Кроме того, XMLStructures, которые создаются этой фабрикой, может содержать состояние, определенное для XMLSignature и не предназначаются, чтобы быть допускающими повторное использование.
Однажды XMLSignatureFactory был создан, объекты можно инстанцировать, вызывая соответствующий метод. Например, a Reference экземпляр может быть создан, вызывая один из newReference методы.
Альтернативно, XMLSignature может быть создан из существующего представления XML, вызывая unmarshalXMLSignature метод и передача этого специфичное для механизма XMLValidateContext экземпляр, содержащий контент XML:
DOMValidateContext context = new DOMValidateContext(key, signatureElement); XMLSignature signature = factory.unmarshalXMLSignature(context);Каждый
XMLSignatureFactory должен поддерживать необходимое XMLValidateContext типы для того типа фабрики, но может поддерживать других. ДОМ XMLSignatureFactory должен поддерживать DOMValidateContext объекты. XMLSignature создаваемый фабрикой может также быть упорядочен к представлению XML и подписан, вызывая sign метод XMLSignature объект и передача этого специфичное для механизма XMLSignContext объект, содержащий ключ подписи и упорядочивающий параметры (см. DOMSignContext). Например:
DOMSignContext context = new DOMSignContext(privateKey, document);
signature.sign(context);
Параллельный Доступ
Статические методы этого class, как гарантируют, будут ориентированы на многопотоковое исполнение. Многократные потоки могут одновременно вызвать статические методы, определенные в этом class без вредных воздействий.
Однако, это не истина для нестатических методов, определенных этим class. Если иначе не задокументировано определенным провайдером, потоки, которые должны получить доступ к синглу XMLSignatureFactory экземпляр одновременно должен синхронизироваться среди себя и обеспечить необходимую блокировку. Многократные потоки каждое управление различным XMLSignatureFactory экземпляр не должен синхронизироваться.
| Модификатор | Конструктор и Описание |
|---|---|
protected |
XMLSignatureFactory()
Конструктор по умолчанию, для вызова подклассами.
|
| Модификатор и Тип | Метод и Описание |
|---|---|
static XMLSignatureFactory |
getInstance()
Возвраты
XMLSignatureFactory это поддерживает XML значения по умолчанию, обрабатывающий механизм и тип представления ("ДОМ"). |
static XMLSignatureFactory |
getInstance(String mechanismType)
Возвраты
XMLSignatureFactory это поддерживает указанный XML, обрабатывающий механизм и тип представления (исключая: "ДОМ"). |
static XMLSignatureFactory |
getInstance(String mechanismType, Provider provider)
Возвраты
XMLSignatureFactory это поддерживает требуемый XML, обрабатывающий механизм и тип представления (исключая: "ДОМ"), как предоставлено указанным провайдером. |
static XMLSignatureFactory |
getInstance(String mechanismType, String provider)
Возвраты
XMLSignatureFactory это поддерживает требуемый XML, обрабатывающий механизм и тип представления (исключая: "ДОМ"), как предоставлено указанным провайдером. |
KeyInfoFactory |
getKeyInfoFactory()
Возвраты a
KeyInfoFactory это создает KeyInfo объекты. |
Строка |
getMechanismType()
Возвращает тип XML, обрабатывающего механизм и представление, поддерживаемое этим
XMLSignatureFactory (исключая: "ДОМ"). |
Провайдер |
getProvider()
Возвращает провайдера этого
XMLSignatureFactory. |
abstract URIDereferencer |
getURIDereferencer()
Возвращает ссылку на
URIDereferencer это используется по умолчанию, чтобы разыменовать URI в Reference объекты. |
abstract boolean |
isFeatureSupported(String feature)
Указывает, поддерживается ли указанная функция.
|
abstract CanonicalizationMethod |
newCanonicalizationMethod(String algorithm, C14NMethodParameterSpec params)
Создает a
CanonicalizationMethod для указанного URI алгоритма и параметров. |
abstract CanonicalizationMethod |
newCanonicalizationMethod(String algorithm, XMLStructure params)
Создает a
CanonicalizationMethod для указанного URI алгоритма и параметров. |
abstract DigestMethod |
newDigestMethod(String algorithm, DigestMethodParameterSpec params)
Создает a
DigestMethod для указанного URI алгоритма и параметров. |
abstract Manifest |
newManifest(List references)
Создает a
Manifest содержа указанный список References. |
abstract Manifest |
newManifest(List references, String id)
Создает a
Manifest содержа указанный список References и дополнительный идентификатор. |
abstract Reference |
newReference(String uri, DigestMethod dm)
Создает a
Reference с указанным URI и методом обзора. |
abstract Reference |
newReference(String uri, DigestMethod dm, List appliedTransforms, Data result, List transforms, String type, String id)
Создает a
Reference с указанными параметрами. |
abstract Reference |
newReference(String uri, DigestMethod dm, List transforms, String type, String id)
Создает a
Reference с указанными параметрами. |
abstract Reference |
newReference(String uri, DigestMethod dm, List transforms, String type, String id, byte[] digestValue)
Создает a
Reference с указанными параметрами и предварительно вычисленным значением обзора. |
abstract SignatureMethod |
newSignatureMethod(String algorithm, SignatureMethodParameterSpec params)
Создает a
SignatureMethod для указанного URI алгоритма и параметров. |
abstract SignatureProperties |
newSignatureProperties(List properties, String id)
Создает a
SignatureProperties содержа указанный список SignaturePropertys и дополнительный идентификатор. |
abstract SignatureProperty |
newSignatureProperty(List content, String target, String id)
Создает a
SignatureProperty содержа указанный список XMLStructures, целевой URI и дополнительный идентификатор. |
abstract SignedInfo |
newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List references)
Создает a
SignedInfo с указанной канонизацией и методами подписи, и списком одной или более ссылок. |
abstract SignedInfo |
newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List references, String id)
Создает a
SignedInfo с указанными параметрами. |
abstract Transform |
newTransform(String algorithm, TransformParameterSpec params)
Создает a
Transform для указанного URI алгоритма и параметров. |
abstract Transform |
newTransform(String algorithm, XMLStructure params)
Создает a
Transform для указанного URI алгоритма и параметров. |
abstract XMLObject |
newXMLObject(List content, String id, String mimeType, String encoding)
Создает
XMLObject от указанных параметров. |
abstract XMLSignature |
newXMLSignature(SignedInfo si, KeyInfo ki)
Создает
XMLSignature и инициализирует это с содержанием указанного SignedInfo и KeyInfo объекты. |
abstract XMLSignature |
newXMLSignature(SignedInfo si, KeyInfo ki, List objects, String id, String signatureValueId)
Создает
XMLSignature и инициализирует это с указанными параметрами. |
abstract XMLSignature |
unmarshalXMLSignature(XMLStructure xmlStructure)
Неупорядочивает новое
XMLSignature экземпляр от специфичного для механизма XMLStructure экземпляр. |
abstract XMLSignature |
unmarshalXMLSignature(XMLValidateContext context)
Неупорядочивает новое
XMLSignature экземпляр от специфичного для механизма XMLValidateContext экземпляр. |
protected XMLSignatureFactory()
public static XMLSignatureFactory getInstance(String mechanismType)
XMLSignatureFactory это поддерживает указанный XML, обрабатывающий механизм и тип представления (исключая: "ДОМ"). Этот метод использует стандартный механизм поиска провайдера JCA, чтобы определить местоположение и инстанцировать XMLSignatureFactory реализация требуемого типа механизма. Это пересекает список зарегистрированной безопасности Providers, запускаясь с самого привилегированного Provider. Новое XMLSignatureFactory объект сначала Provider это поддерживает указанный механизм, возвращается.
Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders() метод.
mechanismType - тип XML, обрабатывающего механизм и представление. См. раздел Поставщиков услуг краткого обзора API для списка стандартных типов механизма.XMLSignatureFactoryNullPointerException - если mechanismType nullNoSuchMechanismException - если нет Provider поддерживает XMLSignatureFactory реализация для указанного механизмаProviderpublic static XMLSignatureFactory getInstance(String mechanismType, Provider provider)
XMLSignatureFactory это поддерживает требуемый XML, обрабатывающий механизм и тип представления (исключая: "ДОМ"), как предоставлено указанным провайдером. Отметьте что указанное Provider объект не должен быть зарегистрирован в списке провайдера.mechanismType - тип XML, обрабатывающего механизм и представление. См. раздел Поставщиков услуг краткого обзора API для списка стандартных типов механизма.provider - Provider объектXMLSignatureFactoryNullPointerException - если provider или mechanismType nullNoSuchMechanismException - если XMLSignatureFactory реализация для указанного механизма не доступна от указанного Provider объектProviderpublic static XMLSignatureFactory getInstance(String mechanismType, String provider) throws NoSuchProviderException
XMLSignatureFactory это поддерживает требуемый XML, обрабатывающий механизм и тип представления (исключая: "ДОМ"), как предоставлено указанным провайдером. Указанный провайдер должен быть зарегистрирован в списке поставщика систем обеспечения безопасности. Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders() метод.
mechanismType - тип XML, обрабатывающего механизм и представление. См. раздел Поставщиков услуг краткого обзора API для списка стандартных типов механизма.provider - имя строки провайдераXMLSignatureFactoryNoSuchProviderException - если указанный провайдер не регистрируется в списке поставщика систем обеспечения безопасностиNullPointerException - если provider или mechanismType nullNoSuchMechanismException - если XMLSignatureFactory реализация для указанного механизма не доступна от указанного провайдераProviderpublic static XMLSignatureFactory getInstance()
XMLSignatureFactory это поддерживает XML значения по умолчанию, обрабатывающий механизм и тип представления ("ДОМ"). Этот метод использует стандартный механизм поиска провайдера JCA, чтобы определить местоположение и инстанцировать XMLSignatureFactory реализация типа механизма значения по умолчанию. Это пересекает список зарегистрированной безопасности Providers, запускаясь с самого привилегированного Provider. Новое XMLSignatureFactory объект сначала Provider это поддерживает механизм ДОМА, возвращается.
Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders() метод.
XMLSignatureFactoryNoSuchMechanismException - если нет Provider поддерживает XMLSignatureFactory реализация для механизма ДОМАProviderpublic final String getMechanismType()
XMLSignatureFactory (исключая: "ДОМ").XMLSignatureFactorypublic final Provider getProvider()
XMLSignatureFactory.XMLSignatureFactorypublic abstract XMLSignature newXMLSignature(SignedInfo si, KeyInfo ki)
XMLSignature и инициализирует это с содержанием указанного SignedInfo и KeyInfo объекты.si - подписанная информацияki - ключевая информация (может быть null)XMLSignatureNullPointerException - если si nullpublic abstract XMLSignature newXMLSignature(SignedInfo si, KeyInfo ki, List objects, String id, String signatureValueId)
XMLSignature и инициализирует это с указанными параметрами.si - подписанная информацияki - ключевая информация (может быть null)objects - список XMLObjects (может быть пустым или null)id - Идентификатор (может быть null)signatureValueId - Идентификатор SignatureValue (может быть null)XMLSignatureNullPointerException - если si nullClassCastException - если любой из objects не имеют типа XMLObjectpublic abstract Reference newReference(String uri, DigestMethod dm)
Reference с указанным URI и методом обзора.uri - ссылочный URI (может быть null)dm - метод обзораReferenceIllegalArgumentException - если uri не совместимый RFC 2396NullPointerException - если dm nullpublic abstract Reference newReference(String uri, DigestMethod dm, List transforms, String type, String id)
Reference с указанными параметрами.uri - ссылочный URI (может быть null)dm - метод обзораtransforms - список Transforms. Список защитно копируется, чтобы защитить от последующей модификации. Может быть null или пустой.type - ссылочный тип, как URI (может быть null)id - ссылочный ID (может быть null)ReferenceClassCastException - если любой из transforms не имеют типа TransformIllegalArgumentException - если uri не совместимый RFC 2396NullPointerException - если dm nullpublic abstract Reference newReference(String uri, DigestMethod dm, List transforms, String type, String id, byte[] digestValue)
Reference с указанными параметрами и предварительно вычисленным значением обзора. Этот метод полезен когда значение обзора a Reference был ранее вычислен. См. например, спецификация.
uri - ссылочный URI (может быть null)dm - метод обзораtransforms - список Transforms. Список защитно копируется, чтобы защитить от последующей модификации. Может быть null или пустой.type - ссылочный тип, как URI (может быть null)id - ссылочный ID (может быть null)digestValue - значение обзора. Массив клонируется, чтобы защитить от последующей модификации.ReferenceClassCastException - если любой из transforms не имеют типа TransformIllegalArgumentException - если uri не совместимый RFC 2396NullPointerException - если dm или digestValue nullpublic abstract Reference newReference(String uri, DigestMethod dm, List appliedTransforms, Data result, List transforms, String type, String id)
Reference с указанными параметрами. Этот метод полезен, когда списку преобразований уже применились к Reference. См. например, спецификация.
Когда XMLSignature содержа эту ссылку сгенерирован, указанное transforms (если ненуль), применяются к указанному result. Transforms элемент получающегося Reference элемент устанавливается в связь appliedTransforms и transforms.
uri - ссылочный URI (может быть null)dm - метод обзораappliedTransforms - список Transforms, которые были уже применены. Список защитно копируется, чтобы защитить от последующей модификации. Список должен содержать по крайней мере одну запись.result - результат обработки последовательности appliedTransformstransforms - список Transforms, которые должны быть применены, генерируя подпись. Список защитно копируется, чтобы защитить от последующей модификации. Может быть null или пустой.type - ссылочный тип, как URI (может быть null)id - ссылочный ID (может быть null)ReferenceClassCastException - если какое-либо из преобразований (в любом списке) не имеет типа TransformIllegalArgumentException - если uri не совместимый RFC 2396 или appliedTransforms пустоNullPointerException - если dm, appliedTransforms или result nullpublic abstract SignedInfo newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List references)
SignedInfo с указанной канонизацией и методами подписи, и списком одной или более ссылок.cm - метод канонизацииsm - метод подписиreferences - список один или больше References. Список защитно копируется, чтобы защитить от последующей модификации.SignedInfoClassCastException - если какая-либо из ссылок не имеет типа ReferenceIllegalArgumentException - если references пустоNullPointerException - если какой-либо из параметров nullpublic abstract SignedInfo newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List references, String id)
SignedInfo с указанными параметрами.cm - метод канонизацииsm - метод подписиreferences - список один или больше References. Список защитно копируется, чтобы защитить от последующей модификации.id - идентификатор (может быть null)SignedInfoClassCastException - если какая-либо из ссылок не имеет типа ReferenceIllegalArgumentException - если references пустоNullPointerException - если cm, sm, или references nullpublic abstract XMLObject newXMLObject(List content, String id, String mimeType, String encoding)
XMLObject от указанных параметров.content - список XMLStructures. Список защитно копируется, чтобы защитить от последующей модификации. Может быть null или пустой.id - Идентификатор (может быть null)mimeType - тип пантомимы (может быть null)encoding - кодирование (может быть null)XMLObjectClassCastException - если content содержит любые записи, которые не имеют типа XMLStructurepublic abstract Manifest newManifest(List references)
Manifest содержа указанный список References.references - список один или больше References. Список защитно копируется, чтобы защитить от последующей модификации.ManifestNullPointerException - если references nullIllegalArgumentException - если references пустоClassCastException - если references содержит любые записи, которые не имеют типа Referencepublic abstract Manifest newManifest(List references, String id)
Manifest содержа указанный список References и дополнительный идентификатор.references - список один или больше References. Список защитно копируется, чтобы защитить от последующей модификации.id - идентификатор (может быть null)ManifestNullPointerException - если references nullIllegalArgumentException - если references пустоClassCastException - если references содержит любые записи, которые не имеют типа Referencepublic abstract SignatureProperty newSignatureProperty(List content, String target, String id)
SignatureProperty содержа указанный список XMLStructures, целевой URI и дополнительный идентификатор.content - список один или больше XMLStructures. Список защитно копируется, чтобы защитить от последующей модификации.target - целевой URI Подписи, которой применяется к это свойствоid - идентификатор (может быть null)SignaturePropertyNullPointerException - если content или target nullIllegalArgumentException - если content пустоClassCastException - если content содержит любые записи, которые не имеют типа XMLStructurepublic abstract SignatureProperties newSignatureProperties(List properties, String id)
SignatureProperties содержа указанный список SignaturePropertys и дополнительный идентификатор.properties - список один или больше SignaturePropertys. Список защитно копируется, чтобы защитить от последующей модификации.id - идентификатор (может быть null)SignaturePropertiesNullPointerException - если properties nullIllegalArgumentException - если properties пустоClassCastException - если properties содержит любые записи, которые не имеют типа SignaturePropertypublic abstract DigestMethod newDigestMethod(String algorithm, DigestMethodParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
DigestMethod для указанного URI алгоритма и параметров.algorithm - URI, идентифицирующий алгоритм обзораparams - специфичные для алгоритма параметры обзора (может быть null)DigestMethodInvalidAlgorithmParameterException - если указанные параметры являются несоответствующими для требуемого алгоритмаNoSuchAlgorithmException - если реализация указанного алгоритма не может быть найденаNullPointerException - если algorithm nullpublic abstract SignatureMethod newSignatureMethod(String algorithm, SignatureMethodParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
SignatureMethod для указанного URI алгоритма и параметров.algorithm - URI, идентифицирующий алгоритм подписиparams - специфичные для алгоритма параметры подписи (может быть null)SignatureMethodInvalidAlgorithmParameterException - если указанные параметры являются несоответствующими для требуемого алгоритмаNoSuchAlgorithmException - если реализация указанного алгоритма не может быть найденаNullPointerException - если algorithm nullpublic abstract Transform newTransform(String algorithm, TransformParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
Transform для указанного URI алгоритма и параметров.algorithm - URI, идентифицирующий алгоритм преобразованияparams - специфичные для алгоритма параметры преобразования (может быть null)TransformInvalidAlgorithmParameterException - если указанные параметры являются несоответствующими для требуемого алгоритмаNoSuchAlgorithmException - если реализация указанного алгоритма не может быть найденаNullPointerException - если algorithm nullpublic abstract Transform newTransform(String algorithm, XMLStructure params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
Transform для указанного URI алгоритма и параметров. Параметры определяются как специфичное для механизма XMLStructure (исключая: DOMStructure). Этот метод полезен, когда параметры находятся в форме XML или нет никакого стандартного class для того, чтобы определить параметры.algorithm - URI, идентифицирующий алгоритм преобразованияparams - специфичная для механизма структура XML, от которой можно неупорядочить параметры от (может быть null если не требуемый или дополнительный)TransformClassCastException - если тип params является несоответствующим для этого XMLSignatureFactoryInvalidAlgorithmParameterException - если указанные параметры являются несоответствующими для требуемого алгоритмаNoSuchAlgorithmException - если реализация указанного алгоритма не может быть найденаNullPointerException - если algorithm nullpublic abstract CanonicalizationMethod newCanonicalizationMethod(String algorithm, C14NMethodParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
CanonicalizationMethod для указанного URI алгоритма и параметров.algorithm - URI, идентифицирующий алгоритм канонизацииparams - специфичные для алгоритма параметры канонизации (может быть null)CanonicalizationMethodInvalidAlgorithmParameterException - если указанные параметры являются несоответствующими для требуемого алгоритмаNoSuchAlgorithmException - если реализация указанного алгоритма не может быть найденаNullPointerException - если algorithm nullpublic abstract CanonicalizationMethod newCanonicalizationMethod(String algorithm, XMLStructure params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
CanonicalizationMethod для указанного URI алгоритма и параметров. Параметры определяются как специфичное для механизма XMLStructure (исключая: DOMStructure). Этот метод полезен, когда параметры находятся в форме XML или нет никакого стандартного class для того, чтобы определить параметры.algorithm - URI, идентифицирующий алгоритм канонизацииparams - специфичная для механизма структура XML, от которой можно неупорядочить параметры от (может быть null если не требуемый или дополнительный)CanonicalizationMethodClassCastException - если тип params является несоответствующим для этого XMLSignatureFactoryInvalidAlgorithmParameterException - если указанные параметры являются несоответствующими для требуемого алгоритмаNoSuchAlgorithmException - если реализация указанного алгоритма не может быть найденаNullPointerException - если algorithm nullpublic final KeyInfoFactory getKeyInfoFactory()
KeyInfoFactory это создает KeyInfo объекты. Возвращенный KeyInfoFactory имеет тот же самый тип механизма и провайдера как это XMLSignatureFactory.KeyInfoFactoryNoSuchMechanismException - если a KeyFactory реализация с тем же самым типом механизма и провайдером не доступнаpublic abstract XMLSignature unmarshalXMLSignature(XMLValidateContext context) throws MarshalException
XMLSignature экземпляр от специфичного для механизма XMLValidateContext экземпляр.context - специфичный для механизма контекст, от которого можно неупорядочить подпись отXMLSignatureNullPointerException - если context nullClassCastException - если тип context является несоответствующим для этой фабрикиMarshalException - если неисправимое исключение происходит во время немаршалингаpublic abstract XMLSignature unmarshalXMLSignature(XMLStructure xmlStructure) throws MarshalException
XMLSignature экземпляр от специфичного для механизма XMLStructure экземпляр. Этот метод полезен, если Вы только хотите неупорядочить (и не проверить) XMLSignature.xmlStructure - специфичная для механизма структура XML, от которой можно неупорядочить подпись отXMLSignatureNullPointerException - если xmlStructure nullClassCastException - если тип xmlStructure является несоответствующим для этой фабрикиMarshalException - если неисправимое исключение происходит во время немаршалингаpublic abstract boolean isFeatureSupported(String feature)
feature - имя функции (как абсолютный URI)true если указанная функция поддерживается, false иначеNullPointerException - если feature nullpublic abstract URIDereferencer getURIDereferencer()
URIDereferencer это используется по умолчанию, чтобы разыменовать URI в Reference объекты.URIDereferencer (никогда null)
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92