{"id":1558,"date":"2024-05-05T12:15:31","date_gmt":"2024-05-05T12:15:31","guid":{"rendered":"https:\/\/p-horlix.net\/umamusume-phazor\/?p=1558"},"modified":"2024-05-05T12:15:31","modified_gmt":"2024-05-05T12:15:31","slug":"java-xml-%e7%bd%b2%e5%90%8d-api-%e3%81%ae%e4%bd%bf%e3%81%84%e6%96%b9-%e5%85%ac%e5%bc%8f%e3%82%b5%e3%83%b3%e3%83%97%e3%83%ab","status":"publish","type":"post","link":"https:\/\/p-horlix.net\/umamusume-phazor\/?p=1558","title":{"rendered":"Java XML \u7f72\u540d API \u306e\u4f7f\u3044\u65b9 -\u516c\u5f0f\u30b5\u30f3\u30d7\u30eb-"},"content":{"rendered":"<p>\u7f72\u540d\u7de8\u306e\u8a55\u5224\u304c\u826f\u3044\u3088\u3046\u306a\u306e\u3067\u3001\u6b21\u306f\u691c\u8a3c\uff08Validation\uff09\u7de8\u3002<\/p>\n<p>\u3068\u601d\u3063\u305f\u306e\u3060\u304c\u3001\u30aa\u30e9\u30af\u30eb\u516c\u5f0f\u30b5\u30f3\u30d7\u30eb\u304c\u8208\u5473\u6df1\u304b\u3063\u305f\u306e\u3067\u518d\u63b2\u3002<br \/>\n\u30ec\u30d3\u30e5\u30fc\u3057\u3066\u307f\u308b\u3002<\/p>\n<p>\u305d\u306e\u30b3\u30fc\u30c9\u306f\u3053\u3046\u3060\u3002<\/p>\n<pre><code>import javax.xml.crypto.*;\r\nimport javax.xml.crypto.dsig.*;\r\nimport javax.xml.crypto.dom.*;\r\nimport javax.xml.crypto.dsig.dom.DOMValidateContext;\r\nimport javax.xml.crypto.dsig.keyinfo.*;\r\nimport java.io.FileInputStream;\r\nimport java.security.*;\r\nimport java.util.Collections;\r\nimport java.util.Iterator;\r\nimport java.util.List;\r\nimport javax.xml.parsers.DocumentBuilderFactory;\r\nimport org.w3c.dom.Document;\r\nimport org.w3c.dom.NodeList;\r\n\r\n\/**\r\n * This is a simple example of validating an XML \r\n * Signature using the JSR 105 API. It assumes the key needed to\r\n * validate the signature is contained in a KeyValue KeyInfo. \r\n *\/\r\npublic class Validate {\r\n\r\n    \/\/\r\n    \/\/ Synopsis: java Validate [document]\r\n    \/\/\r\n    \/\/\t  where \"document\" is the name of a file containing the XML document\r\n    \/\/\t  to be validated.\r\n    \/\/\r\n    public static void main(String[] args) throws Exception {\r\n\r\n\t\/\/ Instantiate the document to be validated\r\n\tDocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();\r\n\tdbf.setNamespaceAware(true);\r\n\tDocument doc =\r\n            dbf.newDocumentBuilder().parse(new FileInputStream(args[0]));\r\n\r\n\t\/\/ Find Signature element\r\n\tNodeList nl = \r\n\t    doc.getElementsByTagNameNS(XMLSignature.XMLNS, \"Signature\");\r\n\tif (nl.getLength() == 0) {\r\n\t    throw new Exception(\"Cannot find Signature element\");\r\n\t}\r\n\r\n\t\/\/ Create a DOM XMLSignatureFactory that will be used to unmarshal the \r\n\t\/\/ document containing the XMLSignature \r\n\tXMLSignatureFactory fac = XMLSignatureFactory.getInstance(\"DOM\");\r\n\r\n\t\/\/ Create a DOMValidateContext and specify a KeyValue KeySelector\r\n        \/\/ and document context\r\n\tDOMValidateContext valContext = new DOMValidateContext\r\n\t    (new KeyValueKeySelector(), nl.item(0));\r\n\t\r\n\t\/\/ unmarshal the XMLSignature\r\n\tXMLSignature signature = fac.unmarshalXMLSignature(valContext);\r\n\r\n\t\/\/ Validate the XMLSignature (generated above)\r\n\tboolean coreValidity = signature.validate(valContext); \r\n\r\n\t\/\/ Check core validation status\r\n\tif (coreValidity == false) {\r\n    \t    System.err.println(\"Signature failed core validation\"); \r\n\t    boolean sv = signature.getSignatureValue().validate(valContext);\r\n\t    System.out.println(\"signature validation status: \" + sv);\r\n\t    \/\/ check the validation status of each Reference\r\n\t    Iterator i = signature.getSignedInfo().getReferences().iterator();\r\n\t    for (int j=0; i.hasNext(); j++) {\r\n\t\tboolean refValid = \r\n\t\t    ((Reference) i.next()).validate(valContext);\r\n\t\tSystem.out.println(\"ref[\"+j+\"] validity status: \" + refValid);\r\n\t    }\r\n\t} else {\r\n    \t    System.out.println(\"Signature passed core validation\");\r\n\t}\r\n    }\r\n\r\n    \/**\r\n     * KeySelector which retrieves the public key out of the\r\n     * KeyValue element and returns it.\r\n     * NOTE: If the key algorithm doesn't match signature algorithm,\r\n     * then the public key will be ignored.\r\n     *\/\r\n    private static class KeyValueKeySelector extends KeySelector {\r\n\tpublic KeySelectorResult select(KeyInfo keyInfo,\r\n                                        KeySelector.Purpose purpose,\r\n                                        AlgorithmMethod method,\r\n                                        XMLCryptoContext context)\r\n            throws KeySelectorException {\r\n            if (keyInfo == null) {\r\n\t\tthrow new KeySelectorException(\"Null KeyInfo object!\");\r\n            }\r\n            SignatureMethod sm = (SignatureMethod) method;\r\n            List list = keyInfo.getContent();\r\n\r\n            for (int i = 0; i &lt; list.size(); i++) {\r\n\t\tXMLStructure xmlStructure = (XMLStructure) list.get(i);\r\n            \tif (xmlStructure instanceof KeyValue) {\r\n                    PublicKey pk = null;\r\n                    try {\r\n                        pk = ((KeyValue)xmlStructure).getPublicKey();\r\n                    } catch (KeyException ke) {\r\n                        throw new KeySelectorException(ke);\r\n                    }\r\n                    \/\/ make sure algorithm is compatible with method\r\n                    if (algEquals(sm.getAlgorithm(), pk.getAlgorithm())) {\r\n                        return new SimpleKeySelectorResult(pk);\r\n                    }\r\n\t\t}\r\n            }\r\n            throw new KeySelectorException(\"No KeyValue element found!\");\r\n\t}\r\n\r\n        \/\/@@@FIXME: this should also work for key types other than DSA\/RSA\r\n\tstatic boolean algEquals(String algURI, String algName) {\r\n            if (algName.equalsIgnoreCase(\"DSA\") &amp;&amp;\r\n\t\talgURI.equalsIgnoreCase(SignatureMethod.DSA_SHA1)) {\r\n\t\treturn true;\r\n            } else if (algName.equalsIgnoreCase(\"RSA\") &amp;&amp;\r\n                       algURI.equalsIgnoreCase(SignatureMethod.RSA_SHA1)) {\r\n\t\treturn true;\r\n            } else {\r\n\t\treturn false;\r\n            }\r\n\t}\r\n    }\r\n\r\n    private static class SimpleKeySelectorResult implements KeySelectorResult {\r\n\tprivate PublicKey pk;\r\n\tSimpleKeySelectorResult(PublicKey pk) {\r\n\t    this.pk = pk;\r\n\t}\r\n\r\n\tpublic Key getKey() { return pk; }\r\n    }\r\n}<\/code><\/pre>\n<p>\u3053\u306e\u30b3\u30fc\u30c9\u81ea\u4f53\u306f\u305d\u3093\u306a\u306b\u304a\u304b\u3057\u304f\u306a\u3044\u3068\u601d\u3046\u304b\u3082\u3057\u308c\u306a\u3044\u304c\u3001\u5bfe\u8c61\u3068\u306a\u308b xml \u30d5\u30a1\u30a4\u30eb\u3082\u63b2\u793a\u3055\u308c\u3066\u3044\u3066\u305d\u308c\u306f\u3053\u3046\u3044\u3046\u3082\u306e\u3060\u3002<\/p>\n<pre><code>&lt;Envelope xmlns=\"urn:envelope\"&gt;\r\n&lt;Signature xmlns=\"http:\/\/www.w3.org\/2000\/09\/xmldsig#\"&gt;\r\n&lt;SignedInfo xmlns=\"http:\/\/www.w3.org\/2000\/09\/xmldsig#\"&gt;\r\n&lt;CanonicalizationMethod xmlns=\"http:\/\/www.w3.org\/2000\/09\/xmldsig#\" Algorithm=\"http:\/\/www.w3.org\/TR\/2001\/REC-xml-c14n-20010315#WithComments\"\/&gt;\r\n&lt;SignatureMethod xmlns=\"http:\/\/www.w3.org\/2000\/09\/xmldsig#\" Algorithm=\"http:\/\/www.w3.org\/2000\/09\/xmldsig#dsa-sha1\"\/&gt;\r\n&lt;Reference xmlns=\"http:\/\/www.w3.org\/2000\/09\/xmldsig#\" URI=\"\"&gt;\r\n&lt;Transforms xmlns=\"http:\/\/www.w3.org\/2000\/09\/xmldsig#\"&gt;\r\n&lt;Transform xmlns=\"http:\/\/www.w3.org\/2000\/09\/xmldsig#\" Algorithm=\"http:\/\/www.w3.org\/2000\/09\/xmldsig#enveloped-signature\"\/&gt;\r\n&lt;\/Transforms&gt;\r\n&lt;DigestMethod xmlns=\"http:\/\/www.w3.org\/2000\/09\/xmldsig#\" Algorithm=\"http:\/\/www.w3.org\/2000\/09\/xmldsig#sha1\"\/&gt;\r\n&lt;DigestValue xmlns=\"http:\/\/www.w3.org\/2000\/09\/xmldsig#\"&gt;uooqbWYa5VCqcJCbuymBKqm17vY=&lt;\/DigestValue&gt;\r\n&lt;\/Reference&gt;\r\n&lt;\/SignedInfo&gt;\r\n&lt;SignatureValue xmlns=\"http:\/\/www.w3.org\/2000\/09\/xmldsig#\"&gt;eO7K1BdC0kzNvr1HpMf4hKoWsvl+oI04nMw55GO+Z5hyI6By3Oihow==&lt;\/SignatureValue&gt;\r\n&lt;KeyInfo xmlns=\"http:\/\/www.w3.org\/2000\/09\/xmldsig#\"&gt;\r\n&lt;KeyValue xmlns=\"http:\/\/www.w3.org\/2000\/09\/xmldsig#\"&gt;\r\n&lt;DSAKeyValue xmlns=\"http:\/\/www.w3.org\/2000\/09\/xmldsig#\"&gt;\r\n&lt;P xmlns=\"http:\/\/www.w3.org\/2000\/09\/xmldsig#\"&gt;\/KaCzo4Syrom78z3EQ5SbbB4sF7ey80etKII864WF64B81uRpH5t9jQTxeEu0ImbzRMqzVDZkVG9 xD7nN1kuFw==&lt;\/P&gt;\r\n&lt;Q xmlns=\"http:\/\/www.w3.org\/2000\/09\/xmldsig#\"&gt;li7dzDacuo67Jg7mtqEm2TRuOMU=&lt;\/Q&gt;\r\n&lt;G xmlns=\"http:\/\/www.w3.org\/2000\/09\/xmldsig#\"&gt;Z4Rxsnqc9E7pGknFFH2xqaryRPBaQ01khpMdLRQnG541Awtx\/XPaF5Bpsy4pNWMOHCBiNU0Nogps QW5QvnlMpA==&lt;\/G&gt;\r\n&lt;Y xmlns=\"http:\/\/www.w3.org\/2000\/09\/xmldsig#\"&gt;OqFi0sGpvroi6Ut3m154QNWc6gavH3j2ZoRPDW7qVBbgk7XompuKvZe1owz0yvxq+1K+mWbL7ST+ t5nr6UFBCg==&lt;\/Y&gt;\r\n&lt;\/DSAKeyValue&gt;\r\n&lt;\/KeyValue&gt;\r\n&lt;\/KeyInfo&gt;\r\n&lt;\/Signature&gt;\r\n&lt;\/Envelope&gt;<\/code><\/pre>\n<p>\u3053\u308c\u3092 NetBeans \u3042\u305f\u308a\u3067\u5b9f\u884c\u3059\u308b\u3068\uff08\u3061\u306a\u307f\u306b Java17 \u3042\u305f\u308a\u3067\u3082\u307b\u3068\u3093\u3069\u624b\u76f4\u3057\u306a\u3057\u3067\u52d5\u304f\uff09\u30a8\u30e9\u30fc\u304c\u51fa\u3066\u304d\u3066\u3001\u305d\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u306f\u306a\u304b\u306a\u304b\u8208\u5473\u6df1\u3044\u3002<\/p>\n<pre><code>Exception in thread \"main\" javax.xml.crypto.MarshalException: It is forbidden to use algorithm http:\/\/www.w3.org\/2000\/09\/xmldsig#dsa-sha1 when secure validation is enabled<\/code><\/pre>\n<p>\u8981\u3059\u308b\u306b dsa-sha1 \u304c\u73fe\u5728\u3067\u306f\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u7684\u306b\u554f\u984c\u3042\u308b\u306e\u3067\u4f7f\u3048\u307e\u305b\u3093\u3088\u3001\u3068\u8b66\u544a\u3057\u3066\u304f\u308c\u308b\u308f\u3051\u3060\u3002<\/p>\n<p>\u307e\u305f\u3001Signature \u8981\u7d20\u3092\u63a2\u3059\u3068\u304d <code>doc.getElementsByTagNameNS<\/code> \u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u3063\u3066\u3044\u3066\u3001\u306a\u3093\u3067\u3060\uff1f\u3068\u8a1d\u3057\u3093\u3067\u3044\u305f\u306e\u3060\u304c\u3001\u5bfe\u8c61\u3068\u306a\u308b xml \u3092\u773a\u3081\u3066\u306a\u3093\u304b\u7d0d\u5f97\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u7f72\u540d\u7de8\u306e\u8a55\u5224\u304c\u826f\u3044\u3088\u3046\u306a\u306e\u3067\u3001\u6b21\u306f\u691c\u8a3c\uff08Validation\uff09\u7de8\u3002 \u3068\u601d\u3063\u305f\u306e\u3060\u304c\u3001\u30aa\u30e9\u30af\u30eb\u516c\u5f0f\u30b5\u30f3\u30d7\u30eb\u304c\u8208\u5473\u6df1\u304b\u3063\u305f\u306e\u3067\u518d\u63b2\u3002 \u30ec\u30d3\u30e5\u30fc\u3057\u3066\u307f\u308b\u3002 \u305d\u306e\u30b3\u30fc\u30c9\u306f\u3053\u3046\u3060\u3002 import javax.xml.crypto. &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/p-horlix.net\/umamusume-phazor\/?p=1558\" class=\"more-link\"><span class=\"screen-reader-text\">&#8220;Java XML \u7f72\u540d API \u306e\u4f7f\u3044\u65b9 -\u516c\u5f0f\u30b5\u30f3\u30d7\u30eb-&#8221; \u306e<\/span>\u7d9a\u304d\u3092\u8aad\u3080<\/a><\/p>\n","protected":false},"author":3,"featured_media":1541,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[15,87],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v18.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Java XML \u7f72\u540d API \u306e\u4f7f\u3044\u65b9 -\u516c\u5f0f\u30b5\u30f3\u30d7\u30eb- | \u79cb\u8449\u3061\u3083\u3093\u306d\u308b\u3010\u5225\u9928\u3011<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/p-horlix.net\/umamusume-phazor\/?p=1558\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Java XML \u7f72\u540d API \u306e\u4f7f\u3044\u65b9 -\u516c\u5f0f\u30b5\u30f3\u30d7\u30eb- | \u79cb\u8449\u3061\u3083\u3093\u306d\u308b\u3010\u5225\u9928\u3011\" \/>\n<meta property=\"og:description\" content=\"\u7f72\u540d\u7de8\u306e\u8a55\u5224\u304c\u826f\u3044\u3088\u3046\u306a\u306e\u3067\u3001\u6b21\u306f\u691c\u8a3c\uff08Validation\uff09\u7de8\u3002 \u3068\u601d\u3063\u305f\u306e\u3060\u304c\u3001\u30aa\u30e9\u30af\u30eb\u516c\u5f0f\u30b5\u30f3\u30d7\u30eb\u304c\u8208\u5473\u6df1\u304b\u3063\u305f\u306e\u3067\u518d\u63b2\u3002 \u30ec\u30d3\u30e5\u30fc\u3057\u3066\u307f\u308b\u3002 \u305d\u306e\u30b3\u30fc\u30c9\u306f\u3053\u3046\u3060\u3002 import javax.xml.crypto. &hellip; &quot;Java XML \u7f72\u540d API \u306e\u4f7f\u3044\u65b9 -\u516c\u5f0f\u30b5\u30f3\u30d7\u30eb-&quot; \u306e\u7d9a\u304d\u3092\u8aad\u3080\" \/>\n<meta property=\"og:url\" content=\"https:\/\/p-horlix.net\/umamusume-phazor\/?p=1558\" \/>\n<meta property=\"og:site_name\" content=\"\u79cb\u8449\u3061\u3083\u3093\u306d\u308b\u3010\u5225\u9928\u3011\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Akiba.Chan.2021\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-05-05T12:15:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/p-horlix.net\/umamusume-phazor\/wp-content\/uploads\/2024\/05\/java-xml-sign-api-howtouse.png\" \/>\n\t<meta property=\"og:image:width\" content=\"900\" \/>\n\t<meta property=\"og:image:height\" content=\"449\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@AkibaChan3\" \/>\n<meta name=\"twitter:site\" content=\"@AkibaChan3\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u79cb\u8449\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"4\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/p-horlix.net\/umamusume-phazor\/#website\",\"url\":\"https:\/\/p-horlix.net\/umamusume-phazor\/\",\"name\":\"\u79cb\u8449\u3061\u3083\u3093\u306d\u308b\u3010\u5225\u9928\u3011\",\"description\":\"\u30a6\u30de\u5a18\u95a2\u9023\u306e\u30cd\u30bf\u304c\u591a\u3044\u3067\u3057\u3087\u3046\u304b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/p-horlix.net\/umamusume-phazor\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"ja\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/p-horlix.net\/umamusume-phazor\/?p=1558#primaryimage\",\"inLanguage\":\"ja\",\"url\":\"https:\/\/p-horlix.net\/umamusume-phazor\/wp-content\/uploads\/2024\/05\/java-xml-sign-api-howtouse.png\",\"contentUrl\":\"https:\/\/p-horlix.net\/umamusume-phazor\/wp-content\/uploads\/2024\/05\/java-xml-sign-api-howtouse.png\",\"width\":900,\"height\":449},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/p-horlix.net\/umamusume-phazor\/?p=1558#webpage\",\"url\":\"https:\/\/p-horlix.net\/umamusume-phazor\/?p=1558\",\"name\":\"Java XML \u7f72\u540d API \u306e\u4f7f\u3044\u65b9 -\u516c\u5f0f\u30b5\u30f3\u30d7\u30eb- | \u79cb\u8449\u3061\u3083\u3093\u306d\u308b\u3010\u5225\u9928\u3011\",\"isPartOf\":{\"@id\":\"https:\/\/p-horlix.net\/umamusume-phazor\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/p-horlix.net\/umamusume-phazor\/?p=1558#primaryimage\"},\"datePublished\":\"2024-05-05T12:15:31+00:00\",\"dateModified\":\"2024-05-05T12:15:31+00:00\",\"author\":{\"@id\":\"https:\/\/p-horlix.net\/umamusume-phazor\/#\/schema\/person\/6a538594548c2ec36955811c54070308\"},\"breadcrumb\":{\"@id\":\"https:\/\/p-horlix.net\/umamusume-phazor\/?p=1558#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/p-horlix.net\/umamusume-phazor\/?p=1558\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/p-horlix.net\/umamusume-phazor\/?p=1558#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"HOME\",\"item\":\"https:\/\/p-horlix.net\/umamusume-phazor\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java XML \u7f72\u540d API \u306e\u4f7f\u3044\u65b9 -\u516c\u5f0f\u30b5\u30f3\u30d7\u30eb-\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/p-horlix.net\/umamusume-phazor\/#\/schema\/person\/6a538594548c2ec36955811c54070308\",\"name\":\"\u79cb\u8449\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/p-horlix.net\/umamusume-phazor\/#personlogo\",\"inLanguage\":\"ja\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/7f6d2dae0b83715553d92792c84890d9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/7f6d2dae0b83715553d92792c84890d9?s=96&d=mm&r=g\",\"caption\":\"\u79cb\u8449\"},\"url\":\"https:\/\/p-horlix.net\/umamusume-phazor\/?author=3\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Java XML \u7f72\u540d API \u306e\u4f7f\u3044\u65b9 -\u516c\u5f0f\u30b5\u30f3\u30d7\u30eb- | \u79cb\u8449\u3061\u3083\u3093\u306d\u308b\u3010\u5225\u9928\u3011","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/p-horlix.net\/umamusume-phazor\/?p=1558","og_locale":"ja_JP","og_type":"article","og_title":"Java XML \u7f72\u540d API \u306e\u4f7f\u3044\u65b9 -\u516c\u5f0f\u30b5\u30f3\u30d7\u30eb- | \u79cb\u8449\u3061\u3083\u3093\u306d\u308b\u3010\u5225\u9928\u3011","og_description":"\u7f72\u540d\u7de8\u306e\u8a55\u5224\u304c\u826f\u3044\u3088\u3046\u306a\u306e\u3067\u3001\u6b21\u306f\u691c\u8a3c\uff08Validation\uff09\u7de8\u3002 \u3068\u601d\u3063\u305f\u306e\u3060\u304c\u3001\u30aa\u30e9\u30af\u30eb\u516c\u5f0f\u30b5\u30f3\u30d7\u30eb\u304c\u8208\u5473\u6df1\u304b\u3063\u305f\u306e\u3067\u518d\u63b2\u3002 \u30ec\u30d3\u30e5\u30fc\u3057\u3066\u307f\u308b\u3002 \u305d\u306e\u30b3\u30fc\u30c9\u306f\u3053\u3046\u3060\u3002 import javax.xml.crypto. &hellip; \"Java XML \u7f72\u540d API \u306e\u4f7f\u3044\u65b9 -\u516c\u5f0f\u30b5\u30f3\u30d7\u30eb-\" \u306e\u7d9a\u304d\u3092\u8aad\u3080","og_url":"https:\/\/p-horlix.net\/umamusume-phazor\/?p=1558","og_site_name":"\u79cb\u8449\u3061\u3083\u3093\u306d\u308b\u3010\u5225\u9928\u3011","article_publisher":"https:\/\/www.facebook.com\/Akiba.Chan.2021\/","article_published_time":"2024-05-05T12:15:31+00:00","og_image":[{"width":900,"height":449,"url":"https:\/\/p-horlix.net\/umamusume-phazor\/wp-content\/uploads\/2024\/05\/java-xml-sign-api-howtouse.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_creator":"@AkibaChan3","twitter_site":"@AkibaChan3","twitter_misc":{"\u57f7\u7b46\u8005":"\u79cb\u8449","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"4\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/p-horlix.net\/umamusume-phazor\/#website","url":"https:\/\/p-horlix.net\/umamusume-phazor\/","name":"\u79cb\u8449\u3061\u3083\u3093\u306d\u308b\u3010\u5225\u9928\u3011","description":"\u30a6\u30de\u5a18\u95a2\u9023\u306e\u30cd\u30bf\u304c\u591a\u3044\u3067\u3057\u3087\u3046\u304b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/p-horlix.net\/umamusume-phazor\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"ja"},{"@type":"ImageObject","@id":"https:\/\/p-horlix.net\/umamusume-phazor\/?p=1558#primaryimage","inLanguage":"ja","url":"https:\/\/p-horlix.net\/umamusume-phazor\/wp-content\/uploads\/2024\/05\/java-xml-sign-api-howtouse.png","contentUrl":"https:\/\/p-horlix.net\/umamusume-phazor\/wp-content\/uploads\/2024\/05\/java-xml-sign-api-howtouse.png","width":900,"height":449},{"@type":"WebPage","@id":"https:\/\/p-horlix.net\/umamusume-phazor\/?p=1558#webpage","url":"https:\/\/p-horlix.net\/umamusume-phazor\/?p=1558","name":"Java XML \u7f72\u540d API \u306e\u4f7f\u3044\u65b9 -\u516c\u5f0f\u30b5\u30f3\u30d7\u30eb- | \u79cb\u8449\u3061\u3083\u3093\u306d\u308b\u3010\u5225\u9928\u3011","isPartOf":{"@id":"https:\/\/p-horlix.net\/umamusume-phazor\/#website"},"primaryImageOfPage":{"@id":"https:\/\/p-horlix.net\/umamusume-phazor\/?p=1558#primaryimage"},"datePublished":"2024-05-05T12:15:31+00:00","dateModified":"2024-05-05T12:15:31+00:00","author":{"@id":"https:\/\/p-horlix.net\/umamusume-phazor\/#\/schema\/person\/6a538594548c2ec36955811c54070308"},"breadcrumb":{"@id":"https:\/\/p-horlix.net\/umamusume-phazor\/?p=1558#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/p-horlix.net\/umamusume-phazor\/?p=1558"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/p-horlix.net\/umamusume-phazor\/?p=1558#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"HOME","item":"https:\/\/p-horlix.net\/umamusume-phazor"},{"@type":"ListItem","position":2,"name":"Java XML \u7f72\u540d API \u306e\u4f7f\u3044\u65b9 -\u516c\u5f0f\u30b5\u30f3\u30d7\u30eb-"}]},{"@type":"Person","@id":"https:\/\/p-horlix.net\/umamusume-phazor\/#\/schema\/person\/6a538594548c2ec36955811c54070308","name":"\u79cb\u8449","image":{"@type":"ImageObject","@id":"https:\/\/p-horlix.net\/umamusume-phazor\/#personlogo","inLanguage":"ja","url":"https:\/\/secure.gravatar.com\/avatar\/7f6d2dae0b83715553d92792c84890d9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7f6d2dae0b83715553d92792c84890d9?s=96&d=mm&r=g","caption":"\u79cb\u8449"},"url":"https:\/\/p-horlix.net\/umamusume-phazor\/?author=3"}]}},"jetpack_featured_media_url":"https:\/\/p-horlix.net\/umamusume-phazor\/wp-content\/uploads\/2024\/05\/java-xml-sign-api-howtouse.png","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":275,"url":"https:\/\/p-horlix.net\/umamusume-phazor\/?p=275","url_meta":{"origin":1558,"position":0},"title":"\u30c7\u30d7\u30ed\u30a4\u4e0d\u8981?! WildFly \u3067\u3082 bootable jar \u304c\u4f5c\u308c\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u3089\u3057\u3044","date":"2022-09-12","format":false,"excerpt":"\u30ef\u30a4\u304c\u52dd\u624b\u306b JavaEE(JakartaEE) \u52e2\u306e\u30d5\u30e9\u30c3\u30b0\u30b7\u30c3\u30d7\u3068\u601d\u3044\u8fbc\u3093\u3067\u3044\u308b WildFly\u2026","rel":"","context":"Java","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/p-horlix.net\/umamusume-phazor\/wp-content\/uploads\/2022\/09\/wildfly-bootable-jar-900.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":87,"url":"https:\/\/p-horlix.net\/umamusume-phazor\/?p=87","url_meta":{"origin":1558,"position":1},"title":"Tomcat \u9b54\u6539\u9020 vs TomEE","date":"2022-08-17","format":false,"excerpt":"Tomcat \u9b54\u6539\u9020 Tomcat \u3067\u52d8\u9055\u3044\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u306e\u4e00\u3064\u306b \u300cJava EE \u5bfe\u5fdc\u30b5\u30fc\u30d0\u3067\u3042\u2026","rel":"","context":"\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/p-horlix.net\/umamusume-phazor\/wp-content\/uploads\/2022\/08\/tomcat-javaee-tomEE-1.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":1528,"url":"https:\/\/p-horlix.net\/umamusume-phazor\/?p=1528","url_meta":{"origin":1558,"position":2},"title":"Java XML \u7f72\u540d API \u306e\u4f7f\u3044\u65b9 -\u7f72\u540d-","date":"2024-05-03","format":false,"excerpt":"\u6e96\u5099 \u516c\u958b\u9375\u6697\u53f7\u65b9\u5f0f\u306b\u95a2\u3057\u3066\u6982\u5ff5\u7684\u3067\u3082\u3044\u3044\u304b\u3089\u3055\u3089\u3063\u3066\u304a\u304d\u307e\u3057\u3087\u3046\u3002 \u3053\u308c\u304c\u308f\u304b\u3063\u3066\u306a\u3044\u3068\u4f55\u3084\u3063\u3066\u3044\u2026","rel":"","context":"Java","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/p-horlix.net\/umamusume-phazor\/wp-content\/uploads\/2024\/05\/java-xml-sign-api-howtouse.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":1566,"url":"https:\/\/p-horlix.net\/umamusume-phazor\/?p=1566","url_meta":{"origin":1558,"position":3},"title":"Canonicalize XML in Java","date":"2024-05-09","format":false,"excerpt":"\u306f\u3058\u3081\u306b XML \u7f72\u540d\u306e\u524d\u306b\u6b63\u898f\u5316 canonicalization \u3092\u62bc\u3055\u3048\u3066\u304a\u304f\u3079\u304d\u3060\u3063\u305f\u306a\u3001\u3068\u2026","rel":"","context":"Java","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/p-horlix.net\/umamusume-phazor\/wp-content\/uploads\/2024\/05\/xml-canonicalization-java-900.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":388,"url":"https:\/\/p-horlix.net\/umamusume-phazor\/?p=388","url_meta":{"origin":1558,"position":4},"title":"JakartaEE 10 \u306b\u5099\u3048\u3088 -\u307e\u305a\u306f 9.1 \u306b\u79fb\u884c\u3057\u3066\u304a\u304f\u306e\u304c\u5409-","date":"2022-11-09","format":false,"excerpt":"\u6700\u8fd1\u306f\u3001\u30a6\u30a7\u30d6\u30a2\u30d7\u30ea\u306e\u985e\u306f\u3001\u610f\u8b58\u3057\u3066 JakartaEE \u306e\u304a\u4f5c\u6cd5\u3067\u66f8\u304f\u3088\u3046\u306b\u3057\u3066\u3044\u308b\u3002 \u3068\u3044\u3063\u3066\u3082\u2026","rel":"","context":"Java","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/p-horlix.net\/umamusume-phazor\/wp-content\/uploads\/2022\/09\/Java-JakartaEE-JAX_RS.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":623,"url":"https:\/\/p-horlix.net\/umamusume-phazor\/?p=623","url_meta":{"origin":1558,"position":5},"title":"Objective-C \u518d\u5165\u9580","date":"2023-01-20","format":false,"excerpt":"\u666e\u901a\u306b iPhone \u30a2\u30d7\u30ea\u3092\u4f7f\u3046\u306a\u3089 swift \u3067\u3044\u3044\u3093\u3060\u308d\u3046\u304c\u3001\u65e2\u5b58\u306e C\/C++ \u30e9\u30a4\u30d6\u30e9\u30ea\u2026","rel":"","context":"Objective-C","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/p-horlix.net\/umamusume-phazor\/wp-content\/uploads\/2023\/01\/objective-Cx900.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/p-horlix.net\/umamusume-phazor\/index.php?rest_route=\/wp\/v2\/posts\/1558"}],"collection":[{"href":"https:\/\/p-horlix.net\/umamusume-phazor\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/p-horlix.net\/umamusume-phazor\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/p-horlix.net\/umamusume-phazor\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/p-horlix.net\/umamusume-phazor\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1558"}],"version-history":[{"count":1,"href":"https:\/\/p-horlix.net\/umamusume-phazor\/index.php?rest_route=\/wp\/v2\/posts\/1558\/revisions"}],"predecessor-version":[{"id":1559,"href":"https:\/\/p-horlix.net\/umamusume-phazor\/index.php?rest_route=\/wp\/v2\/posts\/1558\/revisions\/1559"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/p-horlix.net\/umamusume-phazor\/index.php?rest_route=\/wp\/v2\/media\/1541"}],"wp:attachment":[{"href":"https:\/\/p-horlix.net\/umamusume-phazor\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1558"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/p-horlix.net\/umamusume-phazor\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1558"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/p-horlix.net\/umamusume-phazor\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1558"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}