Skip to content

Commit 4c9319a

Browse files
committed
CDRIVER-3408 document current OCSP behavior
1 parent a035ec3 commit 4c9319a

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

src/libmongoc/doc/configuring_tls.rst

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,13 +90,25 @@ When compiled against OpenSSL, the driver will attempt to load the system defaul
9090

9191
Setting ``tlsDisableOCSPEndpointCheck`` and ``tlsDisableCertificateRevocationCheck`` has no effect.
9292

93+
The Online Certificate Status Protocol (OCSP) is partially supported (see `RFC 6960 <https://tools.ietf.org/html/rfc6960>`_). Support requires OpenSSL 1.1.0 and has the following behavior:
94+
95+
- Stapled OCSP responses are validated on certificates presented by the server.
96+
- Server certificates with a Must-Staple extension (see `RFC 7633 <https://tools.ietf.org/html/rfc7633>`_) are required to have stapled responses.
97+
- When a ``crl_file`` is set with :symbol:`mongoc_ssl_opt_t`, and the ``crl_file`` revokes the server's certificate, the certificate is considered revoked (even if the certificate has a valid stapled OCSP response)
98+
9399
LibreSSL / libtls
94100
`````````````````
95101

96102
The MongoDB C Driver supports LibreSSL through the use of OpenSSL compatibility checks when configured to compile against ``openssl``. It also supports the new ``libtls`` library when configured to build against ``libressl``.
97103

98104
Setting ``tlsDisableOCSPEndpointCheck`` and ``tlsDisableCertificateRevocationCheck`` has no effect.
99105

106+
The Online Certificate Status Protocol (OCSP) is partially supported (see `RFC 6960 <https://tools.ietf.org/html/rfc6960>`_).
107+
108+
- Stapled OCSP responses are validated on certificates presented by the server.
109+
- The Must-Staple extension (see `RFC 7633 <https://tools.ietf.org/html/rfc7633>`_) is ignored. Connection may continue if a Must-Staple certificate is presented with no stapled response (unless the client receives a revoked response from an OCSP responder).
110+
- Connection will continue if a Must-Staple certificate is presented without a stapled response and the OCSP responder is down.
111+
100112
Native TLS Support on Windows (Secure Channel)
101113
``````````````````````````````````````````````
102114

@@ -114,6 +126,13 @@ Setting ``tlsDisableOCSPEndpointCheck`` has no effect.
114126

115127
Setting ``tlsAllowInvalidHostnames`` additionally consider certificates with no revocation mechanisms specified (CRL / OCSP) a non-error.
116128

129+
The Online Certificate Status Protocol (OCSP) is partially supported (see `RFC 6960 <https://tools.ietf.org/html/rfc6960>`_).
130+
131+
- Stapled OCSP responses are validated on certificates presented by the server.
132+
- The Must-Staple extension (see `RFC 7633 <https://tools.ietf.org/html/rfc7633>`_) is ignored. Connection may continue if a Must-Staple certificate is presented with no stapled response (unless the client receives a revoked response from an OCSP responder).
133+
- When a ``crl_file`` is set with :symbol:`mongoc_ssl_opt_t`, and the ``crl_file`` revokes the server's certificate, the OCSP response takes precedence. E.g. if the server presents a certificate with a valid stapled OCSP response, the certificate is considered valid even if the ``crl_file`` marks it as revoked.
134+
- Connection will continue if a Must-Staple certificate is presented without a stapled response and the OCSP responder is down.
135+
117136
.. _Secure Transport:
118137

119138
Native TLS Support on macOS / Darwin (Secure Transport)
@@ -125,4 +144,10 @@ When compiled against Secure Transport, the ``ca_dir`` option of a :symbol:`mong
125144

126145
When ``tlsCAFile`` is set, the driver will only allow server certificates issued by the authority (or authorities) provided. When no ``tlsCAFile`` is set, the driver will use the Certificate Authorities in the currently unlocked keychains.
127146

128-
Setting ``tlsDisableOCSPEndpointCheck`` and ``tlsDisableCertificateRevocationCheck`` has no effect.
147+
Setting ``tlsDisableOCSPEndpointCheck`` and ``tlsDisableCertificateRevocationCheck`` has no effect.
148+
149+
The Online Certificate Status Protocol (OCSP) is partially supported (see `RFC 6960 <https://tools.ietf.org/html/rfc6960>`_).
150+
151+
- Stapled OCSP responses are validated on certificates presented by the server.
152+
- The Must-Staple extension (see `RFC 7633 <https://tools.ietf.org/html/rfc7633>`_) is ignored. Connection may continue if a Must-Staple certificate is presented with no stapled response (unless the client receives a revoked response from an OCSP responder).
153+
- Connection will continue if a Must-Staple certificate is presented without a stapled response and the OCSP responder is down.

0 commit comments

Comments
 (0)