Files
safetynet/apps/server/channel-identity.mjs
T

7 lines
606 B
JavaScript

import {generateKeyPairSync} from 'node:crypto';
import channel from '../../packages/core/policy-channel.cjs';
export function managementIdentity(store){
let keys=store.get('channelSigningKeys');if(!keys){const pair=generateKeyPairSync('ml-dsa-87');keys={privateKey:pair.privateKey.export({type:'pkcs8',format:'pem'}),publicKey:pair.publicKey.export({type:'spki',format:'pem'})};store.put('channelSigningKeys',keys);}
const edPrivate=store.get('keys').privateKey;return {edPrivate,pqPrivate:keys.privateKey,publicKey:keys.publicKey,identity:channel.identity(edPrivate,keys.privateKey,keys.publicKey)};
}