|
51 | 51 | CAN_GET_SELECTED_OPENSSL_GROUP = ssl.OPENSSL_VERSION_INFO >= (3, 2) |
52 | 52 | CAN_IGNORE_UNKNOWN_OPENSSL_GROUPS = ssl.OPENSSL_VERSION_INFO >= (3, 3) |
53 | 53 | CAN_GET_AVAILABLE_OPENSSL_GROUPS = ssl.OPENSSL_VERSION_INFO >= (3, 5) |
| 54 | +CAN_SET_CLIENT_SIGALGS = "AWS-LC" not in ssl.OPENSSL_VERSION |
54 | 55 | CAN_IGNORE_UNKNOWN_OPENSSL_SIGALGS = ssl.OPENSSL_VERSION_INFO >= (3, 3) |
55 | 56 | CAN_GET_SELECTED_OPENSSL_SIGALG = ssl.OPENSSL_VERSION_INFO >= (3, 5) |
56 | 57 | PY_SSL_DEFAULT_CIPHERS = sysconfig.get_config_var('PY_SSL_DEFAULT_CIPHERS') |
@@ -997,20 +998,30 @@ def test_get_groups(self): |
997 | 998 | self.assertNotIn('P-256', ctx.get_groups()) |
998 | 999 | self.assertIn('P-256', ctx.get_groups(include_aliases=True)) |
999 | 1000 |
|
1000 | | - def test_set_sigalgs(self): |
| 1001 | + @unittest.skipUnless(CAN_SET_CLIENT_SIGALGS, |
| 1002 | + "AWS-LC doesn't support setting client sigalgs") |
| 1003 | + def test_set_client_sigalgs(self): |
1001 | 1004 | ctx = ssl.create_default_context() |
1002 | 1005 |
|
1003 | 1006 | self.assertIsNone(ctx.set_client_sigalgs('rsa_pss_rsae_sha256')) |
1004 | | - self.assertIsNone(ctx.set_server_sigalgs('rsa_pss_rsae_sha256')) |
1005 | 1007 |
|
1006 | 1008 | self.assertRaises(ssl.SSLError, ctx.set_client_sigalgs, |
1007 | 1009 | 'rsa_pss_rsae_sha256:foo') |
| 1010 | + |
| 1011 | + # Ignoring unknown sigalgs is only supported since OpenSSL 3.3. |
| 1012 | + if CAN_IGNORE_UNKNOWN_OPENSSL_SIGALGS: |
| 1013 | + self.assertIsNone(ctx.set_client_sigalgs('rsa_pss_rsae_sha256:?foo')) |
| 1014 | + |
| 1015 | + def test_set_server_sigalgs(self): |
| 1016 | + ctx = ssl.create_default_context() |
| 1017 | + |
| 1018 | + self.assertIsNone(ctx.set_server_sigalgs('rsa_pss_rsae_sha256')) |
| 1019 | + |
1008 | 1020 | self.assertRaises(ssl.SSLError, ctx.set_server_sigalgs, |
1009 | 1021 | 'rsa_pss_rsae_sha256:foo') |
1010 | 1022 |
|
1011 | 1023 | # Ignoring unknown sigalgs is only supported since OpenSSL 3.3. |
1012 | 1024 | if CAN_IGNORE_UNKNOWN_OPENSSL_SIGALGS: |
1013 | | - self.assertIsNone(ctx.set_client_sigalgs('rsa_pss_rsae_sha256:?foo')) |
1014 | 1025 | self.assertIsNone(ctx.set_server_sigalgs('rsa_pss_rsae_sha256:?foo')) |
1015 | 1026 |
|
1016 | 1027 | def test_options(self): |
|
0 commit comments