From 55d2a4d7af7416d184282a57853bb6bb2ed9a711 Mon Sep 17 00:00:00 2001 From: Corentin Thomasset Date: Mon, 27 Mar 2023 00:01:46 +0200 Subject: [PATCH] feat(new-tool): ed25519 key pair generator --- .../ed25519-key-pair-generator.service.ts | 14 +++++++++++ .../ed25519-key-pair-generator.vue | 24 +++++++++++++++++++ src/tools/ed25519-key-pair-generator/index.ts | 11 +++++++++ 3 files changed, 49 insertions(+) create mode 100644 src/tools/ed25519-key-pair-generator/ed25519-key-pair-generator.service.ts create mode 100644 src/tools/ed25519-key-pair-generator/ed25519-key-pair-generator.vue create mode 100644 src/tools/ed25519-key-pair-generator/index.ts 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