diff --git a/src/tools/ed25519-key-pair-generator/ed25519-key-pair-generator.service.ts b/src/tools/ed25519-key-pair-generator/ed25519-key-pair-generator.service.ts new file mode 100644 index 00000000..9da89cb9 --- /dev/null +++ b/src/tools/ed25519-key-pair-generator/ed25519-key-pair-generator.service.ts @@ -0,0 +1,14 @@ +import { pki } from 'node-forge'; + +export { generateKeyPair }; + +function generateKeyPair() { + const { privateKey, publicKey } = pki.ed25519.generateKeyPair(); + + console.log({ privateKey, publicKey }); + + return { + publicKeyPem: pki.publicKeyToPem(publicKey), + privateKeyPem: pki.privateKeyToPem(privateKey), + }; +} diff --git a/src/tools/ed25519-key-pair-generator/ed25519-key-pair-generator.vue b/src/tools/ed25519-key-pair-generator/ed25519-key-pair-generator.vue new file mode 100644 index 00000000..85b863e6 --- /dev/null +++ b/src/tools/ed25519-key-pair-generator/ed25519-key-pair-generator.vue @@ -0,0 +1,24 @@ + + + + + diff --git a/src/tools/ed25519-key-pair-generator/index.ts b/src/tools/ed25519-key-pair-generator/index.ts new file mode 100644 index 00000000..acc7d177 --- /dev/null +++ b/src/tools/ed25519-key-pair-generator/index.ts @@ -0,0 +1,11 @@ +import { ArrowsShuffle } from '@vicons/tabler'; +import { defineTool } from '../tool'; + +export const tool = defineTool({ + name: 'Ed25519 key pair generator', + path: '/ed25519-key-pair-generator', + description: '', + keywords: ['ed25519', 'key', 'pair', 'generator'], + component: () => import('./ed25519-key-pair-generator.vue'), + icon: ArrowsShuffle, +}); \ No newline at end of file