I messed the code in previous post: using Jose; using Newtonsoft.Json; using System.IdentityModel.Tokens.Jwt; using System.Net.Http.Headers; using System.Security.Cryptography; using System.Text; private static ECDsa LoadApplePrivateKey(string filePath) { var keyText = File.ReadAllText(filePath) .Replace(-----BEGIN PRIVATE KEY-----, ) .Replace(-----END PRIVATE KEY-----, ) .Replace(r, ) .Replace(n, ) .Trim(); var keyBytes = Convert.FromBase64String(keyText); var ecdsa = ECDsa.Create(); ecdsa.ImportPkcs8PrivateKey(keyBytes, out _); return ecdsa; } private string GenerateApiToken() { var payload = new Dictionary { { iss, _issuerId }, { iat, DateTimeOffset.UtcNow.ToUnixTimeSeconds() }, { exp, DateTimeOffset.UtcNow.AddMinutes(5).ToUnixTimeSeconds() }, { aud, appstoreconnect-v1 }, { bid, _bundleId } }; var extraHeaders = new Dictionary { { alg, ES256 }, { kid, _keyId }, { typ, JWT } }; string token = JWT.Encode(payload, _privateKey, JwsAlgorithm.ES256, extraHeaders); _logger.LogInformation(Generated JWT: {Token}, t
Topic:
App & System Services
SubTopic:
StoreKit