private static void validateHttp2Ciphers(Set<String> ciphers, boolean tlsAllowUnsafeCiphers) {
        if (!ciphers.contains(ESSENTIAL_HTTP2_CIPHER_SUITE)) {
            if (tlsAllowUnsafeCiphers) {
                if (!warnedMissingEssentialCipherSuite) {
                    warnedMissingEssentialCipherSuite = true;
                    logger.warn(MISSING_ESSENTIAL_CIPHER_SUITE_MESSAGE);
                }
            } else {
                throw new IllegalStateException(MISSING_ESSENTIAL_CIPHER_SUITE_MESSAGE);
            }
        }

        for (String cipher : ciphers) {
            if (BAD_HTTP2_CIPHERS.contains(cipher)) {
                if (tlsAllowUnsafeCiphers) {
                    if (!warnedBadCipherSuite) {
                        warnedBadCipherSuite = true;
                        logger.warn(badCipherSuiteMessage(cipher));
                    }
                    break;
                } else {
                    throw new IllegalStateException(badCipherSuiteMessage(cipher));
                }
            }
        }
    }
Creates a {@link SslContext} with Armeria's defaults, enabling support for HTTP/2,
TLSv1.3 (if supported), and TLSv1.2.
core/src/main/java/com/linecorp/armeria/internal/common/util/SslContextUtil.java