MCPcopy Create free account
hub / github.com/Azure/azure-storage-python / RSAKeyWrapper

Class RSAKeyWrapper

samples/blob/encryption_usage.py:60–94  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

58
59
60class RSAKeyWrapper:
61 def __init__(self, kid):
62 self.private_key = generate_private_key(public_exponent=65537,
63 key_size=2048,
64 backend=default_backend())
65 self.public_key = self.private_key.public_key()
66 self.kid = 'local:' + kid
67
68 def wrap_key(self, key, algorithm='RSA'):
69 if algorithm == 'RSA':
70 return self.public_key.encrypt(key,
71 OAEP(
72 mgf=MGF1(algorithm=SHA1()),
73 algorithm=SHA1(),
74 label=None)
75 )
76 else:
77 raise ValueError(_ERROR_UNKNOWN_KEY_WRAP_ALGORITHM)
78
79 def unwrap_key(self, key, algorithm):
80 if algorithm == 'RSA':
81 return self.private_key.decrypt(key,
82 OAEP(
83 mgf=MGF1(algorithm=SHA1()),
84 algorithm=SHA1(),
85 label=None)
86 )
87 else:
88 raise ValueError(_ERROR_UNKNOWN_KEY_WRAP_ALGORITHM)
89
90 def get_key_wrap_algorithm(self):
91 return 'RSA'
92
93 def get_kid(self):
94 return self.kid
95
96
97class BlobEncryptionSamples():

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected