diff --git a/fuzz/ssl_ctx_api.cc b/fuzz/ssl_ctx_api.cc
index abf2f16..08b3e6f 100644
--- a/fuzz/ssl_ctx_api.cc
+++ b/fuzz/ssl_ctx_api.cc
@@ -491,6 +491,25 @@
         }
         SSL_CTX_set1_sigalgs_list(ctx, sigalgs.c_str());
       },
+      [](SSL_CTX *ctx, CBS *cbs) {
+        bssl::UniquePtr<SSL_ECH_SERVER_CONFIG_LIST> config_list(
+            SSL_ECH_SERVER_CONFIG_LIST_new());
+        if (config_list == nullptr) {
+          return;
+        }
+        uint8_t is_retry_config;
+        CBS ech_config, private_key;
+        if (!CBS_get_u8(cbs, &is_retry_config) ||
+            !CBS_get_u16_length_prefixed(cbs, &ech_config) ||
+            !CBS_get_u16_length_prefixed(cbs, &private_key)) {
+          return;
+        }
+        SSL_ECH_SERVER_CONFIG_LIST_add(
+            config_list.get(), is_retry_config, CBS_data(&ech_config),
+            CBS_len(&ech_config), CBS_data(&private_key),
+            CBS_len(&private_key));
+        SSL_CTX_set1_ech_server_config_list(ctx, config_list.get());
+      },
   };
 
   bssl::UniquePtr<SSL_CTX> ctx(SSL_CTX_new(TLS_method()));
