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


Java XMLUtils.selectDs11Nodes方法代码示例

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


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

示例1: resolveCertificate

import com.sun.org.apache.xml.internal.security.utils.XMLUtils; //导入方法依赖的package包/类
/**
 * Resolves from the storage resolver the actual certificate represented by the digest.
 *
 * @param element
 * @param baseURI
 * @param storage
 * @return
 * @throws XMLSecurityException
 */
private X509Certificate resolveCertificate(Element element, String baseURI, StorageResolver storage)
    throws XMLSecurityException {

    XMLX509Digest x509Digests[] = null;

    Element x509childNodes[] = XMLUtils.selectDs11Nodes(element.getFirstChild(), Constants._TAG_X509DIGEST);

    if (x509childNodes == null || x509childNodes.length <= 0) {
        return null;
    }

    try {
        checkStorage(storage);

        x509Digests = new XMLX509Digest[x509childNodes.length];

        for (int i = 0; i < x509childNodes.length; i++) {
            x509Digests[i] = new XMLX509Digest(x509childNodes[i], baseURI);
        }

        Iterator<Certificate> storageIterator = storage.getIterator();
        while (storageIterator.hasNext()) {
            X509Certificate cert = (X509Certificate) storageIterator.next();

            for (int i = 0; i < x509Digests.length; i++) {
                XMLX509Digest keyInfoDigest = x509Digests[i];
                byte[] certDigestBytes = XMLX509Digest.getDigestBytesFromCert(cert, keyInfoDigest.getAlgorithm());

                if (Arrays.equals(keyInfoDigest.getDigestBytes(), certDigestBytes)) {
                    if (log.isLoggable(java.util.logging.Level.FINE)) {
                        log.log(java.util.logging.Level.FINE, "Found certificate with: " + cert.getSubjectX500Principal().getName());
                    }
                    return cert;
                }

            }
        }

    } catch (XMLSecurityException ex) {
        throw new KeyResolverException("empty", ex);
    }

    return null;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:54,代码来源:X509DigestResolver.java


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