UNPKG

api-console-assets

Version:

This repo only exists to publish api console components to npm

106 lines (95 loc) 4.24 kB
<html> <head> <title>Sample JWS Signing With PKCS#1 private key</title> <script language="JavaScript" type="text/javascript" src="../jsrsasign-all-min.js"></script> <style type="text/css"> TD {vertical-align: top; border: solid 1px #000000; } </style> <script language="JavaScript" type="text/javascript"> function _genJWS() { var sHead = newline_toDos(document.form1.jwshead1.value); var head = KJUR.jws.JWS.readSafeJSONString(sHead); var sPayload = newline_toDos(document.form1.jwspayload1.value); var sPemPrvKey = document.form1.pemprvkey1.value; var jws = new KJUR.jws.JWS(); var sResult = null; try { prv = KEYUTIL.getKey(sPemPrvKey); sResult = KJUR.jws.JWS.sign(head.alg, sHead, sPayload, prv); document.form1.jwsgenerated1.value = sResult; } catch (ex) { alert("Error: " + ex); } } </script> </head> <body> <h1>Sample JWS Signing Application</h1> <p> Default values are cited from <a href="http://tools.ietf.org/html/draft-jones-json-web-signature-04#appendix-A.2" target="_blank"> "draft-jones-json-web-signature-04 Annex.2"</a>. </p> <form name="form1"> <table width="100%"> <tbody> <tr><td rowspan="3">Input</td><td>JWS Header</td><td colspan="2"> <textarea name="jwshead1" rows="3" cols="100">{"alg":"RS256"}</textarea></td></tr> <tr><td>JWS Payload</td><td colspan="2"> <textarea name="jwspayload1" rows="3" cols="100">{"iss":"joe", "exp":1300819380, "http://example.com/is_root":true}</textarea> </td></tr> <tr><td>Signing PKCS#1 RSA Private Key</td><td colspan="2"> <textarea name="pemprvkey1" rows="10" cols="80">-----BEGIN RSA PRIVATE KEY----- MIIEogIBAAKCAQEA4qiw8PWs7PpnnC2BUEoDRcwXF8pq8XT1/3Hc3cuUJwX/otNe fr/Bomr3dtM0ERLN3DrepCXvuzEU5FcJVDUB3sI+pFtjjLBXD/zJmuL3Afg91J9p 79+Dm+43cR6wuKywVJx5DJIdswF6oQDDzhwu89d2V5x02aXB9LqdXkPwiO0eR5s/ xHXgASl+hqDdVL9hLod3iGa9nV7cElCbcl8UVXNPJnQAfaiKazF+hCdl/syrIh0K CZ5opggsTJibo8qFXBmG4PkT5YbhHE11wYKILwZFSvZ9iddRPQK3CtgFiBnXbVwU 5t67tn9pMizHgypgsfBoeoyBrpTuc4egSCpjsQIDAQABAoIBAF2sU/wxvHbwAhQE pnXVMMcO0thtOodxzBz3JM2xThhWnVDgxCPkAhWq2X0NSm5n9BY5ajwyxYH6heTc p6lagtxaMONiNaE2W7TqxzMw696vhnYyL+kH2e9+owEoKucXz4QYatqsJIQPb2vM 0h+DfFAgUvNgYNZ2b9NBsLn9oBImDfYueHyqpRGTdX5urEVtmQz029zaC+jFc7BK Y6qBRSTwFwnVgE+Td8UgdrO3JQ/0Iwk/lkphnhls/BYvdNC5O8oEppozNVmMV8jm 61K+agOh1KD8ky60iQFjo3VdFpUjI+W0+sYiYpDb4+Z9OLOTK/5J2EBAGim9siyd gHspx+UCgYEA9+t5Rs95hG9Q+6mXn95hYduPoxdFCIFhbGl6GBIGLyHUdD8vmgwP dHo7Y0hnK0NyXfue0iFBYD94/fuUe7GvcXib93heJlvPx9ykEZoq9DZnhPFBlgIE SGeD8hClazcr9O99Fmg3e7NyTuVou+CIublWWlFyN36iamP3a08pChsCgYEA6gvT pi/ZkYI1JZqxXsTwzAsR1VBwYslZoicwGNjRzhvuqmqwNvK17dnSQfIrsC2VnG2E UbE5EIAWbibdoL4hWUpPx5Tl096OjC3qBR6okAxbVtVEY7Rmv7J9RwriXhtD1DYp eBvo3eQonApFkfI8Lr2kuKGIgwzkZ72QLXsKJiMCgYBZXBCci0/bglwIObqjLv6e zQra2BpT1H6PGv2dC3IbLvBq7hN0TQCNFTmusXwuReNFKNq4FrB/xqEPusxsQUFh fv2Il2QoI1OjUE364jy1RZ7Odj8TmKp+hoEykPluybYYVPIbT3kgJy/+bAXyIh5m Av2zFEQ86HIWMu4NSb0bHQKBgETEZNOXi52tXGBIK4Vk6DuLpRnAIMVl0+hJC2DB lCOzIVUBM/VxKvNP5O9rcFq7ihIEO7SlFdc7S1viH4xzUOkjZH2Hyl+OLOQTOYd3 kp+AgfXpg8an4ujAUP7mu8xaxns7zsNzr+BCgYwXmIlhWz2Aiz2UeL/IsfOpRwuV 801xAoGADQB84MJe/X8xSUZQzpn2KP/yZ7C517qDJjComGe3mjVxTIT5XAaa1tLy T4mvpSeYDJkBD8Hxr3fB1YNDWNbgwrNPGZnUTBNhxIsNLPnV8WySiW57LqVXlggH vjFmyDdU5Hh6ma4q+BeAqbXZSJz0cfkBcBLCSe2gIJ/QJ3YJVQI= -----END RSA PRIVATE KEY-----</textarea> </td></tr> <tr><td colspan="4"> <input type="button" value="Generate JWS Signature&darr;" onClick="_genJWS();"/> </td></tr> <tr><td colspan="2">Output JWS Signature</td><td colspan="2"> <textarea name="jwsgenerated1" cols="100" rows="6" readonly></textarea> </td></tr> </tbody> </table> </form> <h3>USAGE</h3> <ol> <li>Just press "Generate JWS Signature" button.</li> <li>You can specify signature algorithm name such es "RS256"(SHA256withRSA) or "RS512"(SHA512withRSA). If it isn't un-supported value, it will raise an error.</li> <li>If malformed JWS Head is specified, it will raise an error.</li> <li>As for JWS signature verification, please see <a href="sample_verify2.html">this sample</a>.</li> </ol> <center> Copyright &copy; 2012-2016 Kenji Urushima, All Rights Reserved. </center> <div align="right"> <a href="index.html">Go back to index</a> </div> </body> </html>