From 67758d2d1e8c5686db242af0c059c8d6ca3bef44 Mon Sep 17 00:00:00 2001
From: tamaina <tamaina@hotmail.co.jp>
Date: Fri, 1 Mar 2024 12:52:46 +0000
Subject: [PATCH] use gen-key-pair fn. from 
 '@misskey-dev/node-http-message-signatures'

---
 .../backend/src/core/UserKeypairService.ts    |  2 +-
 packages/backend/src/misc/gen-key-pair.ts     | 36 +------------------
 packages/backend/test/unit/ap-request.ts      |  7 ++--
 3 files changed, 5 insertions(+), 40 deletions(-)

diff --git a/packages/backend/src/core/UserKeypairService.ts b/packages/backend/src/core/UserKeypairService.ts
index 10818cfc7f..4cc1fa78d6 100644
--- a/packages/backend/src/core/UserKeypairService.ts
+++ b/packages/backend/src/core/UserKeypairService.ts
@@ -11,7 +11,7 @@ import { RedisKVCache } from '@/misc/cache.js';
 import type { MiUserKeypair } from '@/models/UserKeypair.js';
 import { DI } from '@/di-symbols.js';
 import { bindThis } from '@/decorators.js';
-import { genEd25519KeyPair } from '@/misc/gen-key-pair.js';
+import { genEd25519KeyPair } from '@misskey-dev/node-http-message-signatures';
 import { GlobalEventService, GlobalEvents } from '@/core/GlobalEventService.js';
 
 @Injectable()
diff --git a/packages/backend/src/misc/gen-key-pair.ts b/packages/backend/src/misc/gen-key-pair.ts
index a214591a81..58e3091369 100644
--- a/packages/backend/src/misc/gen-key-pair.ts
+++ b/packages/backend/src/misc/gen-key-pair.ts
@@ -3,41 +3,7 @@
  * SPDX-License-Identifier: AGPL-3.0-only
  */
 
-import * as crypto from 'node:crypto';
-import * as util from 'node:util';
-
-const generateKeyPair = util.promisify(crypto.generateKeyPair);
-
-export async function genRsaKeyPair(modulusLength = 4096) {
-	return await generateKeyPair('rsa', {
-		modulusLength,
-		publicKeyEncoding: {
-			type: 'spki',
-			format: 'pem',
-		},
-		privateKeyEncoding: {
-			type: 'pkcs8',
-			format: 'pem',
-			cipher: undefined,
-			passphrase: undefined,
-		},
-	});
-}
-
-export async function genEd25519KeyPair() {
-	return await generateKeyPair('ed25519', {
-		publicKeyEncoding: {
-			type: 'spki',
-			format: 'pem',
-		},
-		privateKeyEncoding: {
-			type: 'pkcs8',
-			format: 'pem',
-			cipher: undefined,
-			passphrase: undefined,
-		},
-	});
-}
+import { genEd25519KeyPair, genRsaKeyPair } from '@misskey-dev/node-http-message-signatures';
 
 export async function genRSAAndEd25519KeyPair(rsaModulusLength = 4096) {
 	const rsa = await genRsaKeyPair(rsaModulusLength);
diff --git a/packages/backend/test/unit/ap-request.ts b/packages/backend/test/unit/ap-request.ts
index d04de68001..fc3855534d 100644
--- a/packages/backend/test/unit/ap-request.ts
+++ b/packages/backend/test/unit/ap-request.ts
@@ -4,8 +4,7 @@
  */
 
 import * as assert from 'assert';
-import { verifyDraftSignature, parseRequestSignature } from '@misskey-dev/node-http-message-signatures';
-import { genEd25519KeyPair, genRsaKeyPair } from '@/misc/gen-key-pair.js';
+import { verifyDraftSignature, parseRequestSignature, genEd25519KeyPair, genRsaKeyPair } from '@misskey-dev/node-http-message-signatures';
 import { createSignedGet, createSignedPost } from '@/core/activitypub/ApRequestService.js';
 
 export const buildParsedSignature = (signingString: string, signature: string, algorithm: string) => {
@@ -49,7 +48,7 @@ describe('ap-request', () => {
 			const parsed = parseRequestSignature(req.request);
 			expect(parsed?.version).toBe('draft');
 			if (!parsed) return;
-			const verify = verifyDraftSignature(parsed?.value, keypair.publicKey);
+			const verify = verifyDraftSignature(parsed.value, keypair.publicKey);
 			assert.deepStrictEqual(verify, true);
 		});
 	});
@@ -68,7 +67,7 @@ describe('ap-request', () => {
 			const parsed = parseRequestSignature(req.request);
 			expect(parsed?.version).toBe('draft');
 			if (!parsed) return;
-			const verify = verifyDraftSignature(parsed?.value, keypair.publicKey);
+			const verify = verifyDraftSignature(parsed.value, keypair.publicKey);
 			assert.deepStrictEqual(verify, true);
 		});
 	});