summaryrefslogtreecommitdiff
path: root/src/remote
diff options
context:
space:
mode:
Diffstat (limited to 'src/remote')
-rw-r--r--src/remote/activitypub/renderer/key.ts10
-rw-r--r--src/remote/activitypub/renderer/person.ts2
-rw-r--r--src/remote/activitypub/request.ts2
3 files changed, 9 insertions, 5 deletions
diff --git a/src/remote/activitypub/renderer/key.ts b/src/remote/activitypub/renderer/key.ts
index 334e5e00cd..e792f487fd 100644
--- a/src/remote/activitypub/renderer/key.ts
+++ b/src/remote/activitypub/renderer/key.ts
@@ -1,10 +1,14 @@
import config from '../../../config';
import { ILocalUser } from '../../../models/entities/user';
import { UserKeypair } from '../../../models/entities/user-keypair';
+import { createPublicKey } from 'crypto';
-export default (user: ILocalUser, key: UserKeypair) => ({
- id: `${config.url}/users/${user.id}/publickey`,
+export default (user: ILocalUser, key: UserKeypair, postfix?: string) => ({
+ id: `${config.url}/users/${user.id}${postfix || '/publickey'}`,
type: 'Key',
owner: `${config.url}/users/${user.id}`,
- publicKeyPem: key.publicKey
+ publicKeyPem: createPublicKey(key.publicKey).export({
+ type: 'spki',
+ format: 'pem'
+ })
});
diff --git a/src/remote/activitypub/renderer/person.ts b/src/remote/activitypub/renderer/person.ts
index d4c018fb78..07a0eeed42 100644
--- a/src/remote/activitypub/renderer/person.ts
+++ b/src/remote/activitypub/renderer/person.ts
@@ -108,7 +108,7 @@ export async function renderPerson(user: ILocalUser) {
image: banner ? renderImage(banner) : null,
tag,
manuallyApprovesFollowers: user.isLocked,
- publicKey: renderKey(user, keypair),
+ publicKey: renderKey(user, keypair, `#main-key`),
isCat: user.isCat,
attachment: attachment.length ? attachment : undefined
};
diff --git a/src/remote/activitypub/request.ts b/src/remote/activitypub/request.ts
index bcbb0fbe70..869fabd032 100644
--- a/src/remote/activitypub/request.ts
+++ b/src/remote/activitypub/request.ts
@@ -56,7 +56,7 @@ export default async (user: ILocalUser, url: string, object: any) => {
sign(req, {
authorizationHeaderName: 'Signature',
key: keypair.privateKey,
- keyId: `${config.url}/users/${user.id}/publickey`,
+ keyId: `${config.url}/users/${user.id}#main-key`,
headers: ['date', 'host', 'digest']
});