| 
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