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

Class RSAKeyWrapper

samples/queue/encryption_usage.py:59–93  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected