Ver Fonte

CI: Fix prov example test cryptography package version exception handling

Shivani Tipnis há 5 anos atrás
pai
commit
37bcd4e0ba
1 ficheiros alterados com 8 adições e 2 exclusões
  1. 8 2
      tools/esp_prov/security/security1.py

+ 8 - 2
tools/esp_prov/security/security1.py

@@ -24,7 +24,7 @@ import proto
 from .security import Security
 from .security import Security
 
 
 from cryptography.hazmat.backends import default_backend
 from cryptography.hazmat.backends import default_backend
-from cryptography.hazmat.primitives import hashes
+from cryptography.hazmat.primitives import hashes, serialization
 from cryptography.hazmat.primitives.asymmetric.x25519 import X25519PrivateKey, X25519PublicKey
 from cryptography.hazmat.primitives.asymmetric.x25519 import X25519PrivateKey, X25519PublicKey
 from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
 from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
 
 
@@ -82,7 +82,13 @@ class Security1(Security):
     def __generate_key(self):
     def __generate_key(self):
         # Generate private and public key pair for client
         # Generate private and public key pair for client
         self.client_private_key = X25519PrivateKey.generate()
         self.client_private_key = X25519PrivateKey.generate()
-        self.client_public_key  = self.client_private_key.public_key().public_bytes()
+        try:
+            self.client_public_key = self.client_private_key.public_key().public_bytes(
+                encoding=serialization.Encoding.Raw,
+                format=serialization.PublicFormat.Raw)
+        except TypeError:
+            # backward compatible call for older cryptography library
+            self.client_public_key  = self.client_private_key.public_key().public_bytes()
 
 
     def _print_verbose(self, data):
     def _print_verbose(self, data):
         if (self.verbose):
         if (self.verbose):