Created
March 13, 2023 15:34
-
-
Save ezekg/ff9a11e47ddc6f67b9f1cb49f4b2e4bc to your computer and use it in GitHub Desktop.
How to verify a signed and encrypted license file using Node.js (see https://keygen.sh)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import * as crypto from 'crypto' | |
const PUBLIC_KEY = 'MCowBQYDK2VwAyEA6GAeSLaTg7pSAkX9B5cemD0G0ixCV8/YIwRgFHnO54g=' | |
const LICENSE_KEY = '988214-879010-F1185E-B37E91-E53AF5-V3' | |
const LICENSE_FILE = `-----BEGIN LICENSE FILE----- | |
eyJlbmMiOiJXV0tacURadUtaMlVHcFZ4WDdabnJWL2VwbnpsemxjWnU4WXo4 | |
TlMzTEk2S25DL3RiUVhQRkQ3N2FOSWRCY1IvK2ZSYU5BZjdrZEVneGhidFA3 | |
b1diTTBlZGI1dFhxVHNIaFZSKzBZcUhqUXpNT2UxOGVuT3ROb29reW9PWUFx | |
bGJHMFNpb0QzbFc2T2lvTUFjZEwxa1d3MGd5OXBrV09lR05xV3o5T0tHaXZT | |
UWhOcHZpT005MmorQW1nSjNjMGVDL0dyNmh1ZzJrbVJFSHF6UlVPNUN3aTM3 | |
ekN0ZHRzZElPZGhQUUViMkVLSXV6NE5ucy82cmZZcThjRVJFb2RaMG15cHJM | |
ZUlPbWIvYjhQeXZybm93c0oydGt3OGJteVBqMzRNMytQQ0lFbThFUDkyb09r | |
RkhDRFhOTkNqVFVHTXdPck9VZWlRL1MzZVp3bWtzMUIxdjJxUGNyOUk1amVl | |
d1hSKzNGVVhOTk40aVpjMGFnWGJSNG8yTUNDRmgrcysyZktHN2dCL2g2dlRB | |
dWQ1ME84RzBqWUJrWXZrNmpicCtXUnh0dWtzbHp3ajNZWFBaUWtKbm5QdzhQ | |
QVRjM2VFN0FjYWpaZWEwNU54RVZQcnB5eCtTcnFaQW50NkpoaW9peFdEbDlJ | |
dlVWMVd1T0hJeFlRSmZWZUZOOWpKOExkbGxnWFBoem1JdGE2OGozT0MwckJl | |
ODZCSkxiNDRuOGd4Mnk5eU1TUFAyOTNCbVpXeU1lQ0FCRk8wQnpVN0RKWUlw | |
NlhFOGRnaElrQTY2T3pBcmdVMDREWE02cEtuejZ5eGFDOUtoU3o5bzdOY0dQ | |
U3ExM0dyVDJNMHhzbnFzcjNqY3JxV3l5Wk9oY1dEeUFZSjFQTUdOV1RJT0JX | |
QURQenhzZFJjVWZlOWdKVXh3dVNsdWlYRlk0dnpsR0gzb2t5c3ZweEVNSksw | |
WDVUNG9DMkh2OXhLaTJISTRxekNlR0gxSmt3UytBY29RQVdKamtjM01hSXRy | |
WkhrQVh0cDFFWmZKMFYwYXVsOVkwQXVrTnkzaFBveVRIbW1OVG4vWmowUnl2 | |
aTQ5TFN4ZEwzL21Nc0FXU2hvSU91ZzhoMEg0UW44RDNYb0lydkN3N1JQTm1y | |
d2wyNXFsWVBrMWhCMStYKzVrS2FzUHMzQS9GazF6aFU0WStrZzdKOFRsZ3E0 | |
UURUK09hd1BDb1BKV25UV2lBNlpLV0pJTmlvV2doT0dGbXFKMXRpWDIyUk9m | |
RzlhTUswTmFNclVCd0xuNjRJLzVkNHBnUWNmRXdUVi9tbHBWOWRkQ2h3MEw3 | |
K0ppOFNaTG95TnhickFtVE9YMjNUeGp4R3hoMkRPS3Z6YUZ5VkdaSThqVEZJ | |
RDlHaEcraWQ1WnpjcGgzMlhrbHR2TnhoVVNmVHEvRUdJaGx0dkNobDYvcGRR | |
NWFtTTFTOTd1RU1XOWZVVE8vNTNURlpFY3hOWHFwZllxcFV1SUVoR05OQ3Zj | |
VkdCWHlrYm5XSkNDL3gyMFFnemdCSDZNUWJUZG9tMVZUQTdyZkNDTlIydENP | |
WkUxZkV1SHlTRHFQK3M1TFRPNzNhN082N0d6Mks2dnRmOWJVRXRvb0lldkhi | |
OTAzd3ViQytyclg4RmVvUEZBUXBHREU4dzFvUitNUm5mak5GNzV1YUxOamww | |
Lyt0OGJkWkxoUU9DOENzR21rRWFRNWZBOVVFcTdTQmU4Z3R4c2JrSGZ2ckNx | |
aG50Q2FHR1hmSUsxRms3cFFyZ1FaUG5Sc0RSRkE3aHJHNWQvdU9EbHM5U01m | |
cTV6eVE4ZE5JenVrV1pxZDBNWlVxeEtQWkpaempQRk1abHpRK1VtYkxZQWJs | |
MnpsYVFoYnVQY0hwMkFXTGZxeDM2SU83bzdnK0VwNittYWlPbVlTTmFwaWJn | |
RzNFRENIRTFnQjhBQ1VZWXAxRjkyNjUyVU9EUVhBQ2lzQThodEVHMURQbk9X | |
TjRkNzNiZXB5QVltT3I0TnhOSWtSSGIzbTVyaFdUNm1SbFRyWXlnUkJyWTVp | |
bmtxZGR5aEo5ck9RejJhMjdWQk5sS2dsUzJma2txZDRoSGxlTlV5NC9STW1N | |
WUU4WnliOHJJYkhmSlpSbFBvTldpMUg1MzJqSXQ4S2hOVGpPT1FHcGxaQVlD | |
Ymx2VWIyVlNRWG1rQ3NYWFRMclJGK2sxUW1LTnd4YjgzVEFiWXl4ZnhjV3Js | |
YmNWL3FpQVBNeTRzZ2VDM2NXWWg0S3d4NHhNcmhkTlJzVGMwTnJ2U01WSks5 | |
TjhsRWxvdEVIUm9sc2hqaVlzQjJGVi9rZjRyeFpKRGJBKzhWL1JPSmFoV09n | |
Y3N3bTlnOHhCc1VWcmxrYm9CalFFRDRSK3pxV3o5OS9QK3dyazN6bjVNZWxm | |
RU5zVTByZldFL0dsa3dxNkdtektqS0g5N2U2dWcwOThZRUpTTlNnUVFxWFRS | |
M0RqSFRDaUtGNkk5M2ovYlNrMzBaSkNhN3g3WGJPMjhtNWNNNUF6d3hMTkE2 | |
RjhWdDBOZjl2eWRjeFg0WGlzUHZGV2xzQ2N3NDIxR2JTaHF5eDRrYTV3c3ND | |
QU5TYk1oeEo1anc3OGZhdGpsYmNDbXpkTllwQzZwb2lPa1RXc2orL0syV1Zv | |
Q1AwZXVWNWZKOTBIK3UzTVZ1aFRweEpLYXF3Q0Ivck9obkNiMjVycC9OTnVr | |
VmFMZC8wVE9uQ2lPbHBhZUw1OFhLWmV0UldlK0JPblVnbjdBL3k3Nk1pRGJN | |
eWhSUHlBaUZFT2VLM1NmZlZ0TjB3RDhWTWN5c2JvV1lZZmNQUVJoTzBhQUly | |
S3YvT0JjckhVTXFRYXFOOXNyWjA0ZlI5Q2lKM2swdGxsenlWUHZ4eHViWk9a | |
RSsyVDY0M3RqSmlZVXhKSlA1U1RXUVp1alZMTjNpbGtWOGZEcjFFTzNjd2Nn | |
SVFZTmlwVGtrWGlxVmtkaE12SmZ0VmRReGdLajI2VWVDdENvVm9ZOFNDT0Vi | |
UllyTmxKd09veHBVL1NhMjBHeUlhMzJPdWMwaXZTQkNvdHoybzdjRkhwT3Yx | |
YktHeFE3QnU0TjAwVEd4Y2FHc3Y1ZVZnbDVMVjRobDRRMjNyOCt1ekZEU0Vn | |
L2I5aU1EYzd1UTNVNzRCM1NEcHJLU3lSTkFaYjhsMUVEbmlGOGpKWWd6MWQ5 | |
UjlSY0d0Q0tnZ2UxV3BOZVJlM1JJb01mcGFQTDVtZ1BOd0JzcnNSUUVGd3NY | |
VXRhZE1PNjVqZWlqVVgxd2tMbUdUOGduVWZDcTlFRWw0dGNONVVqSnUvMVp5 | |
UXpNUWFkNGZnNHFRMDFVdUQwVDZnNUhKM1NXNjc0MXBWUWllVXA0SVptbGRp | |
aUM5dHBDalFVV08zelZObXBRclVmdnhUbnFPVXpxYWc2b0wzKzNxZm1UL0s2 | |
MjNYTzhVVnJ1dUVTaHlUdzJnNVpGNG9xNU11YVNXbVJmdjl4YkFQMTI2VEdk | |
N2pXRDk1U0dxdm5tNU9Gbit2d0pRdXV4SWcrRWhwUjdOZWpWbFpCckZLN0hF | |
ZzkyT2loRDRyRVQ3U0RuOVNJWGVwY2Z3eHVwN0JMclJMdXdXQSswS3pnZlRH | |
dWFGSUczcTFwMDU0VkdtOXZjVDI5MWl1Wi9EM0p2SGpNWUpxcHIxSWROU1Fo | |
OCs3MDRyd3FvUVRybXk3NXZjb2pFaGRwZ1dydVJmcGFHUm9yUlBnSS9RTnpD | |
a0VBczhkbm9VbG91OGZ0N2VzS0dRTjFQQkJxZ1ZFK3k2VXZYS0JnSDJrUVlF | |
QkRyZjRJajRSclFWaWFCMy9PdmIyOGpTTmg4QXJPUWdoVmNYWUtQQ1VCL2dF | |
TnFCSGp0K3RCY0VZb2ZReThIVTQxSTdNTHZjT0U3SEtYMCtiSXBUbHlSc0xm | |
cG83NTF2VnB2VEJnb2Fva0xNcUxhNndTSEM4MFpVUWJaQko0MC92TG5VVDBn | |
L0F6OTROZ21ScEZXUVJkbHkwNUVUdTN4VTN5SW1FWUlDUE1nVGFISUFsc2ho | |
c2FxcTR6eXp6bjFsdUw4eXpkb0NGKzZvYUpsNWJ0SXg2VnllMUV5Y2Y0eWps | |
VWwrM0VUakJ3aHNTQzdRMmEyajVEOWtrampkZEhvZE1KQ3R0Rit2YXJvQzRY | |
cmg2N1VnS1lNeFFOZ0ZMcXVBa0JrbHh4dDd1elB6TWtjMEVkcEdYQzRGVU9i | |
aytVL1dyTFFUaWNybUNwL1hjNkkvREtteXFlNWg1VHcraE9PNkdBZ1pzWHFa | |
b1Uvc2x2WFhiOW1pVHdKVW9KVDQ3YjdQaXlZbmtjUGhFcW94aExlemhTWUZB | |
ZjM1ZXNYYVZjZDRpU2hKMGZxaDc2bnB0aWc4WTZvVFI1N1Ewa1FGQnBzNUJU | |
eER0VjNkcHQzODI0eTVacE4rTTBpU2IvNTJQcnNsc3JCcTdyQTM5SXJJQ1Ir | |
RGxwcldNNHpDOU5ITHMvd3ZUNlRBdER5ZmtvY1Q4Q2M2dXRNVTd2U2NmTmta | |
YVdsbjVjaDNPcmV3K2k3dGl0WXlVMkNQWVFna202bkhVL3dtblIvNEZRSEVh | |
YmhybFFLZytxTmppRW9oaWEvNGFMWnlwTnlxV0pmQ0F6aTg1bHB5dnZBT2F3 | |
dk81UDJGVXNkZlNUME56RDdMVkh6azJRT0lKdzVMMHBpRWRQRWNjcDVaRWtB | |
WjBJRWRzeWlnV1hYdys5ZnFmSkVZN1NWYkh2ZTZhbFB2M0tNdFlhK25lQ3ds | |
MkJVeWFrdXEvczRQSVYvTElNZVlRUk9aM004VlpVUXg1M3pxWWRaTm5sQkxT | |
TzAxRXAxOGpYelVLZml3N0hGME5iSCtvc2k2RlBHSTFmRGpNRTl5SmgyallB | |
RThQWFcrWG8zeE5DUUhFYUxqdXJ1dTIxMjR2dFNmNWN5bENyVk4va3VRUTFI | |
VXRyaGpTNG4rV2JLbkhHb1B6eUhlekEvcy90Y1FtR05aZDlBT2ZYYjk4STdS | |
SHdNL2dncWMrczIycjVLdTNxTFVBR3I0NzNucERJZkp3bWs3MnN6QWF1aVZU | |
aUJiRFdPYXdjc2h5MysvZFY3RXRHckJ3RDJtNGZZMWFsblhMRXd3M0RjSWlv | |
WnJrelE4THlnVW1ONUs3K2FzbnBabkYzY2I5M1ZkeTJ6Y1NqY09uUnZGUDcr | |
SGhsQzFMUE81azdwd3llajVxSkNHTlFrVlJRU25hMSswRU1NZXcyak9TNWJI | |
cDk2WVd5ZlZ0VkIrQW9LMDBmWUhiWVdWL2dQd1dwekpKeWxNc2ZiOWNEVmlQ | |
bWZxM3ZtK0lhRWJ1N0tTSDZGVG1idnlEdTkxaWdQZVpkeGhjbUdsT2tYQUtZ | |
aEw1QTZkMGVrV1ZaRnExT2FxYTllN2FxeXorcFhDSHBHUURiYzZoZFEwcy9T | |
QlNSZDRhUGhNSTQwdnZaUHJDZ0JkOTlCS0UzM2Naemg4NHJkWnM3dWJYVUpX | |
dk91RVkrVW1rb0F0bGdxL2Z5am8wNmhCb21maWN1dStNcmdXb3dkb2RHczVW | |
NjZGMzBoTWx5S1BIT3VWMDNLWHdGTDRCZys0aGhQbUU2RFkzSFVZYUlaVUtG | |
T1VySkloc2EvbWRTUVZURmhKRy8rMGY0MGZYVnlsdFppZWt2WXQySmdhMVN4 | |
Mk0rUFdWWi9tVFVsRkxEWGJpTmZrUGkwUXYvQmEzcEkzaXhwVllsNDV0bUZP | |
Ukt2ZXV6K1lWWWpMSkt5Zms3VFdFdWF6NmhKL3hqRkZVeEcxTUw3WlI1U1g5 | |
UEVqQXY2NS8vZVZ3RGxMUzdIL0toUE5FYldpUkpueFBtdkM2bnlLSWVXZ1c4 | |
eDhudVllNUdNWkFkenFHaTFaVDA3LzhYa21NZjFwUEt0c1ZrVGJHSjl4TkJz | |
UUdGOE1HQnI5TEtSWXVpbENZSm1FeVJhMVg0MGhmM0lIU0hhOUcySE9wVCtv | |
OU1wSEJhdXdtN2tYeWdPc0ZtZm00dk10RVJia1RtWUFCU0Q2SXgwayswTDBS | |
QkdZcWxPVjcxdjBmWEN1b3U3dldVNVVhK09wa3hoUWhyTWhiclFsc0NNVEFM | |
aTVwOERiWHRuT1F0YXMxbHlkVHV3Qy9lK0tjMnVLazhueW9sL2RwUFV0U0Zj | |
UTFjdjJNRUNtckQ2NHprdW9yeGlJT3czNkYxSm9ucUFYWFdaTU9mbWtoMlk0 | |
UEdZZ0NONWtreTZRcG15VjVwaStldTN4NjVrb01Jd0NhdGhPNGpieS8rODBQ | |
S1c2bXdLRkZGZm1NdGNWV2tQYUFqWm43clJpb3lFbU5Tak94S1djZ01YWkpx | |
dXNUZVdyKzZaMmF2R1hUVm50UWQvMWRmbmhqSEZFSkcrbnJPNkhGL0paRGs1 | |
N2NHUmZLMEVhUEY0dllDeE5vQk1ZNWlGT0JiSEUzSFV3SnBxMnFITG9Ka3pS | |
cHF1MzBJeEhCa0ZMYkNGMjR2OVBBTGFhZEdTVHArcWxoT2o4TVJ0c3hETXFp | |
ODA1MGdIRUF4am1VSHJRNGJXbGw5UnRpU2dvMXI3RnNRM1ZuMVY5QkMrQnNR | |
SFBPcmF5L2Y4NFIyK0JaSW1QdzBqSmh5Rk1PQSt4ZjExUmhNamJqVktrRVJH | |
czI0TEFESTk5aHFNUzRxTGhwblVoZTE3cy9pTnVHWlcrQ0FrRUhTeVJKTjJI | |
MjFVY2tsK3J2cGVoTkg1c2ozc1dxNzRpWEJsTXBLeGs3NGF1bVNkb2ZDTzFI | |
cmljajFQQ2d3ekt5ZUk1TEJpOTRHbUdMc0dkNkdEVmc0ZE85NDNDeGJhRGxh | |
NGhKUkJiOEJJSGpZTEo4NCt3TG03MnMzcHNqVTgvV3hyaEFMNFFOUXZTMjgr | |
dTM1enlkRDE5YzBBRFl0Wno2OUF1UnJKUWFYM0ZiVVl3Ukw3YnhrV0xjVDMr | |
eHJKQ0pVUlNmam1iQlM2NGtoK3ZyVndtTUw0M1p3bVlRMDgzbVQxS1ZmYVZr | |
T1hVM1dqVW1qcFJXNERoMmFTSHlMd3hRMVQxa2RDN1E4cjhtM0pmOWRTLzBm | |
RXhOUWg4V1F6QTBKRFJDaU5GWmxNNmVIc01hcE53alIxWUkyWFVFa3hubWxt | |
cTF3OEVleUJBYys5Tm8yN21SNjMrbjh1dmxOdE1VT0JOWS9PUVBKaDBLdGdl | |
OHM5c2pzZ096bmFJb1ZsUmorTUdDVmo2eG5mL25HWHgrQjJyU0FXVy9oTTNH | |
RTVGNDNjclNRRlpnU1A1S2xTV2ozb001aEx5MUxsOEdYNHdyTjVtNEZKL1BP | |
Q1U5ZnE1cW10R0RablNrTXRPcnlGOTZrVjBVT3dLazljWGRNMzNEd0Jha2hE | |
Y2JLeW5xdW40UWlRRzJWNHM0RG9nampkbUZ0Rmh5TXRVcDBrMmtISU5PVkoz | |
OEdTMUpUZlNNOHUzZXlVdkxIZGJvbUNZN3RlMllzLzcyOVdxcldyTE4yVjBr | |
ZHcvVTVpcEI1Tzg2cG5MQ0VoUUw1OFJWTjVQNnJHZjIvZE9QYUJxYXNNRFB1 | |
eWNpN1ZuVU5NTXhrRk9QODZCbnh0YlUzUHZydFZzdW5RYXhDcFlHcFI2Z1l1 | |
Y2Uxd0g3Yk1la2dzMjk0TTdpc0VLQ2l1dk9ibFpCTklzTHVEZjNIUDk4TTBu | |
UmdRNEhBRGtFaWw4REgvY3hoc2hxN1FzMGQrTndoWEhuMmJuNk5mbWVoU29L | |
d1BUM1FXWmZRUE5ZR1VML3hKc0FyKzMrVDVXQjBZVnB2Qk5KSGp0aXlac28w | |
ZHYyZ1RwM2htMHlDODZvTXVyc3FLYWFpaVVkZzZMRGViZStrK2tzZlZvVXE2 | |
dG9CVW44RVoyVTlVZWVlRGhTR3cwaTI2WlVtWlBCSlRzNk41bDhzT3Zhbzgw | |
L0pVcHpJS0RnY1BwYW9hT05TN1piRjRWSm5WK0NQd1VGbWZidHd1ZTVaSDlC | |
MUFZZ1NuTlNYUGdIM0taSHNPZHN1dXZkTDFTcDZlSU4wREVXNytDcFZSZXFF | |
Vk9vdUpBRDRraThuN0Ixc09TUFVHQW0zSEgyV1BPcGRBbnc3UHQycm9KdURj | |
MzRCM0FhSDVCWDdyeCs5Wi9vMFZDbGdQMDNsRUVKZW83ZmY1MlBxeWVCTEIy | |
b0NWOGJGNmh6b3FwUmRNMDR3R3NrTkhFQ002cklPaUVCZFV5Yjl0djhmTTZp | |
MWpqM3hqWVlzS0pTZUtrNDMvOFhrS0doUksxV0RmNkhYWjBHNElzRHRhUVpW | |
bm9sRjlyVUE4NitYSnFBcEp5U0ZaU3cwVGQ1NnVIRDUxNWR1MjJIOVptWlV1 | |
U2lnVmdwQ1UzeUFiVzhzYlVwSjA0U3l5a1RNcml4Mi9PbXlIZ3VkVVR5TjVi | |
bFZtL2dwNTI0Y0lhOE0zQTkxOVh3VzhCRlIrYzR4bHY5NEo3UjRmaW1QZEV4 | |
ZU5tV0pYUC96dGMrZm1zYnd0TmJFWmVVd3krM0FhdnNia2pnb3dobVMxYlBt | |
MENlMHhVYUhpSWRwZjJZcklrcXdWRGlYMk1ESzZLK01FWTZkYUZoTmZmUHRj | |
U2txbE0veHV2UWE3UnFtNHVCUjF1NEwwTmRCUEFnM0JrU0FSRmZEa2xINDNT | |
dnlPdjRVNm1WSDNRUnkxUmZvZFNqNGZlcGpYL1BsUDk0dzVDai92NVBzbks5 | |
WG9XUzdoVVY4SVlQUFUvTjcybzNOck9rbmRjUGYrOXZUbWhjZG9GN2prRG5u | |
OGhLVTFKL2RoTVpVa0hlSHJJR09RbVZXdDhDQjcra3lqeDZ6eFRSMWdIeFV5 | |
aEpJaFpzRXhJNytuR3ZoMzh3VW5LVnZjZERYSkxkVWQ3a09UYlRSYzNCa1ph | |
blhNL0lScFVlU1h5OHJ2bm1EcjFFdFdhOENwbFRxbHB6SW8vQ3NSV0Ywb0c1 | |
S0hHdXptcE5Kd2ExeW1qZCtUSVpTYytTQk9sU1FTbTVRZ2pFUk1QMnlJb3dw | |
L3g4OERDWjVuSUs5SzFaNmk0UGtUR1EyVFdOanZIc3BHVXRTbmY5RklaSkR3 | |
N2pEL2RCRDN0QjhIRTlRcnA4Yzd1WkFTeDhzVTFSNEorMmUvQnAybmM4YlQ1 | |
V3k1d3I5NngyS29kQWRtUFI4TWFwUG9vRjRYbktISUo2dGhLcGtISFRWYklG | |
WDB0ZjlIa2t1VkR2VExLaUI3MzEydUFlMUo1dC9VclJ3NWt2VHVxdjZCcGRX | |
c2Y5Nk54bGRNNy91UWZnNFJyb1pnanlSOFNpL1RsZTFZd2xKeG1aMWVTeFFK | |
TUt4MmlnR1NySUxUeWZWbmR6MXp1SzBuYnBNY2pqYWRSTEk5TG10UFd4Rnoy | |
TUx6alRNRU9GZzd4N2c2aUE1dHY2WW1jQy9MYXhPZDlYM3NQWjdzWTdWYTdz | |
NWVMSWVvMXdRbVpGcmlQWnV6NUZjQ25jcWR5eU1CSGJreCtVVllkNVM1ejV3 | |
MkVWOUpld0lIYU9POENBODNxelk4U0hnaExhOFZMR3FyQnFJNzFWaU1wUVh0 | |
MXZpaW1KNnBWUElaZzVONVI4QVVaM3d5Yk1XMXY3T3hHcS83am5KYWtjMGlE | |
VVVHNUpKMEJqLzhoWUtxZGxwV1B0eEJGOStGQm43T2o0ZnNmTmVzRENFZmdE | |
QU5OVXdJTU9YWXMxc09pV1VZdmc4OG9TQ2lHU1ZTQWJiS0tpdEVFY3piSlAv | |
TlFONG1tRnZ4cmJma0lmOUxPYXlhSlN1TzZZT0JIYU9VdmM0TldYU1daRVV1 | |
N1ZMbDl4R1R3aXQwV0J3Vmt1cEJnZVo2czZrU0hYM1AxcFQyWndld21TQmNN | |
ZGVoQUIzK3VPQUNHOHAwb0FoNlFSNENvTWdiakE2c1NqVDZzeTQwT3R4V2ZK | |
dmpvNXJaWlpYekVOdUJMY2ZENllxYzdXMnBmQVM3dlE4NjlZYnRqeE5yTVd1 | |
UXZ2dUJWbjlFSStpb0dWdWdFRGlyVEd5Mmt6bHp3U2JidjVmS0xTVkY0amw1 | |
d1Zzak1zTjUrRGVlM29pRWlOdlJRa2NYS0crZzVhWXhybTZCNUR0WG45MmpO | |
YmtzZFdvQUdNc0ZqQmRvY3B3STgxaVJaQkZDYW9wNXFGTEdGa1BLUThYdTky | |
aGF4M2ZHTzNaSk1HMVd2NVNmYXY1TkNGYWljZnRubldqT0dCbnAxUGxSK1FB | |
Wmh4VCtvRVVYU3FJUWNOa0t0UlBxVkp6bUN6bkxFc1lYZnp4OW0yVEYzM0lO | |
NDBzOEFlL3ZSU0c1NzhvN1ZLaUI0SlduejE5d09xaVlQRzRzVHQ4TlRpaTNn | |
UzlWdlphR09sdStBZmg5ZlRUWlZnRFlvWjNQSFZnNGU2ZnVzcmlBTllaMEVI | |
T1k4UWZTaGRRRkFCblZaU2xxejFOblk5dHRHMWhWcU85QXpZcDV6WnVPR05m | |
L29ESDNlbWpzaFI5SHhSTENQQ3hxL3RrOEVnSWlMNGdDNzdkYWprTS9iNlhv | |
ZVpiWG1VYnpLYmg3VmhFYmM1Zm1TYzlqc3RkaHRqb3ZsaktTSzBHeDZ5dWNH | |
aXVkZnRLQk1aOHFvRmxzdXdCVkhyWDFyK2RDMW9NRlpBVVJqWi81N2xFNUIr | |
Y2FmQXhaZGRvUStkdlU3VEFseDdNa1ZUZlFWbmIrdUlycGZuMHNVNDFwby9I | |
cml3SnExdFZuZE9pYkE0OXpzclMxSWtJd1RWVGNOZVlTcmdzcUpKMUZ6NXpn | |
Zi9qemVRZUNQVnpBUFJHb01DSDhZMkh4STYrWWVRVUFZUDRXajBlTU9Kejdh | |
MndxcVVTNGtNK3d1cmdGL1RocUE2SEhmMUNnc3BFTFVCYzFDTzJ0d0REUktM | |
QmZOTFdJb0tCWDd2bTlYOCtjNU5xYnMxOERBS1NQM0FNbThnZGVUTnRnVmhI | |
RUo5eGxXbHhRZmY4WXRsSVcwSUVOMzY1bHEzVGt2N081Y0lJSmtaQzIwYktq | |
aVRKVDJWbHFxYVFTOHY1OUFYbVMxWU8zMkJYYUo3OUc3SnVKV2xoR2YzWTV3 | |
d1NRNzgxNEhhSUpTU0ovcFhLMTA4eDhWYzQyL01velpiaGlEbEUvYklMT050 | |
eXhnZ1B1N2JhdE9Ec0llNlpNZmxjOHVtcStObTBJdEswTnREeFJxajlXeWxr | |
cENMcWw4L2FtbnQveTdqcHJGU29ReWV5eUdFU2NJdVdQcUhpcktweTRsanlG | |
aU96ZzFrTjE0NDMwblNKQXpFQ3ZoYnkrelpHKzcyQmpabk5aYjFaOG5lalVn | |
OUlxS0tydHpZRWREakJabXBBblhNZGpmamsybkJKZ3FvS3g4alFUU05mOWhq | |
Tis2VnVINnd2ekpCSUFBT0FjOWZEWDIrWlRPUlNXT2NhVUJqd3pXdHk5S1Qz | |
YmVwcGhkdFJBelhHbUIxR3hQTjZDNGgrZUZHbDE0TzcrVHlXNDJkWENXOG5p | |
UXMrci90MzdGWWJMNkJ5VDk1dTlGRnJLN1BURG1FZXNZNW5lVzJpRU43clkx | |
RHRQVVlVcU5TQkd4NG9XZUhrYm1pOGg5VUVjWTVEeVNOVFBYZEZHdGQvV0Na | |
MmU1RG0wd1NNY1FmbDI2N0QyaGFOZG5hQnZJQ1B3WHFDT3FNUjhjcnBjblNx | |
L29heE5PNkdBKzhVSmpTdThJOUt4d2lJN05OWWc5eWpRdEo4bU92ZWRZOWNE | |
VUtnTTZZZEo4amIrdVZxYTVFZHFOVm9maWYzcTcxZ1FBb2hxenNXTHRwZkFD | |
cEEzZDE5RFJ6c0VTNmZkMDRqN1FVWldodk4xdzRYeEhhNm9MTFpZRWJkYTU1 | |
VEpnVVRvd0drU25YVWFKMDg3aklYcG4xMjVUZjh1ZnBzdVkyYVRwYmZDMEc2 | |
OEtFWHV6RmNmZHFKa1NmYVVTckdkaHVoTVV4aXBmSDI0UUJjWExuMkltWHU4 | |
YkdmM1ppMUdZZGRVQW9HWEtmNVpPWDBES2ZPSXFqaW5WRzU4QmI1b1NhQTFk | |
ZjRoOGRWSmJBL1lRcXJDaXdQRmQvcEdRMGVjbEx2cXdpTnJMWEdPUUtOcTQ1 | |
UDZZR1JrNkVzdWdDcUxJeUR4Wi9sYUE1TWVjUjJiSUErSlNMb3doT1NPeWIx | |
RGtZMUxLZ2hEcVRMZml4M0ZiaGxXeVJxWjluSEtjSEpzSTFGcjZXN2dUL3V2 | |
dEp1OCtnSENOd0RpN3dmdnlZNFlQaHNnN1JVUXJFRWZqSzJwajZkMkRyQUk2 | |
SXRLa2RoY3grMmVic0dwd09jL0M3OU1STFg4UUI3VXlHb0JQS3NuWnAwUnpy | |
UmoyRW1Xek1zNWxja2NkZlRxWHozYlZuZy9SOXI5NW5sZ0VLaGdPQWlXVVpx | |
VjNpa3dZbEZ3V2l6KzY2Y2xXZGt6RFRzSEhvbmJRdUwwNEpQUy9UNHhaZTNm | |
dy9aZ3AvZ21pMGVYYy9Ic1VuRmhJSkhBUnUvOU1ubWgyYjBpVlc2WStJUGpl | |
d3hoZTRLV0picnNXQnVTYzVkTHU3YitXeU5vU1NVVmxFQTA0NFcva1psL0lX | |
dUdGVXRFWHAweVpST2FTa1c3cmwxWjkyM0RMQkdHQnNaMzBNODdWbTE2L2k0 | |
dzZSVlUveVc5MlRwbnY5WGZIUkluQ0Q4N29HbzQreVgxZ2pLekVTUC93QU10 | |
MmR5RnJEem11eGxyVEJMUENPb2w1dDJpeDFhbVZFL1Z3cURLU1lqKzZCaEw5 | |
OGFhdExaZXJVd0YwMngwMFl1WGI0RFJnSUdZKy9xQm9PT1NmK3JWYzJOanFJ | |
cHMxL1EzM0Q3ZUxaMXhMRzhDNmlKeDgvMXJEWnRxNENOZnFFVUZic2xsY3hY | |
cVlOcXBFVXdtS2E5a0lMdzhBNEJ1SXlRSlBZVzlZd0Q1OEtaTmRZS2VGZEVh | |
RDBxN0Ivc2h4bno0d0RCMjZOc3Y0TVRUcWNTRmRxYmpjcXVjK3lTZHdHSHJJ | |
MU1JS0dVQmFvRlp5c0oyWERCSkhHK1Y4d2lVMGZjVTUydzNjbnkvSGhmZ0tQ | |
a3NCa0JzeUp0OTJnTWh2cnUrbGR2cWN4L2dJbzdpR0Q3ZkxzWmhXQnJPZERw | |
NDFQVHdXU2VUVzVicVM0Ukxha1NyWDgrYXhtWTk2RTFKOElBMU9BK1ozUHJ3 | |
UUtVUjk1NGJRbWJtWHhtbUsyVDBKWVNrSmhWWmM4NE84b1pGZklZdFl4SFFm | |
bzJnTkRhTGpxV3lqS3dWWnh2N3BlaVB4ZFVvNGZLOEJ4QjN2UW1kbG5oODZi | |
bXlheWZjZ1A0MEh5RXVidWk1OGFSY21NRldCZEp1N0pFVGVJSEpWRUxkNzhF | |
TmV0eUpOZ1F1ZVc2ajdUc1JZR3pQUU5oQ0tCWXFMR3BhUGNyOHNvUWRLVkpW | |
NzUyd1BxdnJyZThVTlNXeVRvalNLL3R0YjBJYmcwOGdCbGVFMGNuck5rWmp5 | |
T2dyMnNJYWhvalFRUG9keHBVamdpalpiQ0cyUGI3ZnVPRXF1V0E5SUh4d05j | |
OTZGcFpjS20xVlp3czZDVTlUZExsVkMxM05BeTA2UVQrZ3pKSGNIWllmemtw | |
ZGovV3hMZThyd25PNUo4dmZzU3BaUmFiL2RzSXlHOHA3dVFUZDYvTzR4Q3hE | |
bEZweHZFSTVFNVplOS9oSGJFZmZsWVdUdUl1dHNOL3Z5R3hhZkFNWW8xUXdZ | |
cklGZ3hNK2twcUdYMHNYUUtnK0VsREZ0SXdXd2I3Y2c3UUMrZWRoZVgvc3pQ | |
R24wSWJMa2J4NUkyalFiVUVxelh4NXVNT3VBeXhDYXM4cUo0SWtxa3RQMHF3 | |
Zy9LZ0NWZVFWa1k1SXFUQUNOMHRyRVRHSDRzV0FjNTJiSDR0REw5S0NtV3U0 | |
NE5IT1l0Ry90Z3R3N2JET0xGVTViaWZhdTcxSGpFdWhhYnBSN2w2V2dlV3R0 | |
ZXIvTWtXeS95M1ZML0VoVXEwc0k3UVV3aU9tVTRvTlZwbHVJVWZnQ1JFUSs5 | |
QWFvTFgwMlg0czhKZnlmK0JkUTNFdVpVeFNBdkpCR0pHNXdVV2RIUk8wZWpL | |
UjlIa3hlanVNaGdoVnlaK2NDYTBMK2ZHa0p2VTZYc1RON1FObi96bXpXWEk1 | |
UnB5VDZ6ZXpWT1JXd0xVUUFrYVhnV3gzYnRkaFJRUlE5ckJCNElBUWtwRjRH | |
NUQzUEQwTGs1aW92UjU1ZmY3MExsVU10eit1bVU3Wk0rOVBISTg0THFMbHp0 | |
WVZkYmtUdGRjZ09TMjFRWU5zdVlJSmlkdWFEUWpKM1ljT3QxczdaVnFFcWcw | |
Yk9udWRLZnRiWUJ0YWZNTjdJdjF1MVZDQUhRSXpyVzhHeTJCVUltVy9BWEJD | |
SVZQMmI0V0xaMXhiZHpmV3o2Z284eXlwUmVkSmViQ3huZ0hlb1FFN0ppMnJX | |
aEFvSUpUSXhCRmdhUUR2L0V3blZESE04NkNQWS9NeUxzY0FsVTVyWEJsc0Iv | |
Y1FHbGJVVEpJaTJNQ2RSLzBlVytmZ2xQNFdNdVB6Z0JUazdUWmQ3QUdKUDg5 | |
TDZGUENrdGlMTHlNZ2MvdTRPL3ZxTGdMSnpqN0Zvekd1RTFydE8vZm5rMDBR | |
UkxJN245Zk9TYjR5ekVNNUV3eFBDQ1NKWjh6cGRPT0RTdDhrSWg0NXVKdVFH | |
ZThiQ2szcE5XOHlZcGtlOVlxenlkWjFIdlA0S09EM2srS084c0hJMG5HZzhu | |
dUthbm9GRllWaWdHbFZCeCtENlcwMWo3OFIwSGI5RmVob1B5SXRicHhWVHdt | |
NUlVUTJyTER4L2gzZ1lUUEZkTXBOMFkvanM4ZEFiQWFQUEEwUUhvZnViOEc0 | |
QnQrZ3JEZ2FCa0MzZ3lLYi8zN3dBaGdld0ZCL3dWSmdwRWdLa01VcEhlTVIy | |
b2R0VTZXTzZ2TkZJWjM2enJ4eEp6N2ZQRWFydVJrWWxtS3NjWUh6MDJpM1p0 | |
N2Q2NXNEdlRvRkFFRThRczZkRkhhWlkwRGFocGJ6WXEzNStuUU5zVjE2SzF4 | |
L3AvWllySlZVNnFtb2dCTmVTS3E5d2RtU2srcklHOGZKWjMzWFh0MlJ3RG43 | |
OGVRYWlNOVk1NCtGb2VGZk9RamEyaUNlRmI5Q2F3NDljTFdVSjk0aks2WWtq | |
YzlOUGIreTh2WGdqcm9NL3ZCQ3BDaDkxVmwxV1kwZGdpbEZidzRVUTliZHFT | |
c2xsckIxWWd4Y004amppU0RTckpyd3J1OHJkL21pUUpmRTQvWTBoWGtuZFU2 | |
NHJUb2tFVllrb3FaVmFWYUs0ZFc1TGpKUXNTV0xHOWpQd1ZrS2grVGp6T1dM | |
TWxqTmhRd2ZhT0pzdzk4REZxVDFTMkNCaFNUUlVlNHRFMFJVRjlMSjlITGxk | |
YlJ1a3ppQ0dSRVJHcVRwcmloZkFxeng2N29xbzZkT1dZVit2b1pSZXFodERm | |
eVVBSTc0WHBkenhKRi9QOWNDaW93UjIvdDREY3oxUFZtWml0NzJiand4a3V4 | |
MWRmTVFHNWRxeERoZjFaMXVnMlZOT1l5RHJ3aHllOGJuaExVaVh6QTFrK0NZ | |
OFd1ZVpJTGpCMnRwV3ZkckZZbG8yRVFMdjFLakpNN3NIZE9VdnVabnFlV0Uv | |
d2VRWXVhZFJZYVcxMmpsZlRqZXNlTmI3aUplN3dKNjlCMVpMQ3BSeXlNeDBr | |
UVJ1QStKMWtOMWthUzZFbXg5RE52cTFiWEtXMnhudWVEckR5dmJUZGZIbzgw | |
MVZoY3A2T2Fha3dTYjU0MW1vU05KQUNKMStQMHJHamNIT1JLOHZSV0gyQmgr | |
cnd2bmNPeVBNRDZhd0wrd2pPdzYyb2t1SVpHZERFT0FPWFN3SXBwMjNOZFJC | |
NmpaZXZ0RG9jcjNvWW9Ecmwxd0dxSDUzWVRBZ2Jld1cyaW0yYU1memFqQ0Rw | |
MHdMK1pwSE9WVkVxSVNMMmpkOHFaYXFlRklrdmgyZFNLR0ZNNDFlVTc1Tm9Z | |
Wisvd0FOSjdxcDBFeG5RV2NzNkFKWEZoYnhrY1JUTXh2MlJlVXRkM0R5eFNj | |
alFoMXQ4eGVPOGJZMG45dEEyYkl0cGRqZmJDZjlIWjBqaHNMY0x4cG1IWFdl | |
RVZNWmZEMmp3YXg0aVdGTVVBNkJyUDN6QzBmdnNpcXdXc3M2OENXWG5mNENK | |
NktMOWNCbjdqaVZmZGpvaVU1eFNKT0ZCMDlITm84SDZZMnMzZnpaTG1xUXlZ | |
NWIxaXpKQjUyOXppcXd3a3NPVGo2MmNKUTB3czk0UHFTUzFHTmtPZ2tEWWdy | |
QUNLY1NXa3FCVk1NY1hQcWJHYU4wOUhtUVFQdnZnYmpBeGFHTjNKWWlKdWRS | |
cjZpUko4T213MDFBUmt5VmtrdmN1M2c2a1dGQ0JXZHkvaG5DcUo1aDREUT09 | |
Lm95SHZ2M0I5YklqMTBRamUuM2JZK1Q5V0l1MEFOeTBWYVIyZWxWQT09Iiwi | |
c2lnIjoiS1JSaWswSHRkM3NmYXNvc3grRUVTVVN0UnhKMGg0aFV0c3FidHU1 | |
R2xGcFNncExDZDNGWjNMZVlzYVFibmRtNjJBdnhLV0VWcTNUS2hWamNTVVdr | |
REE9PSIsImFsZyI6ImFlcy0yNTYtZ2NtK2VkMjU1MTkifQ== | |
-----END LICENSE FILE----- | |
` | |
const decode = lic => { | |
const enc = lic.replace('-----BEGIN LICENSE FILE-----', '') | |
.replace('-----END LICENSE FILE-----', '') | |
.replace('\n', '') | |
const dec = Buffer.from(enc, 'base64') | |
return JSON.parse(dec.toString()) | |
} | |
const verify = (der, enc, sig) => { | |
const key = crypto.createPublicKey({ key: Buffer.from(der, 'base64'), format: 'der', type: 'spki' }) | |
return crypto.verify(null, Buffer.from(`license/${enc}`), key, Buffer.from(sig, 'base64')) | |
} | |
const decrypt = (secret, ciphertext, iv, tag) => { | |
const digest = crypto.createHash('sha256').update(secret).digest() | |
const aes = crypto.createDecipheriv('aes-256-gcm', digest, Buffer.from(iv, 'base64')) | |
aes.setAuthTag(Buffer.from(tag, 'base64')) | |
aes.setAAD(Buffer.from('')) | |
let plaintext = aes.update(Buffer.from(ciphertext, 'base64'), null, 'utf8') | |
plaintext += aes.final('utf8') | |
return plaintext | |
} | |
const { enc, sig, alg } = decode(LICENSE_FILE) | |
if (alg !== 'aes-256-gcm+ed25519') { | |
throw new Error('unsupported algorithm') | |
} | |
const ok = verify(PUBLIC_KEY, enc, sig) | |
if (!ok) { | |
throw new Error('verification failed') | |
} | |
const [ciphertext, iv, tag] = enc.split('.') | |
const dec = decrypt(LICENSE_KEY, ciphertext, iv, tag) | |
console.log({ dec }) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment