You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: docs/manual/mod/mod_ssl.xml
+32
Original file line number
Diff line number
Diff line change
@@ -110,6 +110,14 @@ compatibility variables.</p>
110
110
<tr><td><code>SSL_SRP_USERINFO</code></td> <td>string</td> <td>SRP user info</td></tr>
111
111
<tr><td><code>SSL_TLS_SNI</code></td> <td>string</td> <td>Contents of the SNI TLS extension (if supplied with ClientHello)</td></tr>
112
112
<tr><td><code>SSL_HANDSHAKE_RTT</code></td> <td>number</td> <td>Round-trip time of TLS handshake in microseconds including endpoint processing (set to empty string if OpenSSL version prior to 3.2 or if round-trip time can not be determined)</td></tr>
113
+
<tr><td><code>SSL_CLIENTHELLO_VERSION</code></td> <td>string</td> <td>Version field (legacy) from ClientHello as four hex encoded characters</td></tr>
114
+
<tr><td><code>SSL_CLIENTHELLO_CIPHERS</code></td> <td>string</td> <td>Cipher Suites from ClientHello as four hex encoded characters per item</td></tr>
115
+
<tr><td><code>SSL_CLIENTHELLO_EXTENSIONS</code></td> <td>string</td> <td>Extension IDs from ClientHello as four hex encoded characters per item</td></tr>
116
+
<tr><td><code>SSL_CLIENTHELLO_GROUPS</code></td> <td>string</td> <td>Value of Supported Groups extension (10) from ClientHello as four hex encoded characters per item</td></tr>
117
+
<tr><td><code>SSL_CLIENTHELLO_EC_FORMATS</code></td> <td>string</td> <td>Value of EC Point Formats extension (11) from ClientHello as two hex encoded characters per item</td></tr>
118
+
<tr><td><code>SSL_CLIENTHELLO_SIG_ALGOS</code></td> <td>string</td> <td>Value of Signature Algorithms extension (13) from ClientHello as four hex encoded characters per item</td></tr>
119
+
<tr><td><code>SSL_CLIENTHELLO_ALPN</code></td> <td>string</td> <td>Value of ALPN extension (16) from ClientHello as hex encoded string including leading string lengths</td></tr>
120
+
<tr><td><code>SSL_CLIENTHELLO_VERSIONS</code></td> <td>string</td> <td>Value of Supported Versions extension (43) from ClientHello as four hex encoded characters per item</td></tr>
113
121
</table>
114
122
115
123
<p><em>x509</em> specifies a component of an X.509 DN; one of
@@ -142,6 +150,10 @@ suffix (if any). For example, <code>SSL_SERVER_S_DN_OU_RAW</code> or
142
150
<p><code>SSL_CLIENT_V_REMAIN</code> is only available in version 2.1
143
151
and later.</p>
144
152
153
+
<p>The <code>SSL_CLIENTHELLO_*</code> variables require the directive
154
+
<directivemodule="mod_ssl">SSLClientHelloVars</directive> to be
155
+
enabled or they will not be populated.</p>
156
+
145
157
<p>A number of additional environment variables can also be used
146
158
in <directive>SSLRequire</directive> expressions, or in custom log
147
159
formats:</p>
@@ -2858,6 +2870,26 @@ be protected with file permissions similar to those used for
2858
2870
</usage>
2859
2871
</directivesynopsis>
2860
2872
2873
+
<directivesynopsis>
2874
+
<name>SSLClientHelloVars</name>
2875
+
<description>Enable collection of ClientHello variables</description>
2876
+
<syntax>SSLClientHelloVars on|off</syntax>
2877
+
<default>SSLClientHelloVars off</default>
2878
+
<contextlist><context>server config</context>
2879
+
<context>virtual host</context></contextlist>
2880
+
<compatibility>Available in httpd 2.5.2 and later, requires OpenSSL 1.1.1 or later</compatibility>
2881
+
2882
+
<usage>
2883
+
<p>This directive enables collection of ClientHello data during the handshake that is retained for
2884
+
the length of the connection so it can be exposed as <code>SSL_CLIENTHELLLO_*</code> environment
2885
+
variables for requests depending upon the <code>StdEnvVars</code> setting. The variables are
2886
+
formatted as the hex-encoded raw buffers seen in the raw network protocol and as provided
2887
+
by OpenSSL. GREASE (RFC 8701) values are filtered by OpenSSL when enumerating extension IDs, but
2888
+
otherwise, are passed through unchanged for other variables. If this directive is not enabled or
2889
+
if OpenSSL prior to version 1.1.1 is used, these variables will not have a value set.</p>
2890
+
</usage>
2891
+
</directivesynopsis>
2892
+
2861
2893
<directivesynopsis>
2862
2894
<name>SSLCompression</name>
2863
2895
<description>Enable compression on the SSL level</description>
0 commit comments