SameSite is capital first letter only.

Signed-off-by: jansupol <jan.supol@oracle.com>
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/NewCookieProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/NewCookieProvider.java
index 15ab8d0..8615aeb 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/NewCookieProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/NewCookieProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2023 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,6 +23,8 @@
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.spi.HeaderDelegateProvider;
 
+import java.util.Locale;
+
 import static org.glassfish.jersey.message.internal.Utils.throwIllegalArgumentExceptionIfNull;
 
 /**
@@ -75,7 +77,7 @@
         }
         if (cookie.getSameSite() != null) {
             b.append(";SameSite=");
-            b.append(cookie.getSameSite());
+            b.append(getSameSite(cookie));
         }
         if (cookie.getExpiry() != null) {
             b.append(";Expires=");
@@ -90,4 +92,9 @@
         throwIllegalArgumentExceptionIfNull(header, LocalizationMessages.NEW_COOKIE_IS_NULL());
         return HttpHeaderReader.readNewCookie(header);
     }
+
+    private static String getSameSite(NewCookie cookie) {
+        final String siteName = cookie.getSameSite().name();
+        return siteName.charAt(0) + siteName.substring(1).toLowerCase(Locale.ROOT);
+    }
 }
diff --git a/core-common/src/test/java/org/glassfish/jersey/message/internal/NewCookieProviderTest.java b/core-common/src/test/java/org/glassfish/jersey/message/internal/NewCookieProviderTest.java
index f160690..bed3458 100644
--- a/core-common/src/test/java/org/glassfish/jersey/message/internal/NewCookieProviderTest.java
+++ b/core-common/src/test/java/org/glassfish/jersey/message/internal/NewCookieProviderTest.java
@@ -44,7 +44,7 @@
     public void SameSiteTest() {
         final NewCookieProvider provider = new NewCookieProvider();
         final String newCookieString = provider.toString(newCookie);
-        assertTrue(newCookieString.contains("SameSite=STRICT"));
+        assertTrue(newCookieString.contains("SameSite=Strict"));
         assertEquals(NewCookie.SameSite.STRICT, provider.fromString(newCookieString).getSameSite());
     }
 
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/CookieImplTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/CookieImplTest.java
index 5f727fc..5992b54 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/CookieImplTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/CookieImplTest.java
@@ -191,7 +191,7 @@
         cookie = new NewCookie("fred", "flintstone", null, null, 1,
                 "a modern stonage family", 60, null, false, false,
                 NewCookie.SameSite.STRICT);
-        expResult = "fred=flintstone;Version=1;Comment=\"a modern stonage family\";Max-Age=60;SameSite=STRICT";
+        expResult = "fred=flintstone;Version=1;Comment=\"a modern stonage family\";Max-Age=60;SameSite=Strict";
         assertEquals(expResult, cookie.toString());
     }
 
@@ -217,7 +217,7 @@
         assertTrue(cookie.isSecure());
 
         cookie = NewCookie.valueOf(
-                "fred=flintstone;Version=1;Comment=\"a modern stonage family\";Max-Age=60;Secure;SameSite=NONE");
+                "fred=flintstone;Version=1;Comment=\"a modern stonage family\";Max-Age=60;Secure;SameSite=None");
         assertEquals("fred", cookie.getName());
         assertEquals("flintstone", cookie.getValue());
         assertEquals("a modern stonage family", cookie.getComment());