当前位置: 首页>>代码示例>>Java>>正文


Java SignedInfo.item方法代码示例

本文整理汇总了Java中org.apache.xml.security.signature.SignedInfo.item方法的典型用法代码示例。如果您正苦于以下问题:Java SignedInfo.item方法的具体用法?Java SignedInfo.item怎么用?Java SignedInfo.item使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.xml.security.signature.SignedInfo的用法示例。


在下文中一共展示了SignedInfo.item方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getDigestMethodAlgorithm

import org.apache.xml.security.signature.SignedInfo; //导入方法依赖的package包/类
private static String getDigestMethodAlgorithm(final Optional<Signature> signature) {
    if (signature.isPresent()) {
        XMLSignature xmlSignature = ((SignatureImpl) signature.get()).getXMLSignature();
        if (xmlSignature != null) {
            SignedInfo signedInfo = xmlSignature.getSignedInfo();
            try {
                if (signedInfo != null && signedInfo.getLength() != 0 && signedInfo.item(0) != null) {
                    MessageDigestAlgorithm messageDigestAlgorithm = signedInfo.item(0).getMessageDigestAlgorithm();
                    if (messageDigestAlgorithm != null) {
                        return messageDigestAlgorithm.getJCEAlgorithmString();
                    }
                }
            } catch (XMLSecurityException e) {
                LOG.debug(format("Error getting message digest algorithm: {0}", e));
            }
        }
    }
    return null;
}
 
开发者ID:alphagov,项目名称:verify-hub,代码行数:20,代码来源:UnknownMethodAlgorithmLogger.java

示例2: checkReferences

import org.apache.xml.security.signature.SignedInfo; //导入方法依赖的package包/类
private void checkReferences(XMLSignature xmlSignature) throws Exception {
    SignedInfo signedInfo = xmlSignature.getSignedInfo();
    assertTrue(signedInfo.getLength() > 0);
    for (int i = 0; i < signedInfo.getLength(); i++) {
        Reference reference = signedInfo.item(i);
        assertNotNull(reference);
        ReferenceData referenceData = reference.getReferenceData();
        assertNotNull(referenceData);

        if (referenceData instanceof ReferenceNodeSetData) {
            Iterator<Node> iter = ((ReferenceNodeSetData)referenceData).iterator();
            assertTrue(iter.hasNext());
            boolean found = false;
            while (iter.hasNext()) {
                Node n = iter.next();
                if (n instanceof Element) {
                    found = true;
                    break;
                }
            }
            assertTrue(found);
        } else if (referenceData instanceof ReferenceOctetStreamData) {
            assertNotNull(((ReferenceOctetStreamData)referenceData).getOctetStream());
        }
    }
}
 
开发者ID:Legostaev,项目名称:xmlsec-gost,代码行数:27,代码来源:InteropTestBase.java

示例3: getDigestAlgorithm

import org.apache.xml.security.signature.SignedInfo; //导入方法依赖的package包/类
/**
 *  Returns the digest algorithm identifier from the signature
 * 
 * @return      The algorithm identifier
 * @throws SAMLException    Thrown if the signature is missing
 */
public String getDigestAlgorithm()
    throws SAMLException
{
    if (isSigned()) {
        SignedInfo si=sig.getSignedInfo();
        if (si.getLength()==1) {
            Reference ref;
try {
	ref = si.item(0);
             return ref.getMessageDigestAlgorithm().getAlgorithmURI();
}
catch (XMLSecurityException e) {
	throw new InvalidCryptoException("SAMLSignedObject.getDigestAlgorithm() detected an XML security exception: " + e.getMessage(),e);
}
        }
    }
    throw new InvalidCryptoException("SAMLSignedObject.getDigestAlgorithm() can't examine unsigned or improperly signed object");           
}
 
开发者ID:NCIP,项目名称:cagrid-core,代码行数:25,代码来源:SAMLSignedObject.java

示例4: testSigningVerifyingReference

import org.apache.xml.security.signature.SignedInfo; //导入方法依赖的package包/类
@org.junit.Test
public void testSigningVerifyingReference() throws Throwable {
    Document doc = getOriginalDocument();
    XMLSignature signature = signDocument(doc);

    PublicKey pubKey = getPublicKey();
    assertTrue(signature.checkSignatureValue(pubKey));

    // Check the reference(s)
    SignedInfo signedInfo = signature.getSignedInfo();
    assertTrue(signedInfo.getLength() == 1);
    Reference reference = signedInfo.item(0);
    ReferenceData referenceData = reference.getReferenceData();
    assertNotNull(referenceData);
    assertTrue(referenceData instanceof ReferenceNodeSetData);

    // Test the cached Element
    Element referenceElement =
        (Element)((ReferenceNodeSetData)referenceData).iterator().next();
    assertNotNull(referenceElement);
    assertTrue("root".equals(referenceElement.getLocalName()));

    Element originalElement =
        (Element) doc.getElementsByTagNameNS("http://ns.example.org/", "root").item(0);
    assertNotNull(originalElement);
    assertEquals(referenceElement, originalElement);
}
 
开发者ID:Legostaev,项目名称:xmlsec-gost,代码行数:28,代码来源:SignatureReferenceTest.java

示例5: verify

import org.apache.xml.security.signature.SignedInfo; //导入方法依赖的package包/类
@Override
public QualifyingProperty verify(
        GenericDOMData propData,
        QualifyingPropertyVerificationContext ctx) throws InvalidPropertyException
{


    XAdESVerificationResult res;
    try
    {
        Element sigElem = DOMHelper.getFirstChildElement(propData.getPropertyElement());
        res = verifier.verify(sigElem, null);
    } catch (XAdES4jException ex)
    {
        throw new CounterSignatureXadesVerificationException(ex);
    }

    // "Check that the enclosed signature correctly references the ds:SignatureValue
    // present in the countersigned XAdES signature."

    Node targetSigValueElem = ctx.getSignature().getElement().getElementsByTagNameNS(
            Constants.SignatureSpecNS, Constants._TAG_SIGNATUREVALUE).item(0);

    try
    {
        SignedInfo si = res.getXmlSignature().getSignedInfo();
        for (int i = 0; i < si.getLength(); i++)
        {
            Reference r = si.item(i);
            if (r.getContentsAfterTransformation().getSubNode() == targetSigValueElem)
                // The signature references the SignatureValue element.
                return new CounterSignatureProperty(res);
        }
        throw new CounterSignatureSigValueRefException();
    } catch (XMLSecurityException e)
    {
        // Shouldn't happen because the signature was already verified.
        throw new CounterSignatureVerificationException(e);
    }
}
 
开发者ID:luisgoncalves,项目名称:xades4j,代码行数:41,代码来源:CounterSignatureVerifier.java


注:本文中的org.apache.xml.security.signature.SignedInfo.item方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。