generateJWKS utility

The generateJWKS utility generates a JSON Web Key in JSON Web Key Set (JWKS) format. This JWKS can be configured for the Transaction server to sign JSON Web Tokens (JWT) for bearer authentication.

Usage

The generateJWKS.sh utility script is available on both HCL Commerce production and HCL Commerce Developer environments with the same parameter usage.

generateJWKS.sh kID
HCL Commerce Developer
generateJWKS.bat kID
Where:
kID
The key ID of the JWKS. For example, hcl-com-auth-key.

Example

  • Within a production environment:
    From the Linuxutilities_root/bin directory, run the utility in a command prompt:
    • LinuxgenerateJWKS.sh k1
  • HCL Commerce DeveloperWithin a HCL Commerce Developer environment:
    From the Windowsutilities_root\bin directory, run the utility in a command prompt:
    • WindowsgenerateJWKS.bat k1

The command output will generate an output similar to the following:

=== Generated JWKS === 

Json format: 
{"keys":[{"kty":"RSA","kid":"k1","n":"o6wWq22Ltyq37jv_C4IptgOehpUI4ihTqaqTAq1BW7OSLH7ZgVugbiA4548XzSUzb_xCoboUoy5Lx3ZFTxYGGtQM5oI3dhtLdc3oLlUmI9ZHEBpo_MTLBM7qLWuTol3ulSAebFYmMM0BEojA0SGWiT1nBoM5MvqusxfwSDgqMykkIn0829fS9lM14XQk9fTvgizSd2hdadGVAg_3TnT3yl67_ReCMuB9yT_NfS-qSm7Qr8T4Qt3LVNcAO6bqn_Xp-mcpIFJQvXk_5i8EGOB56WyDeHnlAyNIrChUqYM64Vyh6NGDSDslVnfgYeFFY8D9Oct5O_9HjhU3dIt6HBgV9w","e":"AQAB","d":"m-kJK0HN7qy9yy3RtUfHrf_imbcMYEsj7yJyqgEaml0DaGlpjiUXPPBq5IHVnXDLf-igHGki0ZL_UsEiIsULCbFnnIj8hgBYMJ71hnVMQKUUyo0t52MbNbhZMO0iFHBAHkQbVv31oVUXqW0lp9HEEXWxV23XJe3QTwAFvvXplRMW9_E7sfx-Zszfa8zYM9rr40GdUXkFx5JSYi258bnmIkV8EbsZWX1fFzoXzH1cRly6nd4Kcjo-jaBHiv0QMIBqvxOvdKETjHlkRU7RjLiX00OGrbyLWHsDAJVMZILPazrdd3t360_khCQIQnulEm4a_2R0bL8UlV0yRwRlXQ6ygQ","p":"8yS-sw6CPQkAkfXYhvKIRLqz3xCl3ffLJYj75reHNknLG2gFKUxNk8lwPXh5WBCs92fMF2DYpGqWiJ88123A3R5LIGpereXcBmE5Mu9HP-IXotFTlbvsrpzVghNXoQD4xPjMRo0dB-bYIILOfx8pMIiuuMorFPYVRD2-BjuMMsE","q":"rFOZVJU1NIwpIvsHhJHtCxpZS6KJqnA5ewnzON1Hv96XBW7aU-2i6Il3DLzPgzNvGgYkQQFc25g9RanzxjybrSgXyrDsD7ujxCr_5rFd3QF7ie5edJ9t5a6HxTksvLxuJQaWLnpaRKvGOnqcmGfnK5AI2AKjMYNxsQU28dKpTrc","dp":"QaQw66xGEu5EPiOOEliV22BAQT-AWB2WtYp230G6-jgP4lVB13VnGDfw2leVAuZ1m9Fk8wbNVg4El9vNlCdoQwnzpEuzReVhckN7KroYlTGXyfgTRcBXVIi4x4YrSSc3Ag5dL8rXBJQY0yYdU4p5F0Y_TVofKWiKM0Mr8wjOf8E","dq":"XpzvnF7nfVhO5aPJtuGfse7fhAVTbD59cK4_2cK0OAXwCM2aFWZtgRqoQFgR3skIgNNKaF5lKzPkwDDVZMu19VYD6gdFNEYjXfr10SUkkcjUmSBEv-cgoXA3nvMLOvyBxNZe8lm-4eElzsmu3IZ_h41nLaIVE4RFkZl5V0AAMPU","qi":"S7xeh0ArcVX6aAkS1tPsOVA4UFzRHJXQp3CCLBQT3o3bUQoOQ4tjDf6oA_zVt-sU8MqxELAw3hmAfFDzPCY2QfLaF6Azjdj_sUKi9z8ekigttzSs9aYFRnTbBnYsJUwwMH8NCYj34sTX9U67UufNzgfHrhK1JQjAIl2Sf0briJQ"}]} 

