chore: license server updates and tests
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
import assert from 'node:assert/strict';
|
||||
import { generateKeyPairSync, verify } from 'node:crypto';
|
||||
import test from 'node:test';
|
||||
|
||||
import { signPayload } from '../lib/signPayload.mjs';
|
||||
|
||||
void test('signPayload produces verifiable Ed25519 token', () => {
|
||||
const { privateKey, publicKey } = generateKeyPairSync('ed25519');
|
||||
const pem = privateKey.export({ type: 'pkcs8', format: 'pem' });
|
||||
const payload = { v: 1, sub: 's1', pid: 'p', iat: 1, exp: 2, did: 'd1' };
|
||||
const token = signPayload(payload, pem);
|
||||
const [bodyB64, sigB64] = token.split('.');
|
||||
assert.ok(bodyB64 && sigB64);
|
||||
const body = Buffer.from(bodyB64, 'base64url');
|
||||
const sig = Buffer.from(sigB64, 'base64url');
|
||||
const ok = verify(null, body, publicKey, sig);
|
||||
assert.equal(ok, true);
|
||||
});
|
||||
Reference in New Issue
Block a user