Ссылка на интерфейс
- Все суперинтерфейсы:
-
URIReference,XMLStructure
public interface Reference extends URIReference, XMLStructure
Reference, как определено в рекомендации W3C по синтаксису и обработке XML-подписей. XML-схема определена как:
<element name="Reference" type="ds:ReferenceType"/>
<complexType name="ReferenceType">
<sequence>
<element ref="ds:Transforms" minOccurs="0"/>
<element ref="ds:DigestMethod"/>
<element ref="ds:DigestValue"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
<attribute name="URI" type="anyURI" use="optional"/>
<attribute name="Type" type="anyURI" use="optional"/>
</complexType>
<element name="DigestValue" type="ds:DigestValueType"/>
<simpleType name="DigestValueType">
<restriction base="base64Binary"/>
</simpleType>
Объект Reference можно создать, вызвав один из методов newReference класса XMLSignatureFactory; например:
XMLSignatureFactory factory = XMLSignatureFactory.getInstance("DOM");
Reference ref = factory.newReference
("http://www.ietf.org/rfc/rfc3275.txt",
factory.newDigestMethod(DigestMethod.SHA1, null));
- С:
- 1.6
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
byte[] |
getCalculatedDigestValue() |
Возвращает рассчитанное значение дайджеста этого Reference после операции проверки. |
Data |
getDereferencedData() |
Возвращает дереференцированные данные, если включен кэш ссылок (reference caching). |
InputStream |
getDigestInputStream() |
Возвращает предварительно дайджестированный входной поток, если включен кэш ссылок (reference caching). |
DigestMethod |
getDigestMethod() |
Возвращает метод дайджеста этого Reference. |
byte[] |
getDigestValue() |
Возвращает значение дайджеста этого Reference. |
String |
getId() |
Возвращает необязательный атрибут Id этого Reference, который позволяет ссылаться на эту ссылку из других мест. |
List |
getTransforms() |
|
boolean |
validate |
Проверяет эту ссылку. |
Методы, объявленные в интерфейсе javax.xml.crypto.URIReference
getType, getURI
Методы, объявленные в интерфейсе javax.xml.crypto.XMLStructure
isFeatureSupported
Подробное описание методов
getTransforms
List<Transform> getTransforms()
- Возвращает:
- неизменяемый список объектов
Transform(может быть пустым, но никогдаnull)
getDigestMethod
DigestMethod getDigestMethod()
Reference.- Возвращает:
- метод дайджеста
getId
String getId()
Id этого Reference, который позволяет ссылаться на эту ссылку из других мест.- Возвращает:
- атрибут
Id(может бытьnullесли не указан)
getDigestValue
byte[] getDigestValue()
Reference.- Возвращает:
- сырое значение дайджеста, или
nullесли эта ссылка еще не была дайджестирована. Каждый вызов этого метода возвращает новую копию, чтобы предотвратить последующие изменения.
getCalculatedDigestValue
byte[] getCalculatedDigestValue()
Reference после операции проверки. Этот метод полезен для отладки, если ссылка не проходит проверку.- Возвращает:
- рассчитанное значение дайджеста, или
nullесли эта ссылка еще не была проверена. Каждый вызов этого метода возвращает новую копию, чтобы предотвратить последующие изменения.
validate
boolean validate(XMLValidateContext validateContext) throws XMLSignatureException
Этот метод проверяет ссылку только в первый раз, когда он вызывается. При последующих вызовах он возвращает кэшированный результат.
- Параметры:
-
validateContext- контекст проверки - Возвращает:
-
trueесли эта ссылка была успешно проверена;falseв противном случае - Исключения:
-
NullPointerException- еслиvalidateContextявляетсяnull -
XMLSignatureException- если произошла непредвиденная ошибка во время проверки ссылки
getDereferencedData
Data getDereferencedData()
- Возвращает:
- декреференцированные данные или
nullесли кэширование ссылок не включено или эта ссылка не была сгенерирована или проверена
getDigestInputStream
InputStream getDigestInputStream()
- Возвращает:
- входной поток, содержащий предварительно дайджестированный вход, или
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/Reference.html