{"id":11928,"date":"2019-10-22T14:46:44","date_gmt":"2019-10-22T05:46:44","guid":{"rendered":"https:\/\/www.eformsign.com\/kr\/support\/?post_type=manual_documentation&#038;p=11928"},"modified":"2020-12-15T13:42:09","modified_gmt":"2020-12-15T04:42:09","slug":"sample-key","status":"publish","type":"manual_documentation","link":"https:\/\/www.eformsign.com\/jp\/support\/documentation\/signature-generation-verification\/sample-key\/","title":{"rendered":"2.2.3 \u691c\u8a3c\u30c6\u30b9\u30c8\u7528\u306e\u30b5\u30f3\u30d7\u30eb\u30ad\u30fc"},"content":{"rendered":"\n<p>\u4ee5\u4e0b\u306e\u30ad\u30fc\u3067\u7f72\u540d\u304a\u3088\u3073\u691c\u8a3c\u30c6\u30b9\u30c8\u3092\u884c\u3063\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>String privateKeyHex = \"3041020100301306072a8648ce3d020106082a8648ce3d0301070427302502010104207eae51d5e4272ebb3fe2701d25026a8c2850965981fb2efa68c8db48b32ede07\";\nString publicKeyHex = \"3059301306072a8648ce3d020106082a8648ce3d030107034200045ac8a472cee38601e99b2a2d731c958e738eee1ee6aca28f6f5637f231e9a8444f3cb80d9ce6c5bace1d0e71167673ff81743e0ea811ebd999f2f314f1d0a676\";     \/\/private key      \nKeyFactory privateKeyFact = KeyFactory.getInstance(\"EC\");\nPKCS8EncodedKeySpec psks8KeySpec = new PKCS8EncodedKeySpec(new BigInteger(privateKeyHex,16).toByteArray());\nPrivateKey privateKey = privateKeyFact.generatePrivate(psks8KeySpec);\n \n\/\/signature\nString testData = \"{\\\"test\\\":\\\"signature test\\\"}\";\nSignature ecdsa = Signature.getInstance(\"SHA256withECDSA\");\necdsa.initSign(privateKey);\necdsa.update(testData.getBytes(\"UTF-8\"));\nString eformsign_signature = new BigInteger(ecdsa.sign()).toString(16);\nSystem.out.println(\"data : \"+testData);\nSystem.out.println(\"eformsign_signature : \"+eformsign_signature);\n \n\/\/public key\nKeyFactory publicKeyFact = KeyFactory.getInstance(\"EC\");\nX509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(new BigInteger(publicKeyHex,16).toByteArray());\nPublicKey publicKey = publicKeyFact.generatePublic(x509KeySpec);\n \n \n\/\/verify\nSignature signature = Signature.getInstance(\"SHA256withECDSA\");\nsignature.initVerify(publicKey);\nsignature.update(testData.getBytes(\"UTF-8\"));\nif(signature.verify(new BigInteger(eformsign_signature,16).toByteArray())){\n    \/\/verify success\n    System.out.println(\"verify success\");\n}else{\n    \/\/verify fail\n    System.out.println(\"verify fail\");\n}<\/code><\/pre>\n","protected":false},"author":5,"featured_media":0,"parent":11907,"menu_order":0,"template":"","manualdocumentationcategory":[16],"_links":{"self":[{"href":"https:\/\/www.eformsign.com\/jp\/support\/wp-json\/wp\/v2\/manual_documentation\/11928"}],"collection":[{"href":"https:\/\/www.eformsign.com\/jp\/support\/wp-json\/wp\/v2\/manual_documentation"}],"about":[{"href":"https:\/\/www.eformsign.com\/jp\/support\/wp-json\/wp\/v2\/types\/manual_documentation"}],"author":[{"embeddable":true,"href":"https:\/\/www.eformsign.com\/jp\/support\/wp-json\/wp\/v2\/users\/5"}],"version-history":[{"count":2,"href":"https:\/\/www.eformsign.com\/jp\/support\/wp-json\/wp\/v2\/manual_documentation\/11928\/revisions"}],"predecessor-version":[{"id":18367,"href":"https:\/\/www.eformsign.com\/jp\/support\/wp-json\/wp\/v2\/manual_documentation\/11928\/revisions\/18367"}],"up":[{"embeddable":true,"href":"https:\/\/www.eformsign.com\/jp\/support\/wp-json\/wp\/v2\/manual_documentation\/11907"}],"wp:attachment":[{"href":"https:\/\/www.eformsign.com\/jp\/support\/wp-json\/wp\/v2\/media?parent=11928"}],"wp:term":[{"taxonomy":"manualdocumentationcategory","embeddable":true,"href":"https:\/\/www.eformsign.com\/jp\/support\/wp-json\/wp\/v2\/manualdocumentationcategory?post=11928"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}