From d6a335cff80857ae669633b561a98bb93fef484b Mon Sep 17 00:00:00 2001 From: pilcrowOnPaper Date: Sun, 9 Jun 2024 08:53:23 +0900 Subject: [PATCH 1/2] remove new lines from apple certificate --- .changesets/gmm6h.patch.md | 1 + src/providers/apple.ts | 14 +++++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 .changesets/gmm6h.patch.md diff --git a/.changesets/gmm6h.patch.md b/.changesets/gmm6h.patch.md new file mode 100644 index 00000000..a4f96daa --- /dev/null +++ b/.changesets/gmm6h.patch.md @@ -0,0 +1 @@ +Fix: Remove new lines when parsing Apple certificate \ No newline at end of file diff --git a/src/providers/apple.ts b/src/providers/apple.ts index 1641687c..ea855719 100644 --- a/src/providers/apple.ts +++ b/src/providers/apple.ts @@ -1,5 +1,5 @@ import { TimeSpan, createDate } from "oslo"; -import { decodeBase64 } from "oslo/encoding"; +import { base64 } from "oslo/encoding"; import { createJWT } from "oslo/jwt"; import { OAuth2Client } from "oslo/oauth2"; @@ -113,10 +113,14 @@ export interface AppleCredentials { } function parsePKCS8PEM(pkcs8: string): Uint8Array { - return decodeBase64( + return base64.decode( pkcs8 - .replace(/-----BEGIN PRIVATE KEY-----/, "") - .replace(/-----END PRIVATE KEY-----/, "") - .trim() + .replace("-----BEGIN PRIVATE KEY-----", "") + .replace("-----END PRIVATE KEY-----", "") + .replace(/\r?\n|\r/g, "") + .trim(), + { + strict: false + } ); } From 0c5c6e48ed3b8389666154efdd29f47c815984ec Mon Sep 17 00:00:00 2001 From: pilcrowOnPaper Date: Sun, 9 Jun 2024 09:01:54 +0900 Subject: [PATCH 2/2] simplify regex --- src/providers/apple.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/providers/apple.ts b/src/providers/apple.ts index ea855719..d47201ef 100644 --- a/src/providers/apple.ts +++ b/src/providers/apple.ts @@ -117,7 +117,8 @@ function parsePKCS8PEM(pkcs8: string): Uint8Array { pkcs8 .replace("-----BEGIN PRIVATE KEY-----", "") .replace("-----END PRIVATE KEY-----", "") - .replace(/\r?\n|\r/g, "") + .replaceAll("\r", "") + .replaceAll("\n", "") .trim(), { strict: false