當前位置: 首頁>>代碼示例>>Java>>正文


Java DOMSignContext.setURIDereferencer方法代碼示例

本文整理匯總了Java中javax.xml.crypto.dsig.dom.DOMSignContext.setURIDereferencer方法的典型用法代碼示例。如果您正苦於以下問題:Java DOMSignContext.setURIDereferencer方法的具體用法?Java DOMSignContext.setURIDereferencer怎麽用?Java DOMSignContext.setURIDereferencer使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在javax.xml.crypto.dsig.dom.DOMSignContext的用法示例。


在下文中一共展示了DOMSignContext.setURIDereferencer方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: if

import javax.xml.crypto.dsig.dom.DOMSignContext; //導入方法依賴的package包/類
private static void test_create_signature_external
    (SignatureMethod sm, KeyInfo ki, Key signingKey, KeySelector ks,
    boolean b64) throws Exception {

    // create reference
    Reference ref;
    if (b64) {
        ref = fac.newReference
            (STYLESHEET_B64,
            sha1, Collections.singletonList
            (fac.newTransform(Transform.BASE64,
             (TransformParameterSpec) null)), null, null);
    } else {
        ref = fac.newReference(STYLESHEET, sha1);
    }

    // create SignedInfo
    SignedInfo si = fac.newSignedInfo(withoutComments, sm,
        Collections.singletonList(ref));

    Document doc = db.newDocument();

    // create XMLSignature
    XMLSignature sig = fac.newXMLSignature(si, ki);

    DOMSignContext dsc = new DOMSignContext(signingKey, doc);
    dsc.setURIDereferencer(httpUd);

    sig.sign(dsc);

    DOMValidateContext dvc = new DOMValidateContext
        (ks, doc.getDocumentElement());
    File f = new File(DATA_DIR);
    dvc.setBaseURI(f.toURI().toString());
    dvc.setURIDereferencer(httpUd);

    XMLSignature sig2 = fac.unmarshalXMLSignature(dvc);

    if (sig.equals(sig2) == false) {
        throw new Exception
            ("Unmarshalled signature is not equal to generated signature");
    }
    if (sig2.validate(dvc) == false) {
        throw new Exception("Validation of generated signature failed");
    }
}
 
開發者ID:lambdalab-mirror,項目名稱:jdk8u-jdk,代碼行數:47,代碼來源:GenerationTests.java

示例2: if

import javax.xml.crypto.dsig.dom.DOMSignContext; //導入方法依賴的package包/類
private void test_create_signature_external
    (SignatureMethod sm, KeyInfo ki, Key signingKey, KeySelector ks,
    boolean b64) throws Exception {

    // create reference
    Reference ref;
    if (b64) {
        ref = fac.newReference
            ("http://www.w3.org/Signature/2002/04/xml-stylesheet.b64",
            sha1, Collections.singletonList
            (fac.newTransform(Transform.BASE64,
             (TransformParameterSpec) null)), null, null);
    } else {
        ref = fac.newReference
            ("http://www.w3.org/Signature/2002/04/xml-stylesheet.b64",sha1);
    }

    // create SignedInfo
    SignedInfo si = fac.newSignedInfo(withoutComments, sm,
        Collections.singletonList(ref));

    Document doc = db.newDocument();

    // create XMLSignature
    XMLSignature sig = fac.newXMLSignature(si, ki);

    DOMSignContext dsc = new DOMSignContext(signingKey, doc);
    dsc.setURIDereferencer(ud);

    sig.sign(dsc);
    TestUtils.validateSecurityOrEncryptionElement(doc.getDocumentElement());

    /*
    System.out.println("doc is:");
    StringWriter sw = new StringWriter();
    dumpDocument(doc, sw);
    System.out.println(sw.toString());
    */

    DOMValidateContext dvc = new DOMValidateContext
        (ks, doc.getDocumentElement());
    String base = System.getProperty("basedir") == null ? "./": System.getProperty("basedir");
    String fs = System.getProperty("file.separator");
    File f = new File(
        base + fs + "src/test/resources" + fs + "ie" + fs +
        "baltimore" + fs + "merlin-examples" + fs +
        "merlin-xmldsig-twenty-three" + fs);
    dvc.setBaseURI(f.toURI().toString());
    dvc.setURIDereferencer(ud);

    XMLSignature sig2 = fac.unmarshalXMLSignature(dvc);

    assertTrue(sig.equals(sig2));
    assertTrue(sig2.validate(dvc));
}
 
開發者ID:Legostaev,項目名稱:xmlsec-gost,代碼行數:56,代碼來源:CreateBaltimore23Test.java


注:本文中的javax.xml.crypto.dsig.dom.DOMSignContext.setURIDereferencer方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。