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
| ChaCha20Poly1305 | Windows 10 Build 20142+ | OpenSSL 1.1.0+ |⚠️ | ⚠️ | API Level 28+ | ❌ |
85
+
| ChaCha20Poly1305 | Windows 10 Build 20142+ | OpenSSL 1.1.0+ |✔️ | ⚠️ | API Level 28+ | ❌ |
88
86
89
87
### AES-CCM on macOS
90
88
91
89
On macOS, the system libraries don't support AES-CCM for third-party code, so the <xref:System.Security.Cryptography.AesCcm> class uses OpenSSL for support. Users on macOS need to obtain an appropriate copy of OpenSSL (libcrypto) for this type to function, and it must be in a path that the system would load a library from by default. We recommend that you install OpenSSL from a package manager such as Homebrew.
92
90
93
91
The `libcrypto.0.9.7.dylib` and `libcrypto.0.9.8.dylib` libraries included in macOS are from earlier versions of OpenSSL and will not be used. The `libcrypto.35.dylib`, `libcrypto.41.dylib`, and `libcrypto.42.dylib` libraries are from LibreSSL and will not be used.
94
92
95
-
### AES-GCM and ChaCha20Poly1305 on macOS
96
-
97
-
macOS did not support AES-GCM or ChaCha20Poly1305 until macOS 10.15 for third-party code. Prior to .NET 8, <xref:System.Security.Cryptography.AesGcm> and <xref:System.Security.Cryptography.ChaCha20Poly1305> have the same requirement as AES-CCM and users must install OpenSSL for these types to function.
98
-
99
-
Starting in .NET 8, .NET on macOS will use the Apple's CryptoKit framework for AES-GCM and ChaCha20Poly1305. Users will not need to install or configure any additional dependencies for AES-GCM or ChaCha20Poly1305 on macOS.
100
-
101
93
### AES-GCM and ChaCha20Poly1305 on iOS, tvOS, and MacCatalyst
102
94
103
95
Support for AES-GCM and ChaCha20Poly1305 is available starting in .NET 9 on iOS and tvOS 13.0 and later, and all versions of MacCatalyst.
@@ -157,16 +149,14 @@ Padding and digest support vary by platform:
<sup>1</sup> Windows CryptoAPI (CAPI) is capable of PKCS1 signature with a SHA-2 algorithm. But the individual RSA object may be loaded in a cryptographic service provider (CSP) that doesn't support it.
167
159
168
-
<sup>2</sup> Requires .NET 8.
169
-
170
160
#### RSA on Windows
171
161
172
162
* Windows CryptoAPI (CAPI) is used whenever [`new RSACryptoServiceProvider()`](xref:System.Security.Cryptography.RSACryptoServiceProvider) is used.
@@ -238,8 +228,6 @@ The <xref:System.Security.Cryptography.ECDiffieHellman> class supports the "raw"
238
228
* HMAC(Z, prepend || Z || append)
239
229
* Tls11Prf(label, seed)
240
230
241
-
"Raw" key derivation was introduced in .NET 8.
242
-
243
231
ECDH key curves are defined by the OS libraries and are subject to their limitations.
244
232
245
233
| Elliptic Curve | Windows 10 | Windows 7 - 8.1 | Linux | macOS | iOS, tvOS, MacCatalyst | Android |
0 commit comments