diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,10 @@
 # ChangeLog
 
+## 0.2.15
+
+* Defining `ccUseServerNameIndication`.
+* Defining `ccOnServerCertificate`.
+
 ## 0.2.14
 
 * Supporting SSLKEYLOGFILE.
diff --git a/Network/QUIC/Client.hs b/Network/QUIC/Client.hs
--- a/Network/QUIC/Client.hs
+++ b/Network/QUIC/Client.hs
@@ -8,6 +8,7 @@
     defaultClientConfig,
     ccServerName,
     ccServerNameOverride,
+    ccUseServerNameIndication,
     ccPortName,
     ccALPN,
     ccUse0RTT,
diff --git a/Network/QUIC/Config.hs b/Network/QUIC/Config.hs
--- a/Network/QUIC/Config.hs
+++ b/Network/QUIC/Config.hs
@@ -4,6 +4,7 @@
 module Network.QUIC.Config where
 
 import Data.IP
+import Data.X509.Validation (validateDefault)
 import Network.Socket
 import Network.TLS hiding (
     Hooks,
@@ -86,6 +87,7 @@
     -- ^ Authenticating a server based on its certificate.
     --
     -- Default: 'True'
+    , ccOnServerCertificate :: OnServerCertificate
     , ccResumption :: ResumptionInfo
     -- ^ Use resumption on the 2nd connection if possible.
     , ccPacketSize :: Maybe Int
@@ -105,6 +107,10 @@
     -- Default: 'False'
     , ccServerNameOverride :: Maybe HostName
     -- ^ Used to specify SNI for TLS intead of `ccServerName`.
+    , ccUseServerNameIndication :: Bool
+    -- ^ If 'True', SNI is used. Otherwise, the SNI extension is not sent.
+    --
+    -- Default: 'True'
     }
 
 -- | The default value for client configuration.
@@ -127,12 +133,14 @@
         , ccPortName = "4433"
         , ccALPN = \_ -> return Nothing
         , ccValidate = True
+        , ccOnServerCertificate = validateDefault
         , ccResumption = defaultResumptionInfo
         , ccPacketSize = Nothing
         , ccDebugLog = False
         , ccSockConnected = False
         , ccWatchDog = False
         , ccServerNameOverride = Nothing
+        , ccUseServerNameIndication = True
         }
 
 ----------------------------------------------------------------
diff --git a/Network/QUIC/TLS.hs b/Network/QUIC/TLS.hs
--- a/Network/QUIC/TLS.hs
+++ b/Network/QUIC/TLS.hs
@@ -39,6 +39,7 @@
             , clientDebug = debug
             , clientWantSessionResumeList = resumptionSession ccResumption
             , clientUseEarlyData = use0RTT
+            , clientUseServerNameIndication = ccUseServerNameIndication
             }
     convTP = onTransportParametersCreated ccHooks
     params = convTP $ setCIDsToParameters myAuthCIDs ccParameters
@@ -55,6 +56,7 @@
     hook =
         ccTlsHooks
             { onSuggestALPN = (<|>) <$> ccALPN ver <*> onSuggestALPN ccTlsHooks
+            , onServerCertificate = ccOnServerCertificate
             }
     supported =
         defaultSupported
diff --git a/quic.cabal b/quic.cabal
--- a/quic.cabal
+++ b/quic.cabal
@@ -1,6 +1,6 @@
 cabal-version:      >=1.10
 name:               quic
-version:            0.2.14
+version:            0.2.15
 license:            BSD3
 license-file:       LICENSE
 maintainer:         kazu@iij.ad.jp
@@ -138,6 +138,7 @@
         crypton >=0.34,
         crypton-x509 >=1.7.6 && <1.8,
         crypton-x509-system >=1.6.7 && <1.7,
+        crypton-x509-validation >=1.6 && <1.7,
         fast-logger >=3.2.2 && <3.3,
         filepath,
         iproute >=1.7.12 && <1.8,
