diff --git a/src/java.base/share/classes/javax/net/ssl/SSLParameters.java b/src/java.base/share/classes/javax/net/ssl/SSLParameters.java index 88fa6924899..3ac38bd91db 100644 --- a/src/java.base/share/classes/javax/net/ssl/SSLParameters.java +++ b/src/java.base/share/classes/javax/net/ssl/SSLParameters.java @@ -653,19 +653,28 @@ public class SSLParameters { * {@code String} should be exchanged using {@code UTF-8}, the * {@code String} should be converted to its {@code byte[]} representation * and stored as a byte-oriented {@code String} before calling this method. + * For example: * *
-     *     // MEETEI MAYEK LETTERS HUK UN I (Unicode 0xabcd->0xabcf): 2 bytes
-     *     byte[] bytes = "\u005cuabcd\u005cuabce\u005cuabcf"
-     *             .getBytes(StandardCharsets.UTF_8);
-     *     String HUK_UN_I = new String(bytes, StandardCharsets.ISO_8859_1);
+     *     // Encode 3 Meetei Mayek letters (HUK, UN, I) using Unicode Escapes
+     *     //     0xabcd->0xabcf, 2 Unicode bytes/letter.
+     *     String HUK_UN_I =  "\u005cuabcd\u005cuabce\u005cuabcf";
      *
-     *     // 0x00-0xFF:  1 byte
-     *     String rfc7301Grease8A = "\u005cu008A\u005cu008A";
+     *     // Convert into UTF-8 encoded bytes (3 bytes/letter)
+     *     byte[] bytes = HUK_UN_I.getBytes(StandardCharsets.UTF_8);
      *
+     *     // Preserve octet byte order by using ISO_8859_1 encoding
+     *     String encodedHukUnI =
+     *         new String(bytes, StandardCharsets.ISO_8859_1);
+     *
+     *     // Also, encode a two byte RFC 8701 GREASE ALPN value
+     *     //     e.g. 0x0A, 0x1A, 0x2A...0xFA
+     *     String rfc8701Grease8A = "\u005cu008A\u005cu008A";
+     *
+     *     // Set the ALPN vlues on the sslSocket.
      *     SSLParameters p = sslSocket.getSSLParameters();
      *     p.setApplicationProtocols(new String[] {
-     *             "h2", "http/1.1", rfc7301Grease8A, HUK_UN_I});
+     *             "h2", "http/1.1", encodedHukUnI, rfc8701Grease8A});
      *     sslSocket.setSSLParameters(p);
      * 
*