using Newtonsoft.Json.Linq;
public static void Main() {
Product product = new Product();
string key = "bXF9p18KmVjgyzv3lP6otbne1W8PLo6gEE287SMyjeI=";
byte[] secretKey = Convert.FromBase64String(key);
var payload = Newtonsoft.Json.JsonConvert.SerializeObject(product);
string jweStr = Jose.JWT.Encode(
JsonConvert.SerializeObject(payload).ToString(), secretKey, JweAlgorithm.A256KW, JweEncryption.A256CBC_HS512);
Console.WriteLine(jweStr);
string decToken = Jose.JWT.Decode(jweStr, secretKey, JwsAlgorithm.HS256);
Console.WriteLine(JsonConvert.DeserializeObject(decToken));
Console.WriteLine(ex.Message);