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..d47201ef 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,15 @@ 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-----", "") + .replaceAll("\r", "") + .replaceAll("\n", "") + .trim(), + { + strict: false + } ); }