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
On [Windows](https://learn.microsoft.com/en-us/windows/win32/security),
192
+
the built-in OS library (Schannel) is used.
194
193
On Linux/Unix/etc [s2n-tls](https://github.com/aws/s2n-tls) is used.
194
+
On macOS, the default TLS backend is Apple Secure Transport, but an
195
+
alternative backend (s2n-tls) can be selected at runtime (see below).
195
196
196
197
If you need to add certificates to the trust store, add them to your OS trust store.
197
198
The CRT does not use the Java TrustStore. For more customization options, see
@@ -200,7 +201,25 @@ The CRT does not use the Java TrustStore. For more customization options, see
200
201
201
202
### Mac-Only TLS Behavior
202
203
203
-
Please note that on Mac, once a private key is used with a certificate, that certificate-key pair is imported into the Mac Keychain. All subsequent uses of that certificate will use the stored private key and ignore anything passed in programmatically. Beginning in v0.6.6, when a stored private key from the Keychain is used, the following will be logged at the "info" log level:
On macOS, both Apple Secure Transport and s2n-tls are compiled into the binary.
207
+
The TLS backend is selected at runtime based on this environment variable:
208
+
209
+
***Not set (default):** Apple Secure Transport is used.
210
+
***Set (e.g. `AWS_CRT_USE_NON_FIPS_TLS_13=1`):** s2n-tls with aws-lc is used.
211
+
212
+
This variable has no effect on Linux (always uses s2n-tls) or Windows (always uses Schannel).
213
+
214
+
|| Secure Transport (default) | s2n-tls (`AWS_CRT_USE_NON_FIPS_TLS_13=1`) |
215
+
|---|---|---|
216
+
| TLS versions | Up to TLS 1.2 | Up to TLS 1.3 |
217
+
| FIPS compliance | Yes | No |
218
+
| macOS Keychain integration | Yes (PKCS#12, system certs) | No |
219
+
220
+
#### Keychain behavior
221
+
222
+
Please note that on Mac, once a private key is used with a certificate, that certificate-key pair is imported into the Mac Keychain. All subsequent uses of that certificate will use the stored private key and ignore anything passed in programmatically. This applies when using the default Secure Transport backend. Beginning in v0.6.6, when a stored private key from the Keychain is used, the following will be logged at the "info" log level:
204
223
205
224
```
206
225
static: certificate has an existing certificate-key pair that was previously imported into the Keychain. Using key from Keychain instead of the one provided.
0 commit comments