Base64 format with '{base64}' prefix: 
{base64}eyJrZXlzIjpbeyJrdHkiOiJSU0EiLCJraWQiOiJrMSIsIm4iOiJvNndXcTIyTHR5cTM3anZfQzRJcHRnT2VocFVJNGloVHFhcVRBcTFCVzdPU0xIN1pnVnVnYmlBNDU0OFh6U1V6Yl94Q29ib1VveTVMeDNaRlR4WUdHdFFNNW9JM2RodExkYzNvTGxVbUk5WkhFQnBvX01UTEJNN3FMV3VUb2wzdWxTQWViRlltTU0wQkVvakEwU0dXaVQxbkJvTTVNdnF1c3hmd1NEZ3FNeWtrSW4wODI5ZlM5bE0xNFhRazlmVHZnaXpTZDJoZGFkR1ZBZ18zVG5UM3lsNjdfUmVDTXVCOXlUX05mUy1xU203UXI4VDRRdDNMVk5jQU82YnFuX1hwLW1jcElGSlF2WGtfNWk4RUdPQjU2V3lEZUhubEF5TklyQ2hVcVlNNjRWeWg2TkdEU0RzbFZuZmdZZUZGWThEOU9jdDVPXzlIamhVM2RJdDZIQmdWOXciLCJlIjoiQVFBQiIsImQiOiJtLWtKSzBITjdxeTl5eTNSdFVmSHJmX2ltYmNNWUVzajd5SnlxZ0VhbWwwRGFHbHBqaVVYUFBCcTVJSFZuWERMZi1pZ0hHa2kwWkxfVXNFaUlzVUxDYkZubklqOGhnQllNSjcxaG5WTVFLVVV5bzB0NTJNYk5iaFpNTzBpRkhCQUhrUWJWdjMxb1ZVWHFXMGxwOUhFRVhXeFYyM1hKZTNRVHdBRnZ2WHBsUk1XOV9FN3NmeC1ac3pmYTh6WU05cnI0MEdkVVhrRng1SlNZaTI1OGJubUlrVjhFYnNaV1gxZkZ6b1h6SDFjUmx5Nm5kNEtjam8tamFCSGl2MFFNSUJxdnhPdmRLRVRqSGxrUlU3UmpMaVgwME9HcmJ5TFdIc0RBSlZNWklMUGF6cmRkM3QzNjBfa2hDUUlRbnVsRW00YV8yUjBiTDhVbFYweVJ3UmxYUTZ5Z1EiLCJwIjoiOHlTLXN3NkNQUWtBa2ZYWWh2S0lSTHF6M3hDbDNmZkxKWWo3NXJlSE5rbkxHMmdGS1V4Tms4bHdQWGg1V0JDczkyZk1GMkRZcEdxV2lKODgxMjNBM1I1TElHcGVyZVhjQm1FNU11OUhQLUlYb3RGVGxidnNycHpWZ2hOWG9RRDR4UGpNUm8wZEItYllJSUxPZng4cE1JaXV1TW9yRlBZVlJEMi1CanVNTXNFIiwicSI6InJGT1pWSlUxTkl3cEl2c0hoSkh0Q3hwWlM2S0pxbkE1ZXduek9OMUh2OTZYQlc3YVUtMmk2SWwzREx6UGd6TnZHZ1lrUVFGYzI1ZzlSYW56eGp5YnJTZ1h5ckRzRDd1anhDcl81ckZkM1FGN2llNWVkSjl0NWE2SHhUa3N2THh1SlFhV0xucGFSS3ZHT25xY21HZm5LNUFJMkFLak1ZTnhzUVUyOGRLcFRyYyIsImRwIjoiUWFRdzY2eEdFdTVFUGlPT0VsaVYyMkJBUVQtQVdCMld0WXAyMzBHNi1qZ1A0bFZCMTNWbkdEZncybGVWQXVaMW05Rms4d2JOVmc0RWw5dk5sQ2RvUXduenBFdXpSZVZoY2tON0tyb1lsVEdYeWZnVFJjQlhWSWk0eDRZclNTYzNBZzVkTDhyWEJKUVkweVlkVTRwNUYwWV9UVm9mS1dpS00wTXI4d2pPZjhFIiwiZHEiOiJYcHp2bkY3bmZWaE81YVBKdHVHZnNlN2ZoQVZUYkQ1OWNLNF8yY0swT0FYd0NNMmFGV1p0Z1Jxb1FGZ1Izc2tJZ05OS2FGNWxLelBrd0REVlpNdTE5VllENmdkRk5FWWpYZnIxMFNVa2tjalVtU0JFdi1jZ29YQTNudk1MT3Z5QnhOWmU4bG0tNGVFbHpzbXUzSVpfaDQxbkxhSVZFNFJGa1psNVYwQUFNUFUiLCJxaSI6IlM3eGVoMEFyY1ZYNmFBa1MxdFBzT1ZBNFVGelJISlhRcDNDQ0xCUVQzbzNiVVFvT1E0dGpEZjZvQV96VnQtc1U4TXF4RUxBdzNobUFmRkR6UENZMlFmTGFGNkF6amRqX3NVS2k5ejhla2lndHR6U3M5YVlGUm5UYkJuWXNKVXd3TUg4TkNZajM0c1RYOVU2N1V1Zk56Z2ZIcmhLMUpRakFJbDJTZjBicmlKUSJ9XX0= 

The base64 string with {base64} prefix can be used to set the JWKS environment variable when deploying the Transaction server.