From 4fa331b32a6f99b2b937a61ad7649e444914e5b7 Mon Sep 17 00:00:00 2001 From: Bin Ma Date: Fri, 17 Jan 2020 16:11:56 +0800 Subject: [PATCH 01/14] Add support for downloading key --- .../cli/command_modules/keyvault/_params.py | 6 +- .../cli/command_modules/keyvault/commands.py | 1 + .../cli/command_modules/keyvault/custom.py | 110 ++++++++++++++++++ 3 files changed, 116 insertions(+), 1 deletion(-) diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/_params.py b/src/azure-cli/azure/cli/command_modules/keyvault/_params.py index 8409ff54f98..3ec984e3bb3 100644 --- a/src/azure-cli/azure/cli/command_modules/keyvault/_params.py +++ b/src/azure-cli/azure/cli/command_modules/keyvault/_params.py @@ -30,7 +30,7 @@ # CUSTOM CHOICE LISTS secret_encoding_values = secret_text_encoding_values + secret_binary_encoding_values -certificate_format_values = ['PEM', 'DER'] +key_format_values = certificate_format_values = ['PEM', 'DER'] # pylint: disable=too-many-locals, too-many-branches, too-many-statements, line-too-long @@ -160,6 +160,10 @@ def load_arguments(self, _): with self.argument_context('keyvault key backup') as c: c.argument('file_path', options_list=['--file', '-f'], type=file_type, completer=FilesCompleter(), help='Local file path in which to store key backup.') + with self.argument_context('keyvault key download') as c: + c.argument('file_path', options_list=['--file', '-f'], type=file_type, completer=FilesCompleter(), help='File to receive the key contents.') + c.argument('encoding', arg_type=get_enum_type(key_format_values), options_list=['--encoding', '-e'], help='Encoding of the key, default: PEM', default='PEM') + with self.argument_context('keyvault key restore') as c: c.argument('file_path', options_list=['--file', '-f'], type=file_type, completer=FilesCompleter(), help='Local key backup from which to restore key.') diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/commands.py b/src/azure-cli/azure/cli/command_modules/keyvault/commands.py index 685abb3e8f1..cdd13abd93e 100644 --- a/src/azure-cli/azure/cli/command_modules/keyvault/commands.py +++ b/src/azure-cli/azure/cli/command_modules/keyvault/commands.py @@ -79,6 +79,7 @@ def load_command_table(self, _): g.keyvault_custom('backup', 'backup_key', doc_string_source=data_doc_string.format('backup_key')) g.keyvault_custom('restore', 'restore_key', doc_string_source=data_doc_string.format('restore_key')) g.keyvault_custom('import', 'import_key') + g.keyvault_custom('download', 'download_key') with self.command_group('keyvault secret', kv_data_sdk) as g: g.keyvault_command('list', 'get_secrets') diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py index 2ee0d41c956..58c77cc4561 100644 --- a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py +++ b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py @@ -7,9 +7,12 @@ import codecs import json +import math import os import time +import struct +from jose.constants import Algorithms from knack.log import get_logger from knack.util import CLIError @@ -694,6 +697,113 @@ def _private_ec_key_to_jwk(ec_key, jwk): key_obj.t = byok_data return client.import_key(vault_base_url, key_name, key_obj, protection == 'hsm', key_attrs, tags) + + +def download_key(cmd, client, file_path, vault_base_url=None, key_name=None, key_version='', + encoding=None, identifier=None): # pylint: disable=unused-argument + """ Download a key from a KeyVault. """ + if os.path.isfile(file_path) or os.path.isdir(file_path): + raise CLIError("File or directory named '{}' already exists.".format(file_path)) + + def _bytes_to_int(b): + len_diff = 4 - len(b) % 4 if len(b) % 4 > 0 else 0 + b = len_diff * b'\x00' + b # We have to patch leading zeros for using struct.unpack + bytes_num = int(math.floor(len(b) / 4)) + return struct.unpack('>' + 'I' * bytes_num, b)[0] + + def _jwk_to_dict(jwk): + d = {} + if jwk.crv: + d['crv'] = jwk.crv + if jwk.kid: + d['kid'] = jwk.kid + if jwk.kty: + d['kty'] = jwk.kty + if jwk.d: + d['d'] = _bytes_to_int(jwk.d) + if jwk.dp: + d['dp'] = _bytes_to_int(jwk.dp) + if jwk.dq: + d['dq'] = _bytes_to_int(jwk.dq) + if jwk.e: + d['e'] = _bytes_to_int(jwk.e) + if jwk.k: + d['k'] = _bytes_to_int(jwk.k) + if jwk.n: + d['n'] = _bytes_to_int(jwk.n) + if jwk.p: + d['p'] = _bytes_to_int(jwk.p) + if jwk.q: + d['q'] = _bytes_to_int(jwk.q) + if jwk.qi: + d['qi'] = _bytes_to_int(jwk.qi) + if jwk.t: + d['t'] = _bytes_to_int(jwk.t) + if jwk.x: + d['x'] = _bytes_to_int(jwk.x) + if jwk.y: + d['y'] = _bytes_to_int(jwk.y) + + return d + + def _jwk_to_rsa_private_key(jwk_dict): + e = jwk_dict.get('e', 256) + n = jwk_dict.get('n') + public = rsa.RSAPublicNumbers(e, n) + + d = jwk_dict.get('d') + extra_params = ['p', 'q', 'dp', 'dq', 'qi'] + + if any(k in jwk_dict for k in extra_params): + if not all(k in jwk_dict for k in extra_params): + raise CLIError('Invalid key format: precomputed private key parameters are incomplete.') + p = jwk_dict['p'] + q = jwk_dict['q'] + dp = jwk_dict['dp'] + dq = jwk_dict['dq'] + qi = jwk_dict['qi'] + else: + p, q = rsa.rsa_recover_prime_factors(n, e, d) + dp = rsa.rsa_crt_dmp1(d, p) + dq = rsa.rsa_crt_dmq1(d, q) + qi = rsa.rsa_crt_iqmp(p, q) + + private = rsa.RSAPrivateNumbers(p, q, d, dp, dq, qi, public) + return private.private_key(default_backend()) + + key = client.get_key(vault_base_url, key_name, key_version) + json_web_key = _jwk_to_dict(key.key) + key_type = json_web_key['kty'] + key_binary = b'' + + if key_type == 'RSA': + rsa_key = _jwk_to_rsa_private_key(json_web_key) + pem = rsa_key.to_pem() + pass + elif key_type == 'EC': + pass + else: + raise CLIError('Invalid key type: {}'.format(key_type)) + + try: + with open(file_path, 'wb') as f: + if encoding == 'DER': + f.write(key_binary) + else: + import base64 + encoded = base64.encodestring(key_binary) # pylint:disable=deprecated-method + if isinstance(encoded, bytes): + encoded = encoded.decode("utf-8") + encoded = '-----BEGIN {algo} PRIVATE KEY-----\n{encoded}-----END {algo} PRIVATE KEY-----\n'.format( + algo=key_type, + encoded=encoded + ) + f.write(encoded.encode("utf-8")) + + except Exception as ex: # pylint: disable=broad-except + if os.path.isfile(file_path): + os.remove(file_path) + raise ex # endregion From d8278b8340917bc25f66230c50fb7f159553fca4 Mon Sep 17 00:00:00 2001 From: Bin Ma Date: Mon, 20 Jan 2020 17:24:31 +0800 Subject: [PATCH 02/14] Fix bug & Support EC key --- .../cli/command_modules/keyvault/custom.py | 95 ++++++++++--------- 1 file changed, 51 insertions(+), 44 deletions(-) diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py index 58c77cc4561..e68832bbb59 100644 --- a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py +++ b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py @@ -4,7 +4,6 @@ # -------------------------------------------------------------------------------------------- # pylint: disable=too-many-lines - import codecs import json import math @@ -12,14 +11,14 @@ import time import struct -from jose.constants import Algorithms + from knack.log import get_logger from knack.util import CLIError from OpenSSL import crypto from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives.asymmetric import rsa, ec -from cryptography.hazmat.primitives.serialization import load_pem_private_key +from cryptography.hazmat.primitives.serialization import load_pem_private_key, Encoding, PublicFormat from cryptography.exceptions import UnsupportedAlgorithm @@ -709,7 +708,12 @@ def _bytes_to_int(b): len_diff = 4 - len(b) % 4 if len(b) % 4 > 0 else 0 b = len_diff * b'\x00' + b # We have to patch leading zeros for using struct.unpack bytes_num = int(math.floor(len(b) / 4)) - return struct.unpack('>' + 'I' * bytes_num, b)[0] + ans = 0 + items = struct.unpack('>' + 'I' * bytes_num, b) + for sub_int in items: + ans *= 2 ** 32 + ans += sub_int + return ans def _jwk_to_dict(jwk): d = {} @@ -746,60 +750,63 @@ def _jwk_to_dict(jwk): return d - def _jwk_to_rsa_private_key(jwk_dict): + def _extract_rsa_public_key_from_jwk(jwk_dict): e = jwk_dict.get('e', 256) n = jwk_dict.get('n') public = rsa.RSAPublicNumbers(e, n) - - d = jwk_dict.get('d') - extra_params = ['p', 'q', 'dp', 'dq', 'qi'] - - if any(k in jwk_dict for k in extra_params): - if not all(k in jwk_dict for k in extra_params): - raise CLIError('Invalid key format: precomputed private key parameters are incomplete.') - p = jwk_dict['p'] - q = jwk_dict['q'] - dp = jwk_dict['dp'] - dq = jwk_dict['dq'] - qi = jwk_dict['qi'] - else: - p, q = rsa.rsa_recover_prime_factors(n, e, d) - dp = rsa.rsa_crt_dmp1(d, p) - dq = rsa.rsa_crt_dmq1(d, q) - qi = rsa.rsa_crt_iqmp(p, q) - - private = rsa.RSAPrivateNumbers(p, q, d, dp, dq, qi, public) - return private.private_key(default_backend()) + return public.public_key(default_backend()) + + def _extract_ec_public_key_from_jwk(jwk_dict): + if not all(k in jwk_dict for k in ['x', 'y', 'crv']): + raise CLIError('Invalid EC key: missing properties(x, y, crv)') + + x = jwk_dict.get('x') + y = jwk_dict.get('y') + curves = { + 'P-256': ec.SECP256R1, + 'P-384': ec.SECP384R1, + 'P-521': ec.SECP521R1, + 'SECP256K1': ec.SECP256K1 + } + curve = curves[jwk_dict['crv']] + public = ec.EllipticCurvePublicNumbers(x, y, curve()) + return public.public_key(default_backend()) key = client.get_key(vault_base_url, key_name, key_version) json_web_key = _jwk_to_dict(key.key) key_type = json_web_key['kty'] - key_binary = b'' + pub_key = '' if key_type == 'RSA': - rsa_key = _jwk_to_rsa_private_key(json_web_key) - pem = rsa_key.to_pem() - pass + pub_key = _extract_rsa_public_key_from_jwk(json_web_key) elif key_type == 'EC': - pass + pub_key = _extract_ec_public_key_from_jwk(json_web_key) else: - raise CLIError('Invalid key type: {}'.format(key_type)) + raise CLIError('Unsupported key type: {}'.format(key_type)) + + def _to_der(k): + return k.public_bytes( + encoding=Encoding.DER, + format=PublicFormat.SubjectPublicKeyInfo + ) + + def _to_pem(k): + return k.public_bytes( + encoding=Encoding.PEM, + format=PublicFormat.SubjectPublicKeyInfo + ) + + methods = { + 'DER': _to_der, + 'PEM': _to_pem + } + + if encoding not in methods.keys(): + raise CLIError('Unsupported encoding: {}'.format(encoding)) try: with open(file_path, 'wb') as f: - if encoding == 'DER': - f.write(key_binary) - else: - import base64 - encoded = base64.encodestring(key_binary) # pylint:disable=deprecated-method - if isinstance(encoded, bytes): - encoded = encoded.decode("utf-8") - encoded = '-----BEGIN {algo} PRIVATE KEY-----\n{encoded}-----END {algo} PRIVATE KEY-----\n'.format( - algo=key_type, - encoded=encoded - ) - f.write(encoded.encode("utf-8")) - + f.write(methods[encoding](pub_key)) except Exception as ex: # pylint: disable=broad-except if os.path.isfile(file_path): os.remove(file_path) From c424926588dd79bb55b1788ae61c1683414b82e2 Mon Sep 17 00:00:00 2001 From: Bin Ma Date: Mon, 20 Jan 2020 21:22:25 +0800 Subject: [PATCH 03/14] Add tests --- .../cli/command_modules/keyvault/custom.py | 6 +- .../tests/latest/download-der/ec-p256-file | Bin 0 -> 91 bytes .../tests/latest/download-pem/ec-p256-file | 4 + .../keyvault/tests/latest/keys/ec-p256.pem | 8 + .../tests/latest/keys/ec-p256.pub.der | Bin 0 -> 91 bytes .../tests/latest/keys/ec-p256.pub.pem | 4 + .../keyvault/tests/latest/keys/ec-p256k.pem | 8 + .../tests/latest/keys/ec-p256k.pub.der | Bin 0 -> 88 bytes .../tests/latest/keys/ec-p256k.pub.pem | 4 + .../keyvault/tests/latest/keys/ec-p384.pem | 9 + .../tests/latest/keys/ec-p384.pub.der | Bin 0 -> 120 bytes .../tests/latest/keys/ec-p384.pub.pem | 5 + .../keyvault/tests/latest/keys/ec-p521.pem | 10 + .../tests/latest/keys/ec-p521.pub.der | Bin 0 -> 158 bytes .../tests/latest/keys/ec-p521.pub.pem | 6 + .../keyvault/tests/latest/keys/rsa-2048.pem | 27 ++ .../tests/latest/keys/rsa-2048.pub.der | Bin 0 -> 294 bytes .../tests/latest/keys/rsa-2048.pub.pem | 9 + .../keyvault/tests/latest/keys/rsa-3072.pem | 39 ++ .../tests/latest/keys/rsa-3072.pub.der | Bin 0 -> 422 bytes .../tests/latest/keys/rsa-3072.pub.pem | 11 + .../keyvault/tests/latest/keys/rsa-4096.pem | 51 +++ .../tests/latest/keys/rsa-4096.pub.der | Bin 0 -> 550 bytes .../tests/latest/keys/rsa-4096.pub.pem | 14 + .../test_keyvault_key_download.yaml | 402 ++++++++++++++++++ .../tests/latest/test_keyvault_commands.py | 98 +++++ 26 files changed, 712 insertions(+), 3 deletions(-) create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/download-der/ec-p256-file create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/download-pem/ec-p256-file create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p256.pem create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p256.pub.der create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p256.pub.pem create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p256k.pem create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p256k.pub.der create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p256k.pub.pem create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p384.pem create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p384.pub.der create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p384.pub.pem create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p521.pem create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p521.pub.der create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p521.pub.pem create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-2048.pem create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-2048.pub.der create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-2048.pub.pem create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-3072.pem create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-3072.pub.der create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-3072.pub.pem create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-4096.pem create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-4096.pub.der create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-4096.pub.pem create mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/recordings/test_keyvault_key_download.yaml diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py index e68832bbb59..9a62b9d72a6 100644 --- a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py +++ b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py @@ -698,7 +698,7 @@ def _private_ec_key_to_jwk(ec_key, jwk): return client.import_key(vault_base_url, key_name, key_obj, protection == 'hsm', key_attrs, tags) -def download_key(cmd, client, file_path, vault_base_url=None, key_name=None, key_version='', +def download_key(client, file_path, vault_base_url=None, key_name=None, key_version='', encoding=None, identifier=None): # pylint: disable=unused-argument """ Download a key from a KeyVault. """ if os.path.isfile(file_path) or os.path.isdir(file_path): @@ -777,9 +777,9 @@ def _extract_ec_public_key_from_jwk(jwk_dict): key_type = json_web_key['kty'] pub_key = '' - if key_type == 'RSA': + if key_type in ['RSA', 'RSA-HSM']: pub_key = _extract_rsa_public_key_from_jwk(json_web_key) - elif key_type == 'EC': + elif key_type in ['EC', 'EC-HSM']: pub_key = _extract_ec_public_key_from_jwk(json_web_key) else: raise CLIError('Unsupported key type: {}'.format(key_type)) diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/download-der/ec-p256-file b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/download-der/ec-p256-file new file mode 100644 index 0000000000000000000000000000000000000000..352c28390887016475096481bc978d0c0101165c GIT binary patch literal 91 zcmXqrG!SNE*J|@PXUoLM#sOw9GqN)~F|ZVcYHulz*m6C7`gXmFd)94>t-Rj!&yUw$ ucIe%fr1}-*?W?}U&et-Rj!&yUw$ ucIe%fr1}-*?W?}U&eW41JpcI8Xql@+DM@Fjm u)0+Zox-()#OCjwRN8bzsg799JLl<{w&?60~h6~LyY#V;VE_e`Uipf7en;~BS literal 0 HcmV?d00001 diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p256k.pub.pem b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p256k.pub.pem new file mode 100644 index 00000000000..1b59255a681 --- /dev/null +++ b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p256k.pub.pem @@ -0,0 +1,4 @@ +-----BEGIN PUBLIC KEY----- +MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEH7Thoa/qhy7HoBSFPKOL9edHRqr305sC +a7ozYkRLIe0WR98MA4LwXpZDF3do0CMNqIYLzTJsG37DLngQZ4rJPw== +-----END PUBLIC KEY----- diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p384.pem b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p384.pem new file mode 100644 index 00000000000..578eeb8fb45 --- /dev/null +++ b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p384.pem @@ -0,0 +1,9 @@ +-----BEGIN EC PARAMETERS----- +BgUrgQQAIg== +-----END EC PARAMETERS----- +-----BEGIN EC PRIVATE KEY----- +MIGkAgEBBDBG234N7Zwr021c4vi6M9mMz+Q3DVsAyahEqsNNY/XT3k5X3z4tfnth +/rgciYIxv1agBwYFK4EEACKhZANiAAReoBk8F60AVNazrJ9zUK1BU887MT41d5OA +oxPC5OocJGPvkSaK4NDZOOYj0IEvIw5F5y1QybXqhyfvj/0ydAxDulvvfDfmdcJ/ +5o6rVip7XyFq9Kz6gnBNbQVVMbR7E/M= +-----END EC PRIVATE KEY----- diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p384.pub.der b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p384.pub.der new file mode 100644 index 0000000000000000000000000000000000000000..f7be4902df754b3674481a311b7edb1b0160056f GIT binary patch literal 120 zcmV-;0EhoDb}$eI2P%e0&OHJF1_djD1OOrfVgLkQpcyKr6v?~x{o;LzDP<|EL7FCz{`=Pgjlwd#i_?~na5bPPkfTkm`~=5@k< a=8mgYDtlicYV@r7f^bc31ywP$dlU0?yfWJW literal 0 HcmV?d00001 diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p384.pub.pem b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p384.pub.pem new file mode 100644 index 00000000000..10c6fdf66ac --- /dev/null +++ b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p384.pub.pem @@ -0,0 +1,5 @@ +-----BEGIN PUBLIC KEY----- +MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEXqAZPBetAFTWs6yfc1CtQVPPOzE+NXeT +gKMTwuTqHCRj75EmiuDQ2TjmI9CBLyMORectUMm16ocn74/9MnQMQ7pb73w35nXC +f+aOq1Yqe18havSs+oJwTW0FVTG0exPz +-----END PUBLIC KEY----- diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p521.pem b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p521.pem new file mode 100644 index 00000000000..53719d04d1a --- /dev/null +++ b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p521.pem @@ -0,0 +1,10 @@ +-----BEGIN EC PARAMETERS----- +BgUrgQQAIw== +-----END EC PARAMETERS----- +-----BEGIN EC PRIVATE KEY----- +MIHcAgEBBEIBnqXLzys3RKGPLPC7jIbo6rIAXiXVjx4bnZu/CpuiFpnZiqUB5+pf +Kd/X1Av6ikeVYCmM1bXAxIfP4BGCUWGy2wugBwYFK4EEACOhgYkDgYYABAB8/6kF +Fy9ujL9GRaW1c2Fz9wXb1h6bg1zCWCgNWljOIEXcis8m+9Q4wfYFu51zKUI3QXqs +DkPJts9ru/xm2NOZJQDJaU+9LNPHryvkd44xniyWbWDbvPD/js6zKDCVMlvmo7CS +aOYj3QWEzoWDMVxV39KrxYVYeSrRQW2czlYrtGQQGg== +-----END EC PRIVATE KEY----- diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p521.pub.der b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p521.pub.der new file mode 100644 index 0000000000000000000000000000000000000000..69bac9d7a9335e319a4fe222befa74b8c21e8e0a GIT binary patch literal 158 zcmV;P0Ac?yftxT81_vsJNX|V10R{ytfdl{}1A&GB1OR;hsRb7=Zj8T1MWwZKVRQEd z+twbNgIvN`C=FUz&LBnHiq9td)HuQR1-qSdDMB|vdaMpZ$+pjHyZmO@)0rgz$!Sl$ zEYruYE97^MF`g`zZD8BH@c)j^vnVi?GF#@Ou##xzBi#jr&V_?9TvgxFtHp&_c`DIC MZJf?lE3{+~8XWycwg3PC literal 0 HcmV?d00001 diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p521.pub.pem b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p521.pub.pem new file mode 100644 index 00000000000..03ed863b51d --- /dev/null +++ b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/ec-p521.pub.pem @@ -0,0 +1,6 @@ +-----BEGIN PUBLIC KEY----- +MIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAfP+pBRcvboy/RkWltXNhc/cF29Ye +m4NcwlgoDVpYziBF3IrPJvvUOMH2BbudcylCN0F6rA5DybbPa7v8ZtjTmSUAyWlP +vSzTx68r5HeOMZ4slm1g27zw/47OsygwlTJb5qOwkmjmI90FhM6FgzFcVd/Sq8WF +WHkq0UFtnM5WK7RkEBo= +-----END PUBLIC KEY----- diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-2048.pem b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-2048.pem new file mode 100644 index 00000000000..20f38a20daf --- /dev/null +++ b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-2048.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAzJEYKuhIeHvKqZZtJRDtQjg17ChAZtY/yJfNqv30xnzkzOZw +Vmy7NViVQIRnkCYvAMCstja+EpEpeW02LD83teNQRKM9Nie74g7ehDn6ZZCSdQQ5 +4TQemt26hMfnFVaUl376p0E398IP1leHcvYOaiVgT/ffUhNhgIUJ5sIphtf4D1p5 +bWFYvs/Gd+A+Fk38hnerpl7JRF4y6p5WGJzvXKKs0QVSaQ1NHD7L1tQ0xTKra3FS +/BGwD7ZdgBZerqzBPgxRjuxzq2DQJlHtvINsFjJhsMtwI11UV5+tIBOEWPSBTIoQ +pUWGB+/4jZ44IpKlBDQuc1kqa2Y8+eO53Gxn+QIDAQABAoIBAQDK3zIai1YjtpDb +8oS3d7v0Kg6/74M++Uc0Ref/pe90UTQPSJEsBJT8aKdL3oNeX5/JnUsrQcrqWu/I +rlhFNUSoq5BVIZZ4+JrJq3ldpKoAw4mbZt+Hycp4R2DMgftYHA8s1w75hCJfISPX +q+J2TjMpbXvAks/0c6gEbuvM382THSDa+bA+BvYwilBBT347WkLdtuN9J+9qFyV9 +ROJRRMYh3xGOcgs/mmlOgTSubU3Q2sIQHBTLtngOA4g456g4IH5G09GoEpAIQA8e +G7xzmkv+ECtqe9V0A/9njWIXNbO+V+01dUDiAKnnT5uzbPGT48hnA05WLUAQO2qP +5ZE4H6shAoGBAPQUXR2ByYX0e/VBF3lUo94yikRae6giM0k8MQwE1Y49FfuZwqp8 +7E4hmuxlOJnvAQjzIQoHawL0fO7qLkvYcDJPxT5ROCeHKOCyJ6tGmVojppqiuq1G +RpOZ2XfIEt00rQguufYIr0V7OeP2X27Sveq0sJ/CYgX4rGABvq5OOW91AoGBANaO +t5T4qkuuxvxARx65S+imTg66U4aGz25rCj7LvcVhKmm2XCYz1ynAR81Tnh/t0RMd +8M3mUxRZU1MrbMCeYZbt5ClWmMfHKtZa29PYYcvVvqNBnqlbPGD7fBK+JyGnnd57 +CQLA0WnmSDT0vBOSN+wH/Gk2IX3ekLMGBk1Zzyn1AoGAUhsfj7N/NR6fLEtvOBNu +5Gof9QpzGoYWtoYXAbIGnMiTwoVg5LUNUOMhGHCcb7vknzwaWyNPrjjMZhpE5KK0 +a1hGQ8ZSm4luCNglXAptv9LKUq53GZ7QUwqoCxE0t1Dm/B+r0sXtH/Rp7vOL+t3N +oUyTNcrP6q5SXiF4IW6TB5kCgYAwNDhCm+uGvWmvWrGf0Xmgd1yqKmqBmuAXqqzO +lu+33LCut23Ul2kL1EtNci/gdIm4hc2INOsNc1QpJ2RzkiHSyver4ezJVZHmPtuM +qNyv8wG1pBSFcB4Mm/OwMlCQWxw40+OeXrut0zL90s4+h2dQ/CpVaPf1U3+m+P+J +eVf10QKBgDJZ0xVeun+aPMXqcwNppqvfKfMWsLb/Xx77O3q9SYG1JRXgIIneL8nD +8RwVQn8PbPcqdayFHZrmwhdgzIH/7dVEwd+QQKzeYos8Fvc4egpTZUrmZ1y5XeFt +OHl9TmHLSA1h8cJj0HrWCjyyi2cW+2PhY9K88V57KEn0yv5hjoBg +-----END RSA PRIVATE KEY----- diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-2048.pub.der b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-2048.pub.der new file mode 100644 index 0000000000000000000000000000000000000000..8ceefb05995297db5bd81dcba3fec41b0a03a203 GIT binary patch literal 294 zcmV+>0ondAf&n5h4F(A+hDe6@4FLfG1potr0S^E$f&mHwf&l>l%#j!>=ty{b%BhxZ zB@pdGI5q4jKxWoI$d}Ek{q)9s!YPK=_zzlnZDClx&&GG)J{C>~pJN&?Zssyn}2OGGVaGa3ft*SD&pQ s6NFgwflP`JrA3AZ@A!?LI3kjz1T-#lSt@I0Jo)3f+-zt00s{d60a*osd;kCd literal 0 HcmV?d00001 diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-2048.pub.pem b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-2048.pub.pem new file mode 100644 index 00000000000..78a2f7ba27f --- /dev/null +++ b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-2048.pub.pem @@ -0,0 +1,9 @@ +-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzJEYKuhIeHvKqZZtJRDt +Qjg17ChAZtY/yJfNqv30xnzkzOZwVmy7NViVQIRnkCYvAMCstja+EpEpeW02LD83 +teNQRKM9Nie74g7ehDn6ZZCSdQQ54TQemt26hMfnFVaUl376p0E398IP1leHcvYO +aiVgT/ffUhNhgIUJ5sIphtf4D1p5bWFYvs/Gd+A+Fk38hnerpl7JRF4y6p5WGJzv +XKKs0QVSaQ1NHD7L1tQ0xTKra3FS/BGwD7ZdgBZerqzBPgxRjuxzq2DQJlHtvINs +FjJhsMtwI11UV5+tIBOEWPSBTIoQpUWGB+/4jZ44IpKlBDQuc1kqa2Y8+eO53Gxn ++QIDAQAB +-----END PUBLIC KEY----- diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-3072.pem b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-3072.pem new file mode 100644 index 00000000000..423a62e5fce --- /dev/null +++ b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-3072.pem @@ -0,0 +1,39 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIG5AIBAAKCAYEAt6f3peMvTmrOtW1Zzzl1z05xGYVck3KeWnBb/TvPSZp8XczO +a0QNCLJ+FFmvP7wyGrz7tsN3QNveITRqsk9/1PA3MQfxHCmBziSj2NDXPynuquwf +u+ew5mhgWsI/Wbx7UpAgXWTfdmrLkcWwCXqbfR74emxVsMiItpg8aOwFhihid4zi +EamMc3UX9IB6zKJN+VY3RHWa1QnFvMYXDTHjuqFIYGEGR8I5ZlJZDV/Cxkg1Lqqt +Xjd1gNglmcRVDOaMtvLy3WvObb8QLAJsdq+3xUzgh6YWLb9ErQZ5WdbdEL3YVQwR +Ci6yYHk5dOMyLfGUtqJg6zxMLxW8Abso5ZAn/4ULOlgsTwCZ+IT7fMa+QnrF6CjJ +tD93U2jdVURTGUo9PV41SO43L69Z83FqzJUZhIZNScERIZd5Km4EAhNJN59DNge7 +T+089Y3iWmLGnywwoFYjoEjXVEizZPdvSSZjMECP3lLF0peFiWhcN2V2p3Q1yY3F +F1TfNleTsIydz5O/AgMBAAECggGAN0jIs5b/1oswTkzsjASwAgeK5DPQ+lG2eWL5 +TfGDJJTsew/70y5Y/hU8/sNAjd8I9iONYibU7yFAbJ5qv+JOiLsG4iuR2Phlqrg8 +2jeDk+/7eFg79UR5a+JfnvJ6P3kNZn0cQQDsg6kCPo9Tvoa556A7DB8wbFbxUIXj +KXJi90+Q1IwEQWzYaqkE3QUP8impbzUUzfbY9OhMLdczeTVbaALE1r5eNZuxy6te +QzhgWW/DEpkuNv5a0L5AE1mWgJulnZvR1KcYDPc8PxbRfORbydXlOvKTwBOPbcUT +I9qtq3gaMg+sao6qvBF4XjUBnsAclFT9G2H0loCP+WcrkFJTgdsqucQfRm10VERm +ZoebyQcLMkk/yoaPFaoKHwuJJr6dQ5lAu5JJ/QYMGqd59ubq5uFJbfbD4QoCLj4p +4kXrnqGzPhDAtoAyh1z9IvX0U0qvax8abl/6Ymk7raWL3zL8IfsF8JFlVni1bKND +XuZ92aHhaEbAYu3vIcKQX6eTC1kBAoHBANzxShtQj/JzHsya0atQS4EpixxzyBnd +NryUkLgvIDPbvL+DrHq1OLV95FvLhyNT+n9z6y0MAiBuI9oM0eTAfwS+/Me6fpaX +SONXZ7dtvBJEMUMtrAfAok28R2SdPCDPi1ZYAL4V9AzkbiIRuNOdp4ivJykg84D5 +Wdmy36JnTAj5CCq+/hLDes/gJiajaY2slkyGcmYNg4dZj4j3b5rXZdRoew7y3BRo +LOJ65a5zMSysi01OWkIynOtacXPtRZEOVwKBwQDUzBl949nwZ9o+j3X/M+q7f/Ip +5r8yuV3baqFM+RtAd7sdZfJxOaqHHLPHUqKwEbmCUicMeZSxKDyr2DcjuCYfVSdM +bZmmzko1dD0My8teD7NAbvFmpsdeNgkNpYeuQcEHvoTUgxB8EgSEF2HZz8QGED3O +Z2kZ5bXxbWKnuEQhZW1/6rOYFymnPfmozqIWSWC9gsyqoPMEUp3aUreS6sSc8e50 +9pI7MyMECbMiC2+gJ9wu5+U0dHOA8u63o+CddNkCgcAyzTRJ9Yszpy60wwBk0LCb +wU6gOysOb2PvloV0JDnWUrcingchq9ufN5QzWyf2go+9kIzJrdIrXMfXkk0MuQo7 +sCJ1VjdXLu/ufiF19sBgvtdI6A5/Ndbb4ufThafWr4INV2zMSEX2VOvR35tM5Rop +foSVm2MCC9OSD+QF9pRwF7q+AW5wKAxsEdET300c60sfy2Ywevj8PSaYyrQZuV9L +qL5q4IKkGpP/e1ymcQwkhoP9QX/VasfUAdbGXg853D8CgcEA0JlS0+msFtJ3SqRv +U0CddjgyN4kPHLZBn3mjrUT0xfmY33S0ePHCjLhCM7555Ic7htjpln0ImbGL6BkH +1GgMVuKup2k5Gh9W95d+0TBlp0tUuHEJC0uqXFwz+8CshNHIW8MTiw7/9d/jtWkG +bvIQgrEhJViR2uUnugc0kp07jFFVSfPVId5y4pMKTcRhd99uidfSseEc2Lv0KbS0 +Z7zkB8XRr66WIpo6VRb9Fv6G6kSovwJr2UPehiWehT6MTU3hAoHBALH+NJUVlGXi +RPs1XtY35lIPVGbLeZrqppXCALJsuYs+oqsr2OR3ysLS9MMItMPa8RXAgsp6d2Uq +OfuStTqAiWRLHR6etrLH1FKae2ab91rEW4IG+bsc3gMDOPfJ2+Qtp3mMOsKt2zqw +ErKWoXabnp52n+SMs1M85+d0Wg6rwwigpKX+Xssqx5UWSFTXUzVdRw61G+C6I81H +OdbJofM85KxxjjSUqbBfUgxrEWkCasJV8XXPikK5oX7cJx1baJBoLA== +-----END RSA PRIVATE KEY----- diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-3072.pub.der b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-3072.pub.der new file mode 100644 index 0000000000000000000000000000000000000000..d4ae497d7eb4e2142e4e66632d8d92ea40bff397 GIT binary patch literal 422 zcmV;X0a^Yqf&rp14F(A+hDe6@4FLfG1potr0gnJMf&q#Gf&qa5x2N}|<1bEX&b4h> z&pCC^PH`E9T$6I1T5wzaJI_g)d|k}WYeWqQvVIg;;A>Vt0(<5vh!GbrQ%VU&6*nH7=^HUN?1s*d>|7RSf2gw(|1bYtC)I5G(?0cCWX^OyGy67A?O-tp<5n z*4+@j*i{S>3NEr>c{z0BGA;3xwxVF`JWMYYyaBr?<&Y=;g$p`ZEKdNL_=Nj>#=b&& z#po!>v_E%KXx&vrQyEG0@?jAf&wBi4F(A+hDe6@4FLfG1potr0uKN%f&vNxf&u{m+@Gu{q?Aiw7LD_c zZPQsVQRhVKCLUf2GweMR%YnWbo<{KjgZuX*aRo=ZH~g;Esba6{ZjF`-qb_xuWZ5Cv)o~9Y;{9$> zhR~l;C<39Bb6#2`am<({rit1I^w3U$U%jUGiC*i&CNnv>N<9_e!=weNTb>*ef+kak zP>}G6p~0)zeD+=o z?bo5HPJ^L>Th!(pNC}eR6UedH!_G5AUNq0A(~LZZr?vuz1EQW}Tm)W|p;}nR$}9sl zB-sbeDXvJ4!(|5aiDLqytcd_eO>S;U$2RveHJKDinAkayp7P!mVhanyKs oaPbnjJQs(+GZz7FIJ1CFq=%8D9~oYcKzI}E)e67)0s{d60VX8>-~a#s literal 0 HcmV?d00001 diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-4096.pub.pem b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-4096.pub.pem new file mode 100644 index 00000000000..68c7323084f --- /dev/null +++ b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/keys/rsa-4096.pub.pem @@ -0,0 +1,14 @@ +-----BEGIN PUBLIC KEY----- +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA3J+sKKSUS2AWjfOObdNZ +L1HnROsmHl4KM+w9E8uBvhmeRvEBg/v3I3EFR2tHGvRiFAvxnU6ocdKnzAmU+qzs +0lKbkqIs9NjvCxNcVClwZZ5+QNlFp8FjVjf8rtWpYq/qbo2WCqMudZtk2SHZ1XEP +IeL9blGG0J9RKAKhlHNeWiRxzJglponaB/TQToFfvab2iV7rwyYzObhKPRXgw6QF +qVueHBKCJlOHUJDwiaHBq9h89l4isvcwafRIqGKr25H1PZpa5qB6TlDtBxfODAwF +JsKZljvAPaTLCd/1cNPOiZ8G3IFel5GPuv7/9ZirVeulZ0RWWTYIO5ikFrvNG/nV +UuzKG11q6tyMXhYeQRGAy10udnQ6emggtW7vA7ev8GkdQUNBmQasWvZaTdRyTjV8 +8AUiYMgz9g5cu6UYFTCFdgUhoPbaxEd6w1JJP9GUsdIIY9aDayj2Nsf4vuwiM3Rp +W+YrOJIPlkRuY0XuWFrF37lVi8iIpMsgTO3XoalOg6GCW9TmHEgJkuETyLHYw84z +RF40z6fTjDyGp7YChwOinmRcBF6ToVpYxsosAzUk2QfNKa5IjuRdDXEucodw/1Vi +AENE2m58QPNFWcSZ9FYckBA+uRn4kHffdFATR9Vx1Hh3cPESuDwXh8AzFwFuOLOA +TaSHkaQfGV6PQHgT7NUKv/kCAwEAAQ== +-----END PUBLIC KEY----- diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/recordings/test_keyvault_key_download.yaml b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/recordings/test_keyvault_key_download.yaml new file mode 100644 index 00000000000..e412efda274 --- /dev/null +++ b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/recordings/test_keyvault_key_download.yaml @@ -0,0 +1,402 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-graphrbac/0.60.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: GET + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/me?api-version=1.6 + response: + body: + string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects/@Element","odata.type":"Microsoft.DirectoryServices.User","objectType":"User","objectId":"9ac02ab3-5061-4ec6-a3d8-2cdaa5f29efa","deletionTimestamp":null,"accountEnabled":true,"ageGroup":null,"assignedLicenses":[],"assignedPlans":[],"city":null,"companyName":null,"consentProvidedForMinor":null,"country":null,"createdDateTime":"2019-10-21T06:37:42Z","creationType":"Invitation","department":null,"dirSyncEnabled":null,"displayName":"Bin + Ma","employeeId":null,"facsimileTelephoneNumber":null,"givenName":null,"immutableId":null,"isCompromised":null,"jobTitle":null,"lastDirSyncTime":null,"legalAgeGroupClassification":null,"mail":"bim@microsoft.com","mailNickname":"bim_microsoft.com#EXT#","mobile":null,"onPremisesDistinguishedName":null,"onPremisesSecurityIdentifier":null,"otherMails":["bim@microsoft.com"],"passwordPolicies":null,"passwordProfile":null,"physicalDeliveryOfficeName":null,"postalCode":null,"preferredLanguage":null,"provisionedPlans":[],"provisioningErrors":[],"proxyAddresses":["SMTP:bim@microsoft.com"],"refreshTokensValidFromDateTime":"2019-10-21T06:37:41Z","showInAddressList":false,"signInNames":[],"sipProxyAddress":null,"state":null,"streetAddress":null,"surname":null,"telephoneNumber":null,"thumbnailPhoto@odata.mediaEditLink":"directoryObjects/9ac02ab3-5061-4ec6-a3d8-2cdaa5f29efa/Microsoft.DirectoryServices.User/thumbnailPhoto","usageLocation":null,"userIdentities":[],"userPrincipalName":"bim_microsoft.com#EXT#@AzureSDKTeam.onmicrosoft.com","userState":"Accepted","userStateChangedOn":"2019-10-21T06:39:35Z","userType":"Guest"}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1668' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Mon, 20 Jan 2020 13:17:05 GMT + duration: + - '2729928' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - 3rF5dNvuHO6o1tAJ9yOBRpCQjpIX3MtrAUMmsK1IkuE= + ocp-aad-session-key: + - v6fUn2xdI9ZrKtzi7c7vHGckxqxDT4la_r-auD23FKwwLruhgfLzycrfCsBHINfrU3p6ydSiURuKT9snvMSEnpFK-6uM3EH-zivV-_MPGAxsd6HxiR8YJ8Z81-8CioBJ.rSCjz_SEULaP4wMymbVU72e8Acfl4CQDZChuOkDMH5Y + pragma: + - no-cache + request-id: + - 5f7e73b6-b741-4ea7-a114-3c0b1ddffff6 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus2", "properties": {"tenantId": "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a", + "sku": {"family": "A", "name": "premium"}, "accessPolicies": [{"tenantId": "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a", + "objectId": "9ac02ab3-5061-4ec6-a3d8-2cdaa5f29efa", "permissions": {"keys": + ["get", "create", "delete", "list", "update", "import", "backup", "restore", + "recover"], "secrets": ["get", "list", "set", "delete", "backup", "restore", + "recover"], "certificates": ["get", "list", "delete", "create", "import", "update", + "managecontacts", "getissuers", "listissuers", "setissuers", "deleteissuers", + "manageissuers", "recover"], "storage": ["get", "list", "delete", "set", "update", + "regeneratekey", "setsas", "listsas", "getsas", "deletesas"]}}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - keyvault create + Connection: + - keep-alive + Content-Length: + - '746' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n -l --sku + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-keyvault/1.1.0 + Azure-SDK-For-Python AZURECLI/2.0.80 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_kv_key_download000001/providers/Microsoft.KeyVault/vaults/cli-test-keyvault-000002?api-version=2018-02-14 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_kv_key_download000001/providers/Microsoft.KeyVault/vaults/cli-test-keyvault-000002","name":"cli-test-keyvault-000002","type":"Microsoft.KeyVault/vaults","location":"eastus2","tags":{},"properties":{"sku":{"family":"A","name":"premium"},"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","accessPolicies":[{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"9ac02ab3-5061-4ec6-a3d8-2cdaa5f29efa","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}}],"enabledForDeployment":false,"vaultUri":"https://cli-test-keyvault-000002.vault.azure.net","provisioningState":"RegisteringDns"}}' + headers: + cache-control: + - no-cache + content-length: + - '1106' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 20 Jan 2020 13:17:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.269 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - keyvault create + Connection: + - keep-alive + ParameterSetName: + - -g -n -l --sku + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-keyvault/1.1.0 + Azure-SDK-For-Python AZURECLI/2.0.80 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_kv_key_download000001/providers/Microsoft.KeyVault/vaults/cli-test-keyvault-000002?api-version=2018-02-14 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_kv_key_download000001/providers/Microsoft.KeyVault/vaults/cli-test-keyvault-000002","name":"cli-test-keyvault-000002","type":"Microsoft.KeyVault/vaults","location":"eastus2","tags":{},"properties":{"sku":{"family":"A","name":"premium"},"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","accessPolicies":[{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"9ac02ab3-5061-4ec6-a3d8-2cdaa5f29efa","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}}],"enabledForDeployment":false,"vaultUri":"https://cli-test-keyvault-000002.vault.azure.net/","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1102' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 20 Jan 2020 13:19:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.269 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - 0 + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: PUT + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file?api-version=7.0 + response: + body: + string: '{"error":{"code":"Unauthorized","message":"Request is missing a Bearer + or PoP token."}}' + headers: + cache-control: + - no-cache + content-length: + - '87' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 20 Jan 2020 13:19:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + www-authenticate: + - Bearer authorization="https://login.windows.net/54826b22-38d6-4fb2-bad9-b7b93a3e9c5a", + resource="https://vault.azure.net" + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 401 + message: Unauthorized +- request: + body: '{"Hsm": false, "key": {"kty": "EC", "d": "h7ffwocPm8d414HUWGzrwqnHaMeOmqH9Bmm1IwT-IvQ", + "crv": "P-256", "x": "clUrtHdYtNdfl7cueN47hqM6SuyPn18rpsLutGJ_qHc", "y": "h6r2XZy9W_miQTUXmZWktuC5SVY7JsZ_2XINQSA9EVo"}, + "attributes": {"enabled": true}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '241' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: PUT + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/fceaeaa2109b4c889cd8abec2568a3df","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"clUrtHdYtNdfl7cueN47hqM6SuyPn18rpsLutGJ_qHc","y":"h6r2XZy9W_miQTUXmZWktuC5SVY7JsZ_2XINQSA9EVo"},"attributes":{"enabled":true,"created":1579526359,"updated":1579526359,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '370' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 20 Jan 2020 13:19:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: GET + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/fceaeaa2109b4c889cd8abec2568a3df","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"clUrtHdYtNdfl7cueN47hqM6SuyPn18rpsLutGJ_qHc","y":"h6r2XZy9W_miQTUXmZWktuC5SVY7JsZ_2XINQSA9EVo"},"attributes":{"enabled":true,"created":1579526359,"updated":1579526359,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '370' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 20 Jan 2020 13:19:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: GET + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/fceaeaa2109b4c889cd8abec2568a3df","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"clUrtHdYtNdfl7cueN47hqM6SuyPn18rpsLutGJ_qHc","y":"h6r2XZy9W_miQTUXmZWktuC5SVY7JsZ_2XINQSA9EVo"},"attributes":{"enabled":true,"created":1579526359,"updated":1579526359,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '370' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 20 Jan 2020 13:19:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/test_keyvault_commands.py b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/test_keyvault_commands.py index 0dd5c197452..20682cb29c3 100644 --- a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/test_keyvault_commands.py +++ b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/test_keyvault_commands.py @@ -28,6 +28,7 @@ def _asn1_to_iso8601(asn1_date): TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) +KEYS_DIR = os.path.join(TEST_DIR, 'keys') def _create_keyvault(test, kwargs, additional_args=None): @@ -237,6 +238,103 @@ def test_keyvault_key(self, resource_group): checks=[self.check('key.kty', 'EC'), self.check('key.crv', 'P-521')]) +class KeyVaultKeyDownloadScenarioTest(ScenarioTest): + @ResourceGroupPreparer(name_prefix='cli_test_kv_key_download') + def test_keyvault_key_download(self, resource_group): + import OpenSSL.crypto + + self.kwargs.update({ + 'kv': self.create_random_name('cli-test-keyvault-', 24), + 'loc': 'eastus2' + }) + _create_keyvault(self, self.kwargs) + + dest_der = os.path.join(TEST_DIR, 'download-der') + dest_pem = os.path.join(TEST_DIR, 'download-pem') + if not os.path.exists(dest_der): + os.mkdir(dest_der) + if not os.path.exists(dest_pem): + os.mkdir(dest_pem) + + self.kwargs.update({ + 'dest_der': dest_der, + 'dest_pem': dest_pem + }) + + key_names = [ + 'ec-p256.pem', + 'ec-p384.pem', + 'ec-p521.pem', + 'ec-p256k.pem', + 'rsa-2048.pem', + 'rsa-3072.pem', + 'rsa-4096.pem', + 'ec-p256-hsm.pem', + 'ec-p384-hsm.pem', + 'ec-p521-hsm.pem', + 'ec-p256k-hsm.pem', + 'rsa-2048-hsm.pem', + 'rsa-3072-hsm.pem', + 'rsa-4096-hsm.pem' + ] + + # RSA Keys + # * Generate: `openssl genrsa -out rsa-4096.pem 4096` + # * Extract public key: `openssl rsa -in rsa-4096.pem -pubout > rsa-4096.pub.pem` + # * Public key PEM to DER: `openssl rsa -pubin -inform PEM -in rsa-4096.pub.pem -outform DER -out rsa-4096.pub.der` + + # EC Keys + # * Generate: `openssl ecparam -genkey -name secp521r1 -out ec521.key` + # * Extract public key (PEM): `openssl ec -in ec-p521.pem -pubout -out ec-p521.pub.pem` + # * Extract public key (DER): `openssl ec -in ec-p521.pem -pubout -outform DER -out ec-p521.pub.der` + + try: + for key_name in key_names: + var_name = key_name.split('.')[0] + '-file' + if 'hsm' in key_name: # Should be generated + continue + else: # Should be imported (Have already been generated offline) + self.kwargs[var_name] = os.path.join(KEYS_DIR, key_name) + self.cmd('keyvault key import --vault-name {kv} -n ' + var_name + ' --pem-file "{' + var_name + '}"') + + der_downloaded_filename = os.path.join(dest_der, var_name) + pem_downloaded_filename = os.path.join(dest_pem, var_name) + self.cmd('keyvault key download --vault-name {kv} -n ' + var_name + ' -f "' + der_downloaded_filename + '" -e DER') + self.cmd('keyvault key download --vault-name {kv} -n ' + var_name + ' -f "' + pem_downloaded_filename + '" -e PEM') + + expected_pem_data = [] + pem_pub_filename = key_name.split('.')[0] + '.pub.pem' + with open(pem_pub_filename, 'r') as pem_file: + expected_pem_data = pem_file.readlines() + + algo = key_name.split('-')[0].upper() + expected_pem = "-----BEGIN {} PUBLIC KEY-----\n".format(algo) + \ + '\n'.join(expected_pem_data) + \ + '-----END {} PUBLIC KEY-----\n'.format(algo) + expected_pem = expected_pem.replace('\n', '') + + def verify(path, file_type): + with open(path, 'rb') as f: + pub_key = OpenSSL.crypto.load_publickey(file_type, f.read()) + actual_pem = OpenSSL.crypto.dump_publickey(OpenSSL.crypto.FILETYPE_PEM, pub_key) + if isinstance(actual_pem, bytes): + actual_pem = actual_pem.decode("utf-8") + self.assertIn(expected_pem, actual_pem.replace('\n', '')) + + verify(der_downloaded_filename, OpenSSL.crypto.FILETYPE_ASN1) + verify(pem_downloaded_filename, OpenSSL.crypto.FILETYPE_PEM) + + if os.path.exists(der_downloaded_filename): + os.remove(der_downloaded_filename) + if os.path.exists(pem_downloaded_filename): + os.remove(pem_downloaded_filename) + finally: + if os.path.exists(dest_der): + os.remove(dest_der) + if os.path.exists(dest_pem): + os.remove(dest_pem) + + class KeyVaultSecretSoftDeleteScenarioTest(ScenarioTest): @ResourceGroupPreparer(name_prefix='cli_test_keyvault_secret') def test_keyvault_secret_soft_delete(self, resource_group): From b05738d175d53e812a45bf23d3ba3ad4ac81a426 Mon Sep 17 00:00:00 2001 From: Bin Ma Date: Tue, 21 Jan 2020 12:28:15 +0800 Subject: [PATCH 04/14] Update the test --- .../tests/latest/download-der/ec-p256-file | Bin 91 -> 0 bytes .../tests/latest/download-pem/ec-p256-file | 4 - .../test_keyvault_key_download.yaml | 1023 ++++++++++++++++- .../tests/latest/test_keyvault_commands.py | 56 +- 4 files changed, 1026 insertions(+), 57 deletions(-) delete mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/download-der/ec-p256-file delete mode 100644 src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/download-pem/ec-p256-file diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/download-der/ec-p256-file b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/download-der/ec-p256-file deleted file mode 100644 index 352c28390887016475096481bc978d0c0101165c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 91 zcmXqrG!SNE*J|@PXUoLM#sOw9GqN)~F|ZVcYHulz*m6C7`gXmFd)94>t-Rj!&yUw$ ucIe%fr1}-*?W?}U&e Date: Tue, 21 Jan 2020 12:32:01 +0800 Subject: [PATCH 05/14] Modify history.rst --- src/azure-cli/HISTORY.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/azure-cli/HISTORY.rst b/src/azure-cli/HISTORY.rst index fd0db0f8726..094ee765070 100644 --- a/src/azure-cli/HISTORY.rst +++ b/src/azure-cli/HISTORY.rst @@ -25,6 +25,10 @@ Release History * Support app creation/update with the new sku name ST0, ST1, ST2. +**Key Vault** + +* Add a new command `az keyvault key download` for downloading keys. + **Misc** * Fix #6371: Support filename and environment variable completion in Bash From e207611cc3d268b49c400576ecb4fb92628811c5 Mon Sep 17 00:00:00 2001 From: Bin Ma Date: Tue, 21 Jan 2020 12:50:39 +0800 Subject: [PATCH 06/14] Fix linter error --- .../cli/command_modules/keyvault/custom.py | 219 +++++++++--------- 1 file changed, 113 insertions(+), 106 deletions(-) diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py index 9a62b9d72a6..81c01a8d002 100644 --- a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py +++ b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py @@ -622,6 +622,47 @@ def restore_key(client, vault_base_url, file_path): return client.restore_key(vault_base_url, data) +def _int_to_bytes(i): + h = hex(i) + if len(h) > 1 and h[0:2] == '0x': + h = h[2:] + # need to strip L in python 2.x + h = h.strip('L') + if len(h) % 2: + h = '0' + h + return codecs.decode(h, 'hex') + + +def _private_rsa_key_to_jwk(rsa_key, jwk): + priv = rsa_key.private_numbers() + jwk.n = _int_to_bytes(priv.public_numbers.n) + jwk.e = _int_to_bytes(priv.public_numbers.e) + jwk.q = _int_to_bytes(priv.q) + jwk.p = _int_to_bytes(priv.p) + jwk.d = _int_to_bytes(priv.d) + jwk.dq = _int_to_bytes(priv.dmq1) + jwk.dp = _int_to_bytes(priv.dmp1) + jwk.qi = _int_to_bytes(priv.iqmp) + + +def _private_ec_key_to_jwk(ec_key, jwk): + supported_curves = { + 'secp256r1': 'P-256', + 'secp384r1': 'P-384', + 'secp521r1': 'P-521', + 'secp256k1': 'SECP256K1' + } + curve = ec_key.private_numbers().public_numbers.curve.name + + jwk.crv = supported_curves.get(curve, None) + if not jwk.crv: + raise CLIError("Import failed: Unsupported curve, {}.".format(curve)) + + jwk.x = _int_to_bytes(ec_key.private_numbers().public_numbers.x) + jwk.y = _int_to_bytes(ec_key.private_numbers().public_numbers.y) + jwk.d = _int_to_bytes(ec_key.private_numbers().private_value) + + def import_key(cmd, client, vault_base_url, key_name, protection=None, key_ops=None, disabled=False, expires=None, not_before=None, tags=None, pem_file=None, pem_password=None, byok_file=None): """ Import a private key. Supports importing base64 encoded private keys from PEM files. @@ -629,44 +670,6 @@ def import_key(cmd, client, vault_base_url, key_name, protection=None, key_ops=N KeyAttributes = cmd.get_models('KeyAttributes', resource_type=ResourceType.DATA_KEYVAULT) JsonWebKey = cmd.get_models('JsonWebKey', resource_type=ResourceType.DATA_KEYVAULT) - def _int_to_bytes(i): - h = hex(i) - if len(h) > 1 and h[0:2] == '0x': - h = h[2:] - # need to strip L in python 2.x - h = h.strip('L') - if len(h) % 2: - h = '0' + h - return codecs.decode(h, 'hex') - - def _private_rsa_key_to_jwk(rsa_key, jwk): - priv = rsa_key.private_numbers() - jwk.n = _int_to_bytes(priv.public_numbers.n) - jwk.e = _int_to_bytes(priv.public_numbers.e) - jwk.q = _int_to_bytes(priv.q) - jwk.p = _int_to_bytes(priv.p) - jwk.d = _int_to_bytes(priv.d) - jwk.dq = _int_to_bytes(priv.dmq1) - jwk.dp = _int_to_bytes(priv.dmp1) - jwk.qi = _int_to_bytes(priv.iqmp) - - def _private_ec_key_to_jwk(ec_key, jwk): - supported_curves = { - 'secp256r1': 'P-256', - 'secp384r1': 'P-384', - 'secp521r1': 'P-521', - 'secp256k1': 'SECP256K1' - } - curve = ec_key.private_numbers().public_numbers.curve.name - - jwk.crv = supported_curves.get(curve, None) - if not jwk.crv: - raise CLIError("Import failed: Unsupported curve, {}.".format(curve)) - - jwk.x = _int_to_bytes(ec_key.private_numbers().public_numbers.x) - jwk.y = _int_to_bytes(ec_key.private_numbers().public_numbers.y) - jwk.d = _int_to_bytes(ec_key.private_numbers().private_value) - key_attrs = KeyAttributes(enabled=not disabled, not_before=not_before, expires=expires) key_obj = JsonWebKey(key_ops=key_ops) if pem_file: @@ -698,80 +701,84 @@ def _private_ec_key_to_jwk(ec_key, jwk): return client.import_key(vault_base_url, key_name, key_obj, protection == 'hsm', key_attrs, tags) +def _bytes_to_int(b): + len_diff = 4 - len(b) % 4 if len(b) % 4 > 0 else 0 + b = len_diff * b'\x00' + b # We have to patch leading zeros for using struct.unpack + bytes_num = int(math.floor(len(b) / 4)) + ans = 0 + items = struct.unpack('>' + 'I' * bytes_num, b) + for sub_int in items: + ans *= 2 ** 32 + ans += sub_int + return ans + + +def _jwk_to_dict(jwk): + d = {} + if jwk.crv: + d['crv'] = jwk.crv + if jwk.kid: + d['kid'] = jwk.kid + if jwk.kty: + d['kty'] = jwk.kty + if jwk.d: + d['d'] = _bytes_to_int(jwk.d) + if jwk.dp: + d['dp'] = _bytes_to_int(jwk.dp) + if jwk.dq: + d['dq'] = _bytes_to_int(jwk.dq) + if jwk.e: + d['e'] = _bytes_to_int(jwk.e) + if jwk.k: + d['k'] = _bytes_to_int(jwk.k) + if jwk.n: + d['n'] = _bytes_to_int(jwk.n) + if jwk.p: + d['p'] = _bytes_to_int(jwk.p) + if jwk.q: + d['q'] = _bytes_to_int(jwk.q) + if jwk.qi: + d['qi'] = _bytes_to_int(jwk.qi) + if jwk.t: + d['t'] = _bytes_to_int(jwk.t) + if jwk.x: + d['x'] = _bytes_to_int(jwk.x) + if jwk.y: + d['y'] = _bytes_to_int(jwk.y) + + return d + + +def _extract_rsa_public_key_from_jwk(jwk_dict): + e = jwk_dict.get('e', 256) + n = jwk_dict.get('n') + public = rsa.RSAPublicNumbers(e, n) + return public.public_key(default_backend()) + + +def _extract_ec_public_key_from_jwk(jwk_dict): + if not all(k in jwk_dict for k in ['x', 'y', 'crv']): + raise CLIError('Invalid EC key: missing properties(x, y, crv)') + + x = jwk_dict.get('x') + y = jwk_dict.get('y') + curves = { + 'P-256': ec.SECP256R1, + 'P-384': ec.SECP384R1, + 'P-521': ec.SECP521R1, + 'SECP256K1': ec.SECP256K1 + } + curve = curves[jwk_dict['crv']] + public = ec.EllipticCurvePublicNumbers(x, y, curve()) + return public.public_key(default_backend()) + + def download_key(client, file_path, vault_base_url=None, key_name=None, key_version='', encoding=None, identifier=None): # pylint: disable=unused-argument """ Download a key from a KeyVault. """ if os.path.isfile(file_path) or os.path.isdir(file_path): raise CLIError("File or directory named '{}' already exists.".format(file_path)) - def _bytes_to_int(b): - len_diff = 4 - len(b) % 4 if len(b) % 4 > 0 else 0 - b = len_diff * b'\x00' + b # We have to patch leading zeros for using struct.unpack - bytes_num = int(math.floor(len(b) / 4)) - ans = 0 - items = struct.unpack('>' + 'I' * bytes_num, b) - for sub_int in items: - ans *= 2 ** 32 - ans += sub_int - return ans - - def _jwk_to_dict(jwk): - d = {} - if jwk.crv: - d['crv'] = jwk.crv - if jwk.kid: - d['kid'] = jwk.kid - if jwk.kty: - d['kty'] = jwk.kty - if jwk.d: - d['d'] = _bytes_to_int(jwk.d) - if jwk.dp: - d['dp'] = _bytes_to_int(jwk.dp) - if jwk.dq: - d['dq'] = _bytes_to_int(jwk.dq) - if jwk.e: - d['e'] = _bytes_to_int(jwk.e) - if jwk.k: - d['k'] = _bytes_to_int(jwk.k) - if jwk.n: - d['n'] = _bytes_to_int(jwk.n) - if jwk.p: - d['p'] = _bytes_to_int(jwk.p) - if jwk.q: - d['q'] = _bytes_to_int(jwk.q) - if jwk.qi: - d['qi'] = _bytes_to_int(jwk.qi) - if jwk.t: - d['t'] = _bytes_to_int(jwk.t) - if jwk.x: - d['x'] = _bytes_to_int(jwk.x) - if jwk.y: - d['y'] = _bytes_to_int(jwk.y) - - return d - - def _extract_rsa_public_key_from_jwk(jwk_dict): - e = jwk_dict.get('e', 256) - n = jwk_dict.get('n') - public = rsa.RSAPublicNumbers(e, n) - return public.public_key(default_backend()) - - def _extract_ec_public_key_from_jwk(jwk_dict): - if not all(k in jwk_dict for k in ['x', 'y', 'crv']): - raise CLIError('Invalid EC key: missing properties(x, y, crv)') - - x = jwk_dict.get('x') - y = jwk_dict.get('y') - curves = { - 'P-256': ec.SECP256R1, - 'P-384': ec.SECP384R1, - 'P-521': ec.SECP521R1, - 'SECP256K1': ec.SECP256K1 - } - curve = curves[jwk_dict['crv']] - public = ec.EllipticCurvePublicNumbers(x, y, curve()) - return public.public_key(default_backend()) - key = client.get_key(vault_base_url, key_name, key_version) json_web_key = _jwk_to_dict(key.key) key_type = json_web_key['kty'] From ff01618b6856354263c3a917f30a8b57cc4eca40 Mon Sep 17 00:00:00 2001 From: Bin Ma Date: Tue, 21 Jan 2020 17:28:45 +0800 Subject: [PATCH 07/14] Add some comments and fix some bugs --- .../cli/command_modules/keyvault/custom.py | 5 +- .../test_keyvault_key_download.yaml | 1227 ++++++++++++++++- .../tests/latest/test_keyvault_commands.py | 22 +- 3 files changed, 1200 insertions(+), 54 deletions(-) diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py index 81c01a8d002..b3969b8d692 100644 --- a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py +++ b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py @@ -702,18 +702,20 @@ def import_key(cmd, client, vault_base_url, key_name, protection=None, key_ops=N def _bytes_to_int(b): + """Convert bytes to hex integer""" len_diff = 4 - len(b) % 4 if len(b) % 4 > 0 else 0 b = len_diff * b'\x00' + b # We have to patch leading zeros for using struct.unpack bytes_num = int(math.floor(len(b) / 4)) ans = 0 items = struct.unpack('>' + 'I' * bytes_num, b) - for sub_int in items: + for sub_int in items: # Accumulate all items into a big integer ans *= 2 ** 32 ans += sub_int return ans def _jwk_to_dict(jwk): + """Convert a `JsonWebKey` struct to a python dict""" d = {} if jwk.crv: d['crv'] = jwk.crv @@ -766,6 +768,7 @@ def _extract_ec_public_key_from_jwk(jwk_dict): 'P-256': ec.SECP256R1, 'P-384': ec.SECP384R1, 'P-521': ec.SECP521R1, + 'P-256K': ec.SECP256K1, 'SECP256K1': ec.SECP256K1 } curve = curves[jwk_dict['crv']] diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/recordings/test_keyvault_key_download.yaml b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/recordings/test_keyvault_key_download.yaml index 111aadf0838..05d15ae3b99 100644 --- a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/recordings/test_keyvault_key_download.yaml +++ b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/recordings/test_keyvault_key_download.yaml @@ -31,19 +31,19 @@ interactions: dataserviceversion: - 3.0; date: - - Tue, 21 Jan 2020 03:17:07 GMT + - Tue, 21 Jan 2020 09:25:58 GMT duration: - - '2658382' + - '3388736' expires: - '-1' ocp-aad-diagnostics-server-name: - - pbWKcKU9yu1YQQpJCmnlfK2TCVlxFsqb2DLPG6Ke2u8= + - /JBGpzTChbcDSwlRpz1rJ60jXqzIcsL8TiQ4nnAtBvA= ocp-aad-session-key: - - VcjR_RpAyD_H7PLfOuK0PAy0bzTN6V2v8TSuov4Eqs819RfRx0MDdf0Q34WkGp2H08fRi74IS5fTzENvrlLq51IcliUjXLSJfBKkJpMFvDOst5n8nBJ4GuRYB9mzWvgu.P3RNVlsj2MAdTo9XcEidYP-w2ee0exmGGKY6bomk8js + - 7jmVLWgaghq2ulRo3fa3ZI2zzh5rG5HAR91gg-n4sMS7JjadcSFiD1MFVFe4bsAhh6FUUBw10hoA8j45_xtpT3c2Z_iOqXrEJKZUHiVZiI7q9P3RHqOyF5wW1defKHCA.kGHYqJYgQIPQPHQAn0dvsZ-qPexuHKN4k23uCBsBgCw pragma: - no-cache request-id: - - 58e52c24-3edf-4b50-b7b2-c3aef212ded0 + - c76b3c0b-a03e-4662-8004-578c52c5fdde strict-transport-security: - max-age=31536000; includeSubDomains x-aspnet-version: @@ -98,7 +98,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:17:14 GMT + - Tue, 21 Jan 2020 09:26:06 GMT expires: - '-1' pragma: @@ -153,7 +153,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:17:44 GMT + - Tue, 21 Jan 2020 09:26:38 GMT expires: - '-1' pragma: @@ -209,7 +209,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:17:46 GMT + - Tue, 21 Jan 2020 09:26:40 GMT expires: - '-1' pragma: @@ -260,7 +260,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/f3e2167a4f414029974c0d370020e260","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"clUrtHdYtNdfl7cueN47hqM6SuyPn18rpsLutGJ_qHc","y":"h6r2XZy9W_miQTUXmZWktuC5SVY7JsZ_2XINQSA9EVo"},"attributes":{"enabled":true,"created":1579576667,"updated":1579576667,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/e184a3be58b745bcb3026093bb1f401f","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"clUrtHdYtNdfl7cueN47hqM6SuyPn18rpsLutGJ_qHc","y":"h6r2XZy9W_miQTUXmZWktuC5SVY7JsZ_2XINQSA9EVo"},"attributes":{"enabled":true,"created":1579598800,"updated":1579598800,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -269,7 +269,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:17:47 GMT + - Tue, 21 Jan 2020 09:26:40 GMT expires: - '-1' pragma: @@ -313,7 +313,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/f3e2167a4f414029974c0d370020e260","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"clUrtHdYtNdfl7cueN47hqM6SuyPn18rpsLutGJ_qHc","y":"h6r2XZy9W_miQTUXmZWktuC5SVY7JsZ_2XINQSA9EVo"},"attributes":{"enabled":true,"created":1579576667,"updated":1579576667,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/e184a3be58b745bcb3026093bb1f401f","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"clUrtHdYtNdfl7cueN47hqM6SuyPn18rpsLutGJ_qHc","y":"h6r2XZy9W_miQTUXmZWktuC5SVY7JsZ_2XINQSA9EVo"},"attributes":{"enabled":true,"created":1579598800,"updated":1579598800,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -322,7 +322,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:17:48 GMT + - Tue, 21 Jan 2020 09:26:41 GMT expires: - '-1' pragma: @@ -366,7 +366,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/f3e2167a4f414029974c0d370020e260","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"clUrtHdYtNdfl7cueN47hqM6SuyPn18rpsLutGJ_qHc","y":"h6r2XZy9W_miQTUXmZWktuC5SVY7JsZ_2XINQSA9EVo"},"attributes":{"enabled":true,"created":1579576667,"updated":1579576667,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/e184a3be58b745bcb3026093bb1f401f","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"clUrtHdYtNdfl7cueN47hqM6SuyPn18rpsLutGJ_qHc","y":"h6r2XZy9W_miQTUXmZWktuC5SVY7JsZ_2XINQSA9EVo"},"attributes":{"enabled":true,"created":1579598800,"updated":1579598800,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -375,7 +375,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:17:50 GMT + - Tue, 21 Jan 2020 09:26:43 GMT expires: - '-1' pragma: @@ -424,7 +424,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/797b41403a61434c852710fd2a7fb365","kty":"EC","key_ops":["sign","verify"],"crv":"P-384","x":"XqAZPBetAFTWs6yfc1CtQVPPOzE-NXeTgKMTwuTqHCRj75EmiuDQ2TjmI9CBLyMO","y":"RectUMm16ocn74_9MnQMQ7pb73w35nXCf-aOq1Yqe18havSs-oJwTW0FVTG0exPz"},"attributes":{"enabled":true,"created":1579576672,"updated":1579576672,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/a6b98db2df274a3eb20f1c33e5acf794","kty":"EC","key_ops":["sign","verify"],"crv":"P-384","x":"XqAZPBetAFTWs6yfc1CtQVPPOzE-NXeTgKMTwuTqHCRj75EmiuDQ2TjmI9CBLyMO","y":"RectUMm16ocn74_9MnQMQ7pb73w35nXCf-aOq1Yqe18havSs-oJwTW0FVTG0exPz"},"attributes":{"enabled":true,"created":1579598805,"updated":1579598805,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -433,7 +433,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:17:51 GMT + - Tue, 21 Jan 2020 09:26:44 GMT expires: - '-1' pragma: @@ -477,7 +477,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/797b41403a61434c852710fd2a7fb365","kty":"EC","key_ops":["sign","verify"],"crv":"P-384","x":"XqAZPBetAFTWs6yfc1CtQVPPOzE-NXeTgKMTwuTqHCRj75EmiuDQ2TjmI9CBLyMO","y":"RectUMm16ocn74_9MnQMQ7pb73w35nXCf-aOq1Yqe18havSs-oJwTW0FVTG0exPz"},"attributes":{"enabled":true,"created":1579576672,"updated":1579576672,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/a6b98db2df274a3eb20f1c33e5acf794","kty":"EC","key_ops":["sign","verify"],"crv":"P-384","x":"XqAZPBetAFTWs6yfc1CtQVPPOzE-NXeTgKMTwuTqHCRj75EmiuDQ2TjmI9CBLyMO","y":"RectUMm16ocn74_9MnQMQ7pb73w35nXCf-aOq1Yqe18havSs-oJwTW0FVTG0exPz"},"attributes":{"enabled":true,"created":1579598805,"updated":1579598805,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -486,7 +486,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:17:52 GMT + - Tue, 21 Jan 2020 09:26:46 GMT expires: - '-1' pragma: @@ -530,7 +530,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/797b41403a61434c852710fd2a7fb365","kty":"EC","key_ops":["sign","verify"],"crv":"P-384","x":"XqAZPBetAFTWs6yfc1CtQVPPOzE-NXeTgKMTwuTqHCRj75EmiuDQ2TjmI9CBLyMO","y":"RectUMm16ocn74_9MnQMQ7pb73w35nXCf-aOq1Yqe18havSs-oJwTW0FVTG0exPz"},"attributes":{"enabled":true,"created":1579576672,"updated":1579576672,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/a6b98db2df274a3eb20f1c33e5acf794","kty":"EC","key_ops":["sign","verify"],"crv":"P-384","x":"XqAZPBetAFTWs6yfc1CtQVPPOzE-NXeTgKMTwuTqHCRj75EmiuDQ2TjmI9CBLyMO","y":"RectUMm16ocn74_9MnQMQ7pb73w35nXCf-aOq1Yqe18havSs-oJwTW0FVTG0exPz"},"attributes":{"enabled":true,"created":1579598805,"updated":1579598805,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -539,7 +539,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:17:55 GMT + - Tue, 21 Jan 2020 09:26:47 GMT expires: - '-1' pragma: @@ -588,7 +588,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/2b7f04d760fc403cafd7e4540bd46c21","kty":"EC","key_ops":["sign","verify"],"crv":"P-521","x":"fP-pBRcvboy_RkWltXNhc_cF29Yem4NcwlgoDVpYziBF3IrPJvvUOMH2BbudcylCN0F6rA5DybbPa7v8ZtjTmSU","y":"yWlPvSzTx68r5HeOMZ4slm1g27zw_47OsygwlTJb5qOwkmjmI90FhM6FgzFcVd_Sq8WFWHkq0UFtnM5WK7RkEBo"},"attributes":{"enabled":true,"created":1579576676,"updated":1579576676,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/cadc35dcdeee4181b822acd278928d61","kty":"EC","key_ops":["sign","verify"],"crv":"P-521","x":"fP-pBRcvboy_RkWltXNhc_cF29Yem4NcwlgoDVpYziBF3IrPJvvUOMH2BbudcylCN0F6rA5DybbPa7v8ZtjTmSU","y":"yWlPvSzTx68r5HeOMZ4slm1g27zw_47OsygwlTJb5qOwkmjmI90FhM6FgzFcVd_Sq8WFWHkq0UFtnM5WK7RkEBo"},"attributes":{"enabled":true,"created":1579598809,"updated":1579598809,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -597,7 +597,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:17:56 GMT + - Tue, 21 Jan 2020 09:26:49 GMT expires: - '-1' pragma: @@ -641,7 +641,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/2b7f04d760fc403cafd7e4540bd46c21","kty":"EC","key_ops":["sign","verify"],"crv":"P-521","x":"fP-pBRcvboy_RkWltXNhc_cF29Yem4NcwlgoDVpYziBF3IrPJvvUOMH2BbudcylCN0F6rA5DybbPa7v8ZtjTmSU","y":"yWlPvSzTx68r5HeOMZ4slm1g27zw_47OsygwlTJb5qOwkmjmI90FhM6FgzFcVd_Sq8WFWHkq0UFtnM5WK7RkEBo"},"attributes":{"enabled":true,"created":1579576676,"updated":1579576676,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/cadc35dcdeee4181b822acd278928d61","kty":"EC","key_ops":["sign","verify"],"crv":"P-521","x":"fP-pBRcvboy_RkWltXNhc_cF29Yem4NcwlgoDVpYziBF3IrPJvvUOMH2BbudcylCN0F6rA5DybbPa7v8ZtjTmSU","y":"yWlPvSzTx68r5HeOMZ4slm1g27zw_47OsygwlTJb5qOwkmjmI90FhM6FgzFcVd_Sq8WFWHkq0UFtnM5WK7RkEBo"},"attributes":{"enabled":true,"created":1579598809,"updated":1579598809,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -650,7 +650,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:17:57 GMT + - Tue, 21 Jan 2020 09:26:51 GMT expires: - '-1' pragma: @@ -694,7 +694,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/2b7f04d760fc403cafd7e4540bd46c21","kty":"EC","key_ops":["sign","verify"],"crv":"P-521","x":"fP-pBRcvboy_RkWltXNhc_cF29Yem4NcwlgoDVpYziBF3IrPJvvUOMH2BbudcylCN0F6rA5DybbPa7v8ZtjTmSU","y":"yWlPvSzTx68r5HeOMZ4slm1g27zw_47OsygwlTJb5qOwkmjmI90FhM6FgzFcVd_Sq8WFWHkq0UFtnM5WK7RkEBo"},"attributes":{"enabled":true,"created":1579576676,"updated":1579576676,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/cadc35dcdeee4181b822acd278928d61","kty":"EC","key_ops":["sign","verify"],"crv":"P-521","x":"fP-pBRcvboy_RkWltXNhc_cF29Yem4NcwlgoDVpYziBF3IrPJvvUOMH2BbudcylCN0F6rA5DybbPa7v8ZtjTmSU","y":"yWlPvSzTx68r5HeOMZ4slm1g27zw_47OsygwlTJb5qOwkmjmI90FhM6FgzFcVd_Sq8WFWHkq0UFtnM5WK7RkEBo"},"attributes":{"enabled":true,"created":1579598809,"updated":1579598809,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -703,7 +703,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:17:59 GMT + - Tue, 21 Jan 2020 09:26:52 GMT expires: - '-1' pragma: @@ -751,7 +751,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/08b3c6a22b4b4e00999b4e4096dc221a","kty":"EC","key_ops":["sign","verify"],"crv":"SECP256K1","x":"H7Thoa_qhy7HoBSFPKOL9edHRqr305sCa7ozYkRLIe0","y":"FkffDAOC8F6WQxd3aNAjDaiGC80ybBt-wy54EGeKyT8"},"attributes":{"enabled":true,"created":1579576681,"updated":1579576681,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/50cd625188fb4674915b8783fdead6f9","kty":"EC","key_ops":["sign","verify"],"crv":"SECP256K1","x":"H7Thoa_qhy7HoBSFPKOL9edHRqr305sCa7ozYkRLIe0","y":"FkffDAOC8F6WQxd3aNAjDaiGC80ybBt-wy54EGeKyT8"},"attributes":{"enabled":true,"created":1579598814,"updated":1579598814,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -760,7 +760,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:18:00 GMT + - Tue, 21 Jan 2020 09:26:54 GMT expires: - '-1' pragma: @@ -804,7 +804,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/08b3c6a22b4b4e00999b4e4096dc221a","kty":"EC","key_ops":["sign","verify"],"crv":"SECP256K1","x":"H7Thoa_qhy7HoBSFPKOL9edHRqr305sCa7ozYkRLIe0","y":"FkffDAOC8F6WQxd3aNAjDaiGC80ybBt-wy54EGeKyT8"},"attributes":{"enabled":true,"created":1579576681,"updated":1579576681,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/50cd625188fb4674915b8783fdead6f9","kty":"EC","key_ops":["sign","verify"],"crv":"SECP256K1","x":"H7Thoa_qhy7HoBSFPKOL9edHRqr305sCa7ozYkRLIe0","y":"FkffDAOC8F6WQxd3aNAjDaiGC80ybBt-wy54EGeKyT8"},"attributes":{"enabled":true,"created":1579598814,"updated":1579598814,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -813,7 +813,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:18:03 GMT + - Tue, 21 Jan 2020 09:26:55 GMT expires: - '-1' pragma: @@ -857,7 +857,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/08b3c6a22b4b4e00999b4e4096dc221a","kty":"EC","key_ops":["sign","verify"],"crv":"SECP256K1","x":"H7Thoa_qhy7HoBSFPKOL9edHRqr305sCa7ozYkRLIe0","y":"FkffDAOC8F6WQxd3aNAjDaiGC80ybBt-wy54EGeKyT8"},"attributes":{"enabled":true,"created":1579576681,"updated":1579576681,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/50cd625188fb4674915b8783fdead6f9","kty":"EC","key_ops":["sign","verify"],"crv":"SECP256K1","x":"H7Thoa_qhy7HoBSFPKOL9edHRqr305sCa7ozYkRLIe0","y":"FkffDAOC8F6WQxd3aNAjDaiGC80ybBt-wy54EGeKyT8"},"attributes":{"enabled":true,"created":1579598814,"updated":1579598814,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -866,7 +866,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:18:03 GMT + - Tue, 21 Jan 2020 09:26:57 GMT expires: - '-1' pragma: @@ -919,7 +919,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/f5e47ce16cf34af4ada00be5c15b3bcc","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zJEYKuhIeHvKqZZtJRDtQjg17ChAZtY_yJfNqv30xnzkzOZwVmy7NViVQIRnkCYvAMCstja-EpEpeW02LD83teNQRKM9Nie74g7ehDn6ZZCSdQQ54TQemt26hMfnFVaUl376p0E398IP1leHcvYOaiVgT_ffUhNhgIUJ5sIphtf4D1p5bWFYvs_Gd-A-Fk38hnerpl7JRF4y6p5WGJzvXKKs0QVSaQ1NHD7L1tQ0xTKra3FS_BGwD7ZdgBZerqzBPgxRjuxzq2DQJlHtvINsFjJhsMtwI11UV5-tIBOEWPSBTIoQpUWGB-_4jZ44IpKlBDQuc1kqa2Y8-eO53Gxn-Q","e":"AQAB"},"attributes":{"enabled":true,"created":1579576686,"updated":1579576686,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/13330bed294d4a658dbe71721391cd77","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zJEYKuhIeHvKqZZtJRDtQjg17ChAZtY_yJfNqv30xnzkzOZwVmy7NViVQIRnkCYvAMCstja-EpEpeW02LD83teNQRKM9Nie74g7ehDn6ZZCSdQQ54TQemt26hMfnFVaUl376p0E398IP1leHcvYOaiVgT_ffUhNhgIUJ5sIphtf4D1p5bWFYvs_Gd-A-Fk38hnerpl7JRF4y6p5WGJzvXKKs0QVSaQ1NHD7L1tQ0xTKra3FS_BGwD7ZdgBZerqzBPgxRjuxzq2DQJlHtvINsFjJhsMtwI11UV5-tIBOEWPSBTIoQpUWGB-_4jZ44IpKlBDQuc1kqa2Y8-eO53Gxn-Q","e":"AQAB"},"attributes":{"enabled":true,"created":1579598818,"updated":1579598818,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -928,7 +928,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:18:05 GMT + - Tue, 21 Jan 2020 09:26:58 GMT expires: - '-1' pragma: @@ -972,7 +972,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/f5e47ce16cf34af4ada00be5c15b3bcc","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zJEYKuhIeHvKqZZtJRDtQjg17ChAZtY_yJfNqv30xnzkzOZwVmy7NViVQIRnkCYvAMCstja-EpEpeW02LD83teNQRKM9Nie74g7ehDn6ZZCSdQQ54TQemt26hMfnFVaUl376p0E398IP1leHcvYOaiVgT_ffUhNhgIUJ5sIphtf4D1p5bWFYvs_Gd-A-Fk38hnerpl7JRF4y6p5WGJzvXKKs0QVSaQ1NHD7L1tQ0xTKra3FS_BGwD7ZdgBZerqzBPgxRjuxzq2DQJlHtvINsFjJhsMtwI11UV5-tIBOEWPSBTIoQpUWGB-_4jZ44IpKlBDQuc1kqa2Y8-eO53Gxn-Q","e":"AQAB"},"attributes":{"enabled":true,"created":1579576686,"updated":1579576686,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/13330bed294d4a658dbe71721391cd77","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zJEYKuhIeHvKqZZtJRDtQjg17ChAZtY_yJfNqv30xnzkzOZwVmy7NViVQIRnkCYvAMCstja-EpEpeW02LD83teNQRKM9Nie74g7ehDn6ZZCSdQQ54TQemt26hMfnFVaUl376p0E398IP1leHcvYOaiVgT_ffUhNhgIUJ5sIphtf4D1p5bWFYvs_Gd-A-Fk38hnerpl7JRF4y6p5WGJzvXKKs0QVSaQ1NHD7L1tQ0xTKra3FS_BGwD7ZdgBZerqzBPgxRjuxzq2DQJlHtvINsFjJhsMtwI11UV5-tIBOEWPSBTIoQpUWGB-_4jZ44IpKlBDQuc1kqa2Y8-eO53Gxn-Q","e":"AQAB"},"attributes":{"enabled":true,"created":1579598818,"updated":1579598818,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -981,7 +981,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:18:07 GMT + - Tue, 21 Jan 2020 09:27:00 GMT expires: - '-1' pragma: @@ -1025,7 +1025,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/f5e47ce16cf34af4ada00be5c15b3bcc","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zJEYKuhIeHvKqZZtJRDtQjg17ChAZtY_yJfNqv30xnzkzOZwVmy7NViVQIRnkCYvAMCstja-EpEpeW02LD83teNQRKM9Nie74g7ehDn6ZZCSdQQ54TQemt26hMfnFVaUl376p0E398IP1leHcvYOaiVgT_ffUhNhgIUJ5sIphtf4D1p5bWFYvs_Gd-A-Fk38hnerpl7JRF4y6p5WGJzvXKKs0QVSaQ1NHD7L1tQ0xTKra3FS_BGwD7ZdgBZerqzBPgxRjuxzq2DQJlHtvINsFjJhsMtwI11UV5-tIBOEWPSBTIoQpUWGB-_4jZ44IpKlBDQuc1kqa2Y8-eO53Gxn-Q","e":"AQAB"},"attributes":{"enabled":true,"created":1579576686,"updated":1579576686,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/13330bed294d4a658dbe71721391cd77","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zJEYKuhIeHvKqZZtJRDtQjg17ChAZtY_yJfNqv30xnzkzOZwVmy7NViVQIRnkCYvAMCstja-EpEpeW02LD83teNQRKM9Nie74g7ehDn6ZZCSdQQ54TQemt26hMfnFVaUl376p0E398IP1leHcvYOaiVgT_ffUhNhgIUJ5sIphtf4D1p5bWFYvs_Gd-A-Fk38hnerpl7JRF4y6p5WGJzvXKKs0QVSaQ1NHD7L1tQ0xTKra3FS_BGwD7ZdgBZerqzBPgxRjuxzq2DQJlHtvINsFjJhsMtwI11UV5-tIBOEWPSBTIoQpUWGB-_4jZ44IpKlBDQuc1kqa2Y8-eO53Gxn-Q","e":"AQAB"},"attributes":{"enabled":true,"created":1579598818,"updated":1579598818,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1034,7 +1034,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:18:08 GMT + - Tue, 21 Jan 2020 09:27:01 GMT expires: - '-1' pragma: @@ -1087,7 +1087,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/e2d1ea69552147c1854e07b80549fa07","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"t6f3peMvTmrOtW1Zzzl1z05xGYVck3KeWnBb_TvPSZp8XczOa0QNCLJ-FFmvP7wyGrz7tsN3QNveITRqsk9_1PA3MQfxHCmBziSj2NDXPynuquwfu-ew5mhgWsI_Wbx7UpAgXWTfdmrLkcWwCXqbfR74emxVsMiItpg8aOwFhihid4ziEamMc3UX9IB6zKJN-VY3RHWa1QnFvMYXDTHjuqFIYGEGR8I5ZlJZDV_Cxkg1LqqtXjd1gNglmcRVDOaMtvLy3WvObb8QLAJsdq-3xUzgh6YWLb9ErQZ5WdbdEL3YVQwRCi6yYHk5dOMyLfGUtqJg6zxMLxW8Abso5ZAn_4ULOlgsTwCZ-IT7fMa-QnrF6CjJtD93U2jdVURTGUo9PV41SO43L69Z83FqzJUZhIZNScERIZd5Km4EAhNJN59DNge7T-089Y3iWmLGnywwoFYjoEjXVEizZPdvSSZjMECP3lLF0peFiWhcN2V2p3Q1yY3FF1TfNleTsIydz5O_","e":"AQAB"},"attributes":{"enabled":true,"created":1579576690,"updated":1579576690,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/ec2a0b70afd042cba80582fa1996dc9d","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"t6f3peMvTmrOtW1Zzzl1z05xGYVck3KeWnBb_TvPSZp8XczOa0QNCLJ-FFmvP7wyGrz7tsN3QNveITRqsk9_1PA3MQfxHCmBziSj2NDXPynuquwfu-ew5mhgWsI_Wbx7UpAgXWTfdmrLkcWwCXqbfR74emxVsMiItpg8aOwFhihid4ziEamMc3UX9IB6zKJN-VY3RHWa1QnFvMYXDTHjuqFIYGEGR8I5ZlJZDV_Cxkg1LqqtXjd1gNglmcRVDOaMtvLy3WvObb8QLAJsdq-3xUzgh6YWLb9ErQZ5WdbdEL3YVQwRCi6yYHk5dOMyLfGUtqJg6zxMLxW8Abso5ZAn_4ULOlgsTwCZ-IT7fMa-QnrF6CjJtD93U2jdVURTGUo9PV41SO43L69Z83FqzJUZhIZNScERIZd5Km4EAhNJN59DNge7T-089Y3iWmLGnywwoFYjoEjXVEizZPdvSSZjMECP3lLF0peFiWhcN2V2p3Q1yY3FF1TfNleTsIydz5O_","e":"AQAB"},"attributes":{"enabled":true,"created":1579598823,"updated":1579598823,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1096,7 +1096,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:18:10 GMT + - Tue, 21 Jan 2020 09:27:03 GMT expires: - '-1' pragma: @@ -1140,7 +1140,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/e2d1ea69552147c1854e07b80549fa07","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"t6f3peMvTmrOtW1Zzzl1z05xGYVck3KeWnBb_TvPSZp8XczOa0QNCLJ-FFmvP7wyGrz7tsN3QNveITRqsk9_1PA3MQfxHCmBziSj2NDXPynuquwfu-ew5mhgWsI_Wbx7UpAgXWTfdmrLkcWwCXqbfR74emxVsMiItpg8aOwFhihid4ziEamMc3UX9IB6zKJN-VY3RHWa1QnFvMYXDTHjuqFIYGEGR8I5ZlJZDV_Cxkg1LqqtXjd1gNglmcRVDOaMtvLy3WvObb8QLAJsdq-3xUzgh6YWLb9ErQZ5WdbdEL3YVQwRCi6yYHk5dOMyLfGUtqJg6zxMLxW8Abso5ZAn_4ULOlgsTwCZ-IT7fMa-QnrF6CjJtD93U2jdVURTGUo9PV41SO43L69Z83FqzJUZhIZNScERIZd5Km4EAhNJN59DNge7T-089Y3iWmLGnywwoFYjoEjXVEizZPdvSSZjMECP3lLF0peFiWhcN2V2p3Q1yY3FF1TfNleTsIydz5O_","e":"AQAB"},"attributes":{"enabled":true,"created":1579576690,"updated":1579576690,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/ec2a0b70afd042cba80582fa1996dc9d","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"t6f3peMvTmrOtW1Zzzl1z05xGYVck3KeWnBb_TvPSZp8XczOa0QNCLJ-FFmvP7wyGrz7tsN3QNveITRqsk9_1PA3MQfxHCmBziSj2NDXPynuquwfu-ew5mhgWsI_Wbx7UpAgXWTfdmrLkcWwCXqbfR74emxVsMiItpg8aOwFhihid4ziEamMc3UX9IB6zKJN-VY3RHWa1QnFvMYXDTHjuqFIYGEGR8I5ZlJZDV_Cxkg1LqqtXjd1gNglmcRVDOaMtvLy3WvObb8QLAJsdq-3xUzgh6YWLb9ErQZ5WdbdEL3YVQwRCi6yYHk5dOMyLfGUtqJg6zxMLxW8Abso5ZAn_4ULOlgsTwCZ-IT7fMa-QnrF6CjJtD93U2jdVURTGUo9PV41SO43L69Z83FqzJUZhIZNScERIZd5Km4EAhNJN59DNge7T-089Y3iWmLGnywwoFYjoEjXVEizZPdvSSZjMECP3lLF0peFiWhcN2V2p3Q1yY3FF1TfNleTsIydz5O_","e":"AQAB"},"attributes":{"enabled":true,"created":1579598823,"updated":1579598823,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1149,7 +1149,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:18:12 GMT + - Tue, 21 Jan 2020 09:27:04 GMT expires: - '-1' pragma: @@ -1193,7 +1193,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/e2d1ea69552147c1854e07b80549fa07","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"t6f3peMvTmrOtW1Zzzl1z05xGYVck3KeWnBb_TvPSZp8XczOa0QNCLJ-FFmvP7wyGrz7tsN3QNveITRqsk9_1PA3MQfxHCmBziSj2NDXPynuquwfu-ew5mhgWsI_Wbx7UpAgXWTfdmrLkcWwCXqbfR74emxVsMiItpg8aOwFhihid4ziEamMc3UX9IB6zKJN-VY3RHWa1QnFvMYXDTHjuqFIYGEGR8I5ZlJZDV_Cxkg1LqqtXjd1gNglmcRVDOaMtvLy3WvObb8QLAJsdq-3xUzgh6YWLb9ErQZ5WdbdEL3YVQwRCi6yYHk5dOMyLfGUtqJg6zxMLxW8Abso5ZAn_4ULOlgsTwCZ-IT7fMa-QnrF6CjJtD93U2jdVURTGUo9PV41SO43L69Z83FqzJUZhIZNScERIZd5Km4EAhNJN59DNge7T-089Y3iWmLGnywwoFYjoEjXVEizZPdvSSZjMECP3lLF0peFiWhcN2V2p3Q1yY3FF1TfNleTsIydz5O_","e":"AQAB"},"attributes":{"enabled":true,"created":1579576690,"updated":1579576690,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/ec2a0b70afd042cba80582fa1996dc9d","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"t6f3peMvTmrOtW1Zzzl1z05xGYVck3KeWnBb_TvPSZp8XczOa0QNCLJ-FFmvP7wyGrz7tsN3QNveITRqsk9_1PA3MQfxHCmBziSj2NDXPynuquwfu-ew5mhgWsI_Wbx7UpAgXWTfdmrLkcWwCXqbfR74emxVsMiItpg8aOwFhihid4ziEamMc3UX9IB6zKJN-VY3RHWa1QnFvMYXDTHjuqFIYGEGR8I5ZlJZDV_Cxkg1LqqtXjd1gNglmcRVDOaMtvLy3WvObb8QLAJsdq-3xUzgh6YWLb9ErQZ5WdbdEL3YVQwRCi6yYHk5dOMyLfGUtqJg6zxMLxW8Abso5ZAn_4ULOlgsTwCZ-IT7fMa-QnrF6CjJtD93U2jdVURTGUo9PV41SO43L69Z83FqzJUZhIZNScERIZd5Km4EAhNJN59DNge7T-089Y3iWmLGnywwoFYjoEjXVEizZPdvSSZjMECP3lLF0peFiWhcN2V2p3Q1yY3FF1TfNleTsIydz5O_","e":"AQAB"},"attributes":{"enabled":true,"created":1579598823,"updated":1579598823,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1202,7 +1202,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:18:13 GMT + - Tue, 21 Jan 2020 09:27:05 GMT expires: - '-1' pragma: @@ -1255,7 +1255,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/b40b492185db445494e104f921211661","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"3J-sKKSUS2AWjfOObdNZL1HnROsmHl4KM-w9E8uBvhmeRvEBg_v3I3EFR2tHGvRiFAvxnU6ocdKnzAmU-qzs0lKbkqIs9NjvCxNcVClwZZ5-QNlFp8FjVjf8rtWpYq_qbo2WCqMudZtk2SHZ1XEPIeL9blGG0J9RKAKhlHNeWiRxzJglponaB_TQToFfvab2iV7rwyYzObhKPRXgw6QFqVueHBKCJlOHUJDwiaHBq9h89l4isvcwafRIqGKr25H1PZpa5qB6TlDtBxfODAwFJsKZljvAPaTLCd_1cNPOiZ8G3IFel5GPuv7_9ZirVeulZ0RWWTYIO5ikFrvNG_nVUuzKG11q6tyMXhYeQRGAy10udnQ6emggtW7vA7ev8GkdQUNBmQasWvZaTdRyTjV88AUiYMgz9g5cu6UYFTCFdgUhoPbaxEd6w1JJP9GUsdIIY9aDayj2Nsf4vuwiM3RpW-YrOJIPlkRuY0XuWFrF37lVi8iIpMsgTO3XoalOg6GCW9TmHEgJkuETyLHYw84zRF40z6fTjDyGp7YChwOinmRcBF6ToVpYxsosAzUk2QfNKa5IjuRdDXEucodw_1ViAENE2m58QPNFWcSZ9FYckBA-uRn4kHffdFATR9Vx1Hh3cPESuDwXh8AzFwFuOLOATaSHkaQfGV6PQHgT7NUKv_k","e":"AQAB"},"attributes":{"enabled":true,"created":1579576695,"updated":1579576695,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/c3a1beb5a66d420fb4b81eb94c0e2596","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"3J-sKKSUS2AWjfOObdNZL1HnROsmHl4KM-w9E8uBvhmeRvEBg_v3I3EFR2tHGvRiFAvxnU6ocdKnzAmU-qzs0lKbkqIs9NjvCxNcVClwZZ5-QNlFp8FjVjf8rtWpYq_qbo2WCqMudZtk2SHZ1XEPIeL9blGG0J9RKAKhlHNeWiRxzJglponaB_TQToFfvab2iV7rwyYzObhKPRXgw6QFqVueHBKCJlOHUJDwiaHBq9h89l4isvcwafRIqGKr25H1PZpa5qB6TlDtBxfODAwFJsKZljvAPaTLCd_1cNPOiZ8G3IFel5GPuv7_9ZirVeulZ0RWWTYIO5ikFrvNG_nVUuzKG11q6tyMXhYeQRGAy10udnQ6emggtW7vA7ev8GkdQUNBmQasWvZaTdRyTjV88AUiYMgz9g5cu6UYFTCFdgUhoPbaxEd6w1JJP9GUsdIIY9aDayj2Nsf4vuwiM3RpW-YrOJIPlkRuY0XuWFrF37lVi8iIpMsgTO3XoalOg6GCW9TmHEgJkuETyLHYw84zRF40z6fTjDyGp7YChwOinmRcBF6ToVpYxsosAzUk2QfNKa5IjuRdDXEucodw_1ViAENE2m58QPNFWcSZ9FYckBA-uRn4kHffdFATR9Vx1Hh3cPESuDwXh8AzFwFuOLOATaSHkaQfGV6PQHgT7NUKv_k","e":"AQAB"},"attributes":{"enabled":true,"created":1579598827,"updated":1579598827,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1264,7 +1264,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:18:14 GMT + - Tue, 21 Jan 2020 09:27:07 GMT expires: - '-1' pragma: @@ -1308,7 +1308,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/b40b492185db445494e104f921211661","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"3J-sKKSUS2AWjfOObdNZL1HnROsmHl4KM-w9E8uBvhmeRvEBg_v3I3EFR2tHGvRiFAvxnU6ocdKnzAmU-qzs0lKbkqIs9NjvCxNcVClwZZ5-QNlFp8FjVjf8rtWpYq_qbo2WCqMudZtk2SHZ1XEPIeL9blGG0J9RKAKhlHNeWiRxzJglponaB_TQToFfvab2iV7rwyYzObhKPRXgw6QFqVueHBKCJlOHUJDwiaHBq9h89l4isvcwafRIqGKr25H1PZpa5qB6TlDtBxfODAwFJsKZljvAPaTLCd_1cNPOiZ8G3IFel5GPuv7_9ZirVeulZ0RWWTYIO5ikFrvNG_nVUuzKG11q6tyMXhYeQRGAy10udnQ6emggtW7vA7ev8GkdQUNBmQasWvZaTdRyTjV88AUiYMgz9g5cu6UYFTCFdgUhoPbaxEd6w1JJP9GUsdIIY9aDayj2Nsf4vuwiM3RpW-YrOJIPlkRuY0XuWFrF37lVi8iIpMsgTO3XoalOg6GCW9TmHEgJkuETyLHYw84zRF40z6fTjDyGp7YChwOinmRcBF6ToVpYxsosAzUk2QfNKa5IjuRdDXEucodw_1ViAENE2m58QPNFWcSZ9FYckBA-uRn4kHffdFATR9Vx1Hh3cPESuDwXh8AzFwFuOLOATaSHkaQfGV6PQHgT7NUKv_k","e":"AQAB"},"attributes":{"enabled":true,"created":1579576695,"updated":1579576695,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/c3a1beb5a66d420fb4b81eb94c0e2596","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"3J-sKKSUS2AWjfOObdNZL1HnROsmHl4KM-w9E8uBvhmeRvEBg_v3I3EFR2tHGvRiFAvxnU6ocdKnzAmU-qzs0lKbkqIs9NjvCxNcVClwZZ5-QNlFp8FjVjf8rtWpYq_qbo2WCqMudZtk2SHZ1XEPIeL9blGG0J9RKAKhlHNeWiRxzJglponaB_TQToFfvab2iV7rwyYzObhKPRXgw6QFqVueHBKCJlOHUJDwiaHBq9h89l4isvcwafRIqGKr25H1PZpa5qB6TlDtBxfODAwFJsKZljvAPaTLCd_1cNPOiZ8G3IFel5GPuv7_9ZirVeulZ0RWWTYIO5ikFrvNG_nVUuzKG11q6tyMXhYeQRGAy10udnQ6emggtW7vA7ev8GkdQUNBmQasWvZaTdRyTjV88AUiYMgz9g5cu6UYFTCFdgUhoPbaxEd6w1JJP9GUsdIIY9aDayj2Nsf4vuwiM3RpW-YrOJIPlkRuY0XuWFrF37lVi8iIpMsgTO3XoalOg6GCW9TmHEgJkuETyLHYw84zRF40z6fTjDyGp7YChwOinmRcBF6ToVpYxsosAzUk2QfNKa5IjuRdDXEucodw_1ViAENE2m58QPNFWcSZ9FYckBA-uRn4kHffdFATR9Vx1Hh3cPESuDwXh8AzFwFuOLOATaSHkaQfGV6PQHgT7NUKv_k","e":"AQAB"},"attributes":{"enabled":true,"created":1579598827,"updated":1579598827,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1317,7 +1317,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:18:16 GMT + - Tue, 21 Jan 2020 09:27:09 GMT expires: - '-1' pragma: @@ -1361,7 +1361,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/b40b492185db445494e104f921211661","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"3J-sKKSUS2AWjfOObdNZL1HnROsmHl4KM-w9E8uBvhmeRvEBg_v3I3EFR2tHGvRiFAvxnU6ocdKnzAmU-qzs0lKbkqIs9NjvCxNcVClwZZ5-QNlFp8FjVjf8rtWpYq_qbo2WCqMudZtk2SHZ1XEPIeL9blGG0J9RKAKhlHNeWiRxzJglponaB_TQToFfvab2iV7rwyYzObhKPRXgw6QFqVueHBKCJlOHUJDwiaHBq9h89l4isvcwafRIqGKr25H1PZpa5qB6TlDtBxfODAwFJsKZljvAPaTLCd_1cNPOiZ8G3IFel5GPuv7_9ZirVeulZ0RWWTYIO5ikFrvNG_nVUuzKG11q6tyMXhYeQRGAy10udnQ6emggtW7vA7ev8GkdQUNBmQasWvZaTdRyTjV88AUiYMgz9g5cu6UYFTCFdgUhoPbaxEd6w1JJP9GUsdIIY9aDayj2Nsf4vuwiM3RpW-YrOJIPlkRuY0XuWFrF37lVi8iIpMsgTO3XoalOg6GCW9TmHEgJkuETyLHYw84zRF40z6fTjDyGp7YChwOinmRcBF6ToVpYxsosAzUk2QfNKa5IjuRdDXEucodw_1ViAENE2m58QPNFWcSZ9FYckBA-uRn4kHffdFATR9Vx1Hh3cPESuDwXh8AzFwFuOLOATaSHkaQfGV6PQHgT7NUKv_k","e":"AQAB"},"attributes":{"enabled":true,"created":1579576695,"updated":1579576695,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/c3a1beb5a66d420fb4b81eb94c0e2596","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"3J-sKKSUS2AWjfOObdNZL1HnROsmHl4KM-w9E8uBvhmeRvEBg_v3I3EFR2tHGvRiFAvxnU6ocdKnzAmU-qzs0lKbkqIs9NjvCxNcVClwZZ5-QNlFp8FjVjf8rtWpYq_qbo2WCqMudZtk2SHZ1XEPIeL9blGG0J9RKAKhlHNeWiRxzJglponaB_TQToFfvab2iV7rwyYzObhKPRXgw6QFqVueHBKCJlOHUJDwiaHBq9h89l4isvcwafRIqGKr25H1PZpa5qB6TlDtBxfODAwFJsKZljvAPaTLCd_1cNPOiZ8G3IFel5GPuv7_9ZirVeulZ0RWWTYIO5ikFrvNG_nVUuzKG11q6tyMXhYeQRGAy10udnQ6emggtW7vA7ev8GkdQUNBmQasWvZaTdRyTjV88AUiYMgz9g5cu6UYFTCFdgUhoPbaxEd6w1JJP9GUsdIIY9aDayj2Nsf4vuwiM3RpW-YrOJIPlkRuY0XuWFrF37lVi8iIpMsgTO3XoalOg6GCW9TmHEgJkuETyLHYw84zRF40z6fTjDyGp7YChwOinmRcBF6ToVpYxsosAzUk2QfNKa5IjuRdDXEucodw_1ViAENE2m58QPNFWcSZ9FYckBA-uRn4kHffdFATR9Vx1Hh3cPESuDwXh8AzFwFuOLOATaSHkaQfGV6PQHgT7NUKv_k","e":"AQAB"},"attributes":{"enabled":true,"created":1579598827,"updated":1579598827,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1370,7 +1370,1134 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 03:18:18 GMT + - Tue, 21 Jan 2020 09:27:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"kty": "EC-HSM", "attributes": {"enabled": true}, "crv": "P-256"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '66' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: POST + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/create?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/b6cb25c4821f40e9b8eedc0444133916","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256","x":"muqgJKxpsLccLcDxXez0z3hPukczvIoWkqDmPSZfwIo","y":"dqEiD7ciI339ro6PR0ih2vWFz6Z81YLC7HRq_3ue130"},"attributes":{"enabled":true,"created":1579598834,"updated":1579598834,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '378' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Jan 2020 09:27:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: GET + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/b6cb25c4821f40e9b8eedc0444133916","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256","x":"muqgJKxpsLccLcDxXez0z3hPukczvIoWkqDmPSZfwIo","y":"dqEiD7ciI339ro6PR0ih2vWFz6Z81YLC7HRq_3ue130"},"attributes":{"enabled":true,"created":1579598834,"updated":1579598834,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '378' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Jan 2020 09:27:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: GET + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/b6cb25c4821f40e9b8eedc0444133916","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256","x":"muqgJKxpsLccLcDxXez0z3hPukczvIoWkqDmPSZfwIo","y":"dqEiD7ciI339ro6PR0ih2vWFz6Z81YLC7HRq_3ue130"},"attributes":{"enabled":true,"created":1579598834,"updated":1579598834,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '378' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Jan 2020 09:27:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"kty": "EC-HSM", "attributes": {"enabled": true}, "crv": "P-384"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '66' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: POST + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/create?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/eacd2eef6f3f4629a3abaa55c48bfab5","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-384","x":"KZBHGV9FQUZLbQRfhPeQJC-xB0QC7n2hD_6qbw35DCvbIgv_xZ64xYnIaNVJ2d_Y","y":"ImZSjUKNTva_OxOQn1HTqdrZFE18vJTWhqcDUpTbQ_--ZtilXmLJoN72ocUpyWEU"},"attributes":{"enabled":true,"created":1579598842,"updated":1579598842,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '420' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Jan 2020 09:27:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: GET + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/eacd2eef6f3f4629a3abaa55c48bfab5","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-384","x":"KZBHGV9FQUZLbQRfhPeQJC-xB0QC7n2hD_6qbw35DCvbIgv_xZ64xYnIaNVJ2d_Y","y":"ImZSjUKNTva_OxOQn1HTqdrZFE18vJTWhqcDUpTbQ_--ZtilXmLJoN72ocUpyWEU"},"attributes":{"enabled":true,"created":1579598842,"updated":1579598842,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '420' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Jan 2020 09:27:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: GET + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/eacd2eef6f3f4629a3abaa55c48bfab5","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-384","x":"KZBHGV9FQUZLbQRfhPeQJC-xB0QC7n2hD_6qbw35DCvbIgv_xZ64xYnIaNVJ2d_Y","y":"ImZSjUKNTva_OxOQn1HTqdrZFE18vJTWhqcDUpTbQ_--ZtilXmLJoN72ocUpyWEU"},"attributes":{"enabled":true,"created":1579598842,"updated":1579598842,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '420' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Jan 2020 09:27:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"kty": "EC-HSM", "attributes": {"enabled": true}, "crv": "P-521"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '66' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: POST + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/create?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/469f15b828d64da4bd0316b694d6c0ad","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-521","x":"AQp7xtOCQplhor-1XYlPaw28l_9Z1cyT4e1iaiOKF2CW_-L8pEiwysGcil_-vAXpUhOUpNY2aKvAQRgsa7suR2p5","y":"AVboBc6bIfkvFhR-PGmQbadlm6xQb61ENxy1uWI-haKJuiP3PsNu5YLbRPsFCGciwZncRg8xydWPzt_IMwmdPpht"},"attributes":{"enabled":true,"created":1579598847,"updated":1579598847,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '468' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Jan 2020 09:27:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: GET + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/469f15b828d64da4bd0316b694d6c0ad","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-521","x":"AQp7xtOCQplhor-1XYlPaw28l_9Z1cyT4e1iaiOKF2CW_-L8pEiwysGcil_-vAXpUhOUpNY2aKvAQRgsa7suR2p5","y":"AVboBc6bIfkvFhR-PGmQbadlm6xQb61ENxy1uWI-haKJuiP3PsNu5YLbRPsFCGciwZncRg8xydWPzt_IMwmdPpht"},"attributes":{"enabled":true,"created":1579598847,"updated":1579598847,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '468' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Jan 2020 09:27:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: GET + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/469f15b828d64da4bd0316b694d6c0ad","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-521","x":"AQp7xtOCQplhor-1XYlPaw28l_9Z1cyT4e1iaiOKF2CW_-L8pEiwysGcil_-vAXpUhOUpNY2aKvAQRgsa7suR2p5","y":"AVboBc6bIfkvFhR-PGmQbadlm6xQb61ENxy1uWI-haKJuiP3PsNu5YLbRPsFCGciwZncRg8xydWPzt_IMwmdPpht"},"attributes":{"enabled":true,"created":1579598847,"updated":1579598847,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '468' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Jan 2020 09:27:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"kty": "EC-HSM", "attributes": {"enabled": true}, "crv": "P-256K"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '67' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: POST + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/create?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/ea562b38e6054254af96806646a11b82","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256K","x":"HrbdUZfXOMdiUuiBMg_na_J5e2-BEH9Uy9SX7qeLU_g","y":"_KJplNLNSxkAtmcc8EkDJGd78ywAHO1XOsHeLdWWt8M"},"attributes":{"enabled":true,"created":1579598853,"updated":1579598853,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '380' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Jan 2020 09:27:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: GET + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/ea562b38e6054254af96806646a11b82","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256K","x":"HrbdUZfXOMdiUuiBMg_na_J5e2-BEH9Uy9SX7qeLU_g","y":"_KJplNLNSxkAtmcc8EkDJGd78ywAHO1XOsHeLdWWt8M"},"attributes":{"enabled":true,"created":1579598853,"updated":1579598853,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '380' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Jan 2020 09:27:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: GET + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/ea562b38e6054254af96806646a11b82","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256K","x":"HrbdUZfXOMdiUuiBMg_na_J5e2-BEH9Uy9SX7qeLU_g","y":"_KJplNLNSxkAtmcc8EkDJGd78ywAHO1XOsHeLdWWt8M"},"attributes":{"enabled":true,"created":1579598853,"updated":1579598853,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '380' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Jan 2020 09:27:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"kty": "RSA-HSM", "key_size": 2048, "attributes": {"enabled": true}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '69' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: POST + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/create?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/c93c5d64327c4f52b00bbf9a619deca3","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"pGJ-HN6yQt0KNLzyyN5WgYRrQrWKk7rpNiYUzWqMikK-kYE8Odr8BImGi5HQmCosKXg5KtUu9cBB7d-5g2eBx_9V1dLea8sPowHGUDpC0_3MGBNrhWDaLI316IxLlL84dK_xzvWLLvz56amcP4b0dgpy5H7kkPa0QOt49r68SvD98jCUIm6Ch8Tz8YSwcnCtz6_dbcGW_6xRGDzNT_ORzbfygLXqG7A1Hks1CCb6LLs4fGm7wiVMI8zwKWoU98vll1ugb-o7Ol6LzidT_rct8uQFIBiA4unxQP534ctlu_gsAYuXaISgFRWWwD1AVdeBoxxCheLgvjOVlawf_0UCyQ","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1579598858,"updated":1579598858,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '670' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Jan 2020 09:27:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: GET + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/c93c5d64327c4f52b00bbf9a619deca3","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"pGJ-HN6yQt0KNLzyyN5WgYRrQrWKk7rpNiYUzWqMikK-kYE8Odr8BImGi5HQmCosKXg5KtUu9cBB7d-5g2eBx_9V1dLea8sPowHGUDpC0_3MGBNrhWDaLI316IxLlL84dK_xzvWLLvz56amcP4b0dgpy5H7kkPa0QOt49r68SvD98jCUIm6Ch8Tz8YSwcnCtz6_dbcGW_6xRGDzNT_ORzbfygLXqG7A1Hks1CCb6LLs4fGm7wiVMI8zwKWoU98vll1ugb-o7Ol6LzidT_rct8uQFIBiA4unxQP534ctlu_gsAYuXaISgFRWWwD1AVdeBoxxCheLgvjOVlawf_0UCyQ","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1579598858,"updated":1579598858,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '670' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Jan 2020 09:27:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: GET + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/c93c5d64327c4f52b00bbf9a619deca3","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"pGJ-HN6yQt0KNLzyyN5WgYRrQrWKk7rpNiYUzWqMikK-kYE8Odr8BImGi5HQmCosKXg5KtUu9cBB7d-5g2eBx_9V1dLea8sPowHGUDpC0_3MGBNrhWDaLI316IxLlL84dK_xzvWLLvz56amcP4b0dgpy5H7kkPa0QOt49r68SvD98jCUIm6Ch8Tz8YSwcnCtz6_dbcGW_6xRGDzNT_ORzbfygLXqG7A1Hks1CCb6LLs4fGm7wiVMI8zwKWoU98vll1ugb-o7Ol6LzidT_rct8uQFIBiA4unxQP534ctlu_gsAYuXaISgFRWWwD1AVdeBoxxCheLgvjOVlawf_0UCyQ","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1579598858,"updated":1579598858,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '670' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Jan 2020 09:27:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"kty": "RSA-HSM", "key_size": 3072, "attributes": {"enabled": true}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '69' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: POST + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/create?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/5c72cc6fd910463dad63898579088daa","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"wnW6BC9zhe-gOhQZB0ehVSkFW0FLr_ItZuJmY-HXzPmpIq_9g_CrNgHaLOU3QcSiAWDdDKPzKor2JddS-dE_tNRmFGfLcGw4i5sgI61DPN4j74Im_gufSaMii01OYULF5p50ZCDM7Biev3C-f59LJ8f2pfXV1L9Cy6kgqmYbRxhnM8469kYEjtg600gXjr3FZwXmH9jBBUR5Ken5BBGwOtwNpN2NvMPx8xYCjPA_lfZ5p6fDOp_WIVB3gB5CoYFE62tgdiOyboqr_g8DVNGknbo3bjtu7zA7-tKw08VW0cDYUfDwnhCHgvJAIL8RfH2ufn3nwGmTwwR28ToMG5a-KR7yhxEVnhtJJ5_dOQ3TJXbnpbTOqNy6wsnUFMZGOWMpGs_gB2y3yV6pBC_Mz2DHG8X7yLZ9GCh6RHlJYFKtR77U3kqWqf9K3g1vGdak5HxZTrVYdDBauZkyvL-g5BPlu_CY2v5P-03SbSmzHTm-N-m3EMUw7kr_gJ8MpG_G57Nd","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1579598864,"updated":1579598864,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '840' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Jan 2020 09:27:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: GET + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/5c72cc6fd910463dad63898579088daa","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"wnW6BC9zhe-gOhQZB0ehVSkFW0FLr_ItZuJmY-HXzPmpIq_9g_CrNgHaLOU3QcSiAWDdDKPzKor2JddS-dE_tNRmFGfLcGw4i5sgI61DPN4j74Im_gufSaMii01OYULF5p50ZCDM7Biev3C-f59LJ8f2pfXV1L9Cy6kgqmYbRxhnM8469kYEjtg600gXjr3FZwXmH9jBBUR5Ken5BBGwOtwNpN2NvMPx8xYCjPA_lfZ5p6fDOp_WIVB3gB5CoYFE62tgdiOyboqr_g8DVNGknbo3bjtu7zA7-tKw08VW0cDYUfDwnhCHgvJAIL8RfH2ufn3nwGmTwwR28ToMG5a-KR7yhxEVnhtJJ5_dOQ3TJXbnpbTOqNy6wsnUFMZGOWMpGs_gB2y3yV6pBC_Mz2DHG8X7yLZ9GCh6RHlJYFKtR77U3kqWqf9K3g1vGdak5HxZTrVYdDBauZkyvL-g5BPlu_CY2v5P-03SbSmzHTm-N-m3EMUw7kr_gJ8MpG_G57Nd","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1579598864,"updated":1579598864,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '840' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Jan 2020 09:27:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: GET + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/5c72cc6fd910463dad63898579088daa","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"wnW6BC9zhe-gOhQZB0ehVSkFW0FLr_ItZuJmY-HXzPmpIq_9g_CrNgHaLOU3QcSiAWDdDKPzKor2JddS-dE_tNRmFGfLcGw4i5sgI61DPN4j74Im_gufSaMii01OYULF5p50ZCDM7Biev3C-f59LJ8f2pfXV1L9Cy6kgqmYbRxhnM8469kYEjtg600gXjr3FZwXmH9jBBUR5Ken5BBGwOtwNpN2NvMPx8xYCjPA_lfZ5p6fDOp_WIVB3gB5CoYFE62tgdiOyboqr_g8DVNGknbo3bjtu7zA7-tKw08VW0cDYUfDwnhCHgvJAIL8RfH2ufn3nwGmTwwR28ToMG5a-KR7yhxEVnhtJJ5_dOQ3TJXbnpbTOqNy6wsnUFMZGOWMpGs_gB2y3yV6pBC_Mz2DHG8X7yLZ9GCh6RHlJYFKtR77U3kqWqf9K3g1vGdak5HxZTrVYdDBauZkyvL-g5BPlu_CY2v5P-03SbSmzHTm-N-m3EMUw7kr_gJ8MpG_G57Nd","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1579598864,"updated":1579598864,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '840' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Jan 2020 09:27:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"kty": "RSA-HSM", "key_size": 4096, "attributes": {"enabled": true}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '69' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: POST + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/create?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/de5d1f45c76b4f868adf8ca33c49f4b0","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zERoSjFHz6FxNearj2KYuk9u_hvIOeEk0lrUD3D9Bkp6UTlTA5sfHO37L4T_5mg6R6aMOOcdNWjvC2n-k4EjXWZb4JDkmsY8U04cW8fVG8dkJd7al3DFrngjvW0KOYH42gznTIr28ckO-dbO1Ej0TIfWKnJ6qDUIsC6iF73K-XL5B4uASJ8kYqz0Bd-BzeFzxORF7I2cJJ7VMNRZXTOuijgdZ7CHqKI-ojnWp9h2rjA58jNnB5Z4gbeCdchEM6ISTVE8nhxa5JjqImSUpdWEOLxR7T5FIQJK0tvp9dwIxlnwtJpFDEldklxVEeiCiEDbhB1GhUJDXvHfYY2RpFZo1OBG5vyD3PucyVzYnJl7kskA6-q8aXybj9nlsdZxmHeFPcZeQVDs6yKoCCTyUeqyIAYLc0uMvPHS6NnuaVAhZLPRc4zOI9Jv2b1HtbN6sVa0qzZ8cXrN3ir9tt6RXY5oPV0Bg8IgdtVzkPj9x4Y3_CWGGk0QwtKHyebhYt3h-o7362unUSrreQK4fL3ZuBWaBBQ4l1ISln9B5ofql4OEnGnVbYi8s6N7T2yg_6SQNTjd41Rj2mDEGvpgdIoKzDHadQkQRB3cpTt9plbPe9GFr9YdsqGL6t06_A5XRYZbVFLUgUd7FLHWZCx7qhEMlM-JsQ1Bs0weTtIAl97VJdzFhPM","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1579598870,"updated":1579598870,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '1011' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Jan 2020 09:27:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: GET + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/de5d1f45c76b4f868adf8ca33c49f4b0","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zERoSjFHz6FxNearj2KYuk9u_hvIOeEk0lrUD3D9Bkp6UTlTA5sfHO37L4T_5mg6R6aMOOcdNWjvC2n-k4EjXWZb4JDkmsY8U04cW8fVG8dkJd7al3DFrngjvW0KOYH42gznTIr28ckO-dbO1Ej0TIfWKnJ6qDUIsC6iF73K-XL5B4uASJ8kYqz0Bd-BzeFzxORF7I2cJJ7VMNRZXTOuijgdZ7CHqKI-ojnWp9h2rjA58jNnB5Z4gbeCdchEM6ISTVE8nhxa5JjqImSUpdWEOLxR7T5FIQJK0tvp9dwIxlnwtJpFDEldklxVEeiCiEDbhB1GhUJDXvHfYY2RpFZo1OBG5vyD3PucyVzYnJl7kskA6-q8aXybj9nlsdZxmHeFPcZeQVDs6yKoCCTyUeqyIAYLc0uMvPHS6NnuaVAhZLPRc4zOI9Jv2b1HtbN6sVa0qzZ8cXrN3ir9tt6RXY5oPV0Bg8IgdtVzkPj9x4Y3_CWGGk0QwtKHyebhYt3h-o7362unUSrreQK4fL3ZuBWaBBQ4l1ISln9B5ofql4OEnGnVbYi8s6N7T2yg_6SQNTjd41Rj2mDEGvpgdIoKzDHadQkQRB3cpTt9plbPe9GFr9YdsqGL6t06_A5XRYZbVFLUgUd7FLHWZCx7qhEMlM-JsQ1Bs0weTtIAl97VJdzFhPM","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1579598870,"updated":1579598870,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '1011' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Jan 2020 09:27:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=167.220.255.35;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - eastus2 + x-ms-keyvault-service-version: + - 1.1.0.891 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + Azure-SDK-For-Python + accept-language: + - en-US + method: GET + uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/?api-version=7.0 + response: + body: + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/de5d1f45c76b4f868adf8ca33c49f4b0","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zERoSjFHz6FxNearj2KYuk9u_hvIOeEk0lrUD3D9Bkp6UTlTA5sfHO37L4T_5mg6R6aMOOcdNWjvC2n-k4EjXWZb4JDkmsY8U04cW8fVG8dkJd7al3DFrngjvW0KOYH42gznTIr28ckO-dbO1Ej0TIfWKnJ6qDUIsC6iF73K-XL5B4uASJ8kYqz0Bd-BzeFzxORF7I2cJJ7VMNRZXTOuijgdZ7CHqKI-ojnWp9h2rjA58jNnB5Z4gbeCdchEM6ISTVE8nhxa5JjqImSUpdWEOLxR7T5FIQJK0tvp9dwIxlnwtJpFDEldklxVEeiCiEDbhB1GhUJDXvHfYY2RpFZo1OBG5vyD3PucyVzYnJl7kskA6-q8aXybj9nlsdZxmHeFPcZeQVDs6yKoCCTyUeqyIAYLc0uMvPHS6NnuaVAhZLPRc4zOI9Jv2b1HtbN6sVa0qzZ8cXrN3ir9tt6RXY5oPV0Bg8IgdtVzkPj9x4Y3_CWGGk0QwtKHyebhYt3h-o7362unUSrreQK4fL3ZuBWaBBQ4l1ISln9B5ofql4OEnGnVbYi8s6N7T2yg_6SQNTjd41Rj2mDEGvpgdIoKzDHadQkQRB3cpTt9plbPe9GFr9YdsqGL6t06_A5XRYZbVFLUgUd7FLHWZCx7qhEMlM-JsQ1Bs0weTtIAl97VJdzFhPM","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1579598870,"updated":1579598870,"recoveryLevel":"Purgeable"}}' + headers: + cache-control: + - no-cache + content-length: + - '1011' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Jan 2020 09:27:52 GMT expires: - '-1' pragma: diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/test_keyvault_commands.py b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/test_keyvault_commands.py index 15205a2f349..62c700de540 100644 --- a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/test_keyvault_commands.py +++ b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/test_keyvault_commands.py @@ -279,7 +279,20 @@ def test_keyvault_key_download(self, resource_group): for key_name in key_names: var_name = key_name.split('.')[0] + '-file' if 'hsm' in key_name: # Should be generated - continue + if key_name.startswith('rsa'): + rsa_size = key_name.split('-')[1] + self.cmd('keyvault key create --vault-name {kv} -n ' + var_name + + ' -p hsm --kty RSA-HSM --size ' + rsa_size) + elif key_name.startswith('ec'): + ec_curve = key_name.split('-')[1] + curve_names = { + 'p256': 'P-256', + 'p384': 'P-384', + 'p521': 'P-521', + 'p256k': 'P-256K' + } + self.cmd('keyvault key create --vault-name {kv} -n ' + var_name + + ' -p hsm --kty EC-HSM --curve ' + curve_names[ec_curve]) else: # Should be imported (Have already been generated offline) self.kwargs[var_name] = os.path.join(KEYS_DIR, key_name) self.cmd('keyvault key import --vault-name {kv} -n ' + var_name + ' --pem-file "{' + var_name + '}"') @@ -291,6 +304,9 @@ def test_keyvault_key_download(self, resource_group): self.cmd('keyvault key download --vault-name {kv} -n ' + var_name + ' -f "' + der_downloaded_filename + '" -e DER') self.cmd('keyvault key download --vault-name {kv} -n ' + var_name + ' -f "' + pem_downloaded_filename + '" -e PEM') + if 'hsm' in key_name: # TODO: Currently we haven't found a good way to verify online generated keys + continue + expected_pem = [] pem_pub_filename = os.path.join(KEYS_DIR, key_name.split('.')[0] + '.pub.pem') with open(pem_pub_filename, 'r') as pem_file: @@ -305,8 +321,8 @@ def verify(path, file_type): actual_pem = actual_pem.decode("utf-8") self.assertIn(expected_pem, actual_pem.replace('\n', '')) - verify(der_downloaded_filename, OpenSSL.crypto.FILETYPE_ASN1) - verify(pem_downloaded_filename, OpenSSL.crypto.FILETYPE_PEM) + verify(der_downloaded_filename, OpenSSL.crypto.FILETYPE_ASN1) + verify(pem_downloaded_filename, OpenSSL.crypto.FILETYPE_PEM) finally: if os.path.exists(der_downloaded_filename): os.remove(der_downloaded_filename) From 788ca691feaf723e5309fad5d8b202b097135ea8 Mon Sep 17 00:00:00 2001 From: Bin Ma Date: Wed, 22 Jan 2020 14:59:19 +0800 Subject: [PATCH 08/14] Add comments --- src/azure-cli/azure/cli/command_modules/keyvault/custom.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py index b3969b8d692..583c125d070 100644 --- a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py +++ b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py @@ -752,6 +752,7 @@ def _jwk_to_dict(jwk): def _extract_rsa_public_key_from_jwk(jwk_dict): + # Please refer to: https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L249-L254 e = jwk_dict.get('e', 256) n = jwk_dict.get('n') public = rsa.RSAPublicNumbers(e, n) @@ -759,6 +760,7 @@ def _extract_rsa_public_key_from_jwk(jwk_dict): def _extract_ec_public_key_from_jwk(jwk_dict): + # Please refer to: https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L81-L100 if not all(k in jwk_dict for k in ['x', 'y', 'crv']): raise CLIError('Invalid EC key: missing properties(x, y, crv)') @@ -801,6 +803,7 @@ def _to_der(k): ) def _to_pem(k): + # Please refer to: https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L329-L332 return k.public_bytes( encoding=Encoding.PEM, format=PublicFormat.SubjectPublicKeyInfo From cf25aebc0f6e0da66e03e56882430a1be98f29e3 Mon Sep 17 00:00:00 2001 From: Bin Ma Date: Wed, 22 Jan 2020 15:17:41 +0800 Subject: [PATCH 09/14] Fix linter error --- src/azure-cli/azure/cli/command_modules/keyvault/custom.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py index 583c125d070..4445e9dfe84 100644 --- a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py +++ b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py @@ -751,7 +751,7 @@ def _jwk_to_dict(jwk): return d -def _extract_rsa_public_key_from_jwk(jwk_dict): +def _extract_rsa_public_key_from_jwk(jwk_dict): # pylint: disable=line-too-long # Please refer to: https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L249-L254 e = jwk_dict.get('e', 256) n = jwk_dict.get('n') @@ -759,7 +759,7 @@ def _extract_rsa_public_key_from_jwk(jwk_dict): return public.public_key(default_backend()) -def _extract_ec_public_key_from_jwk(jwk_dict): +def _extract_ec_public_key_from_jwk(jwk_dict): # pylint: disable=line-too-long # Please refer to: https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L81-L100 if not all(k in jwk_dict for k in ['x', 'y', 'crv']): raise CLIError('Invalid EC key: missing properties(x, y, crv)') @@ -802,7 +802,7 @@ def _to_der(k): format=PublicFormat.SubjectPublicKeyInfo ) - def _to_pem(k): + def _to_pem(k): # pylint: disable=line-too-long # Please refer to: https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L329-L332 return k.public_bytes( encoding=Encoding.PEM, From f761cb7ad017230021cac47e3fe6be5ae35a0431 Mon Sep 17 00:00:00 2001 From: Bin Ma Date: Wed, 22 Jan 2020 16:19:39 +0800 Subject: [PATCH 10/14] Fix linter error --- .../cli/command_modules/keyvault/custom.py | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py index 4445e9dfe84..38965fab150 100644 --- a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py +++ b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py @@ -751,16 +751,25 @@ def _jwk_to_dict(jwk): return d -def _extract_rsa_public_key_from_jwk(jwk_dict): # pylint: disable=line-too-long - # Please refer to: https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L249-L254 +def _extract_rsa_public_key_from_jwk(jwk_dict): + """ + Please refer to: + https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends + /cryptography_backend.py#L249-L254 + """ + # e = jwk_dict.get('e', 256) n = jwk_dict.get('n') public = rsa.RSAPublicNumbers(e, n) return public.public_key(default_backend()) -def _extract_ec_public_key_from_jwk(jwk_dict): # pylint: disable=line-too-long - # Please refer to: https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L81-L100 +def _extract_ec_public_key_from_jwk(jwk_dict): + """ + Please refer to: + https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends + /cryptography_backend.py#L81-L100 + """ if not all(k in jwk_dict for k in ['x', 'y', 'crv']): raise CLIError('Invalid EC key: missing properties(x, y, crv)') @@ -802,8 +811,12 @@ def _to_der(k): format=PublicFormat.SubjectPublicKeyInfo ) - def _to_pem(k): # pylint: disable=line-too-long - # Please refer to: https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L329-L332 + def _to_pem(k): + """ + Please refer to: + https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends + /cryptography_backend.py#L329-L332 + """ return k.public_bytes( encoding=Encoding.PEM, format=PublicFormat.SubjectPublicKeyInfo From 6bed8cd00cbbe6373435beba791b98bbd7f79548 Mon Sep 17 00:00:00 2001 From: Bin Ma Date: Thu, 30 Jan 2020 16:46:32 +0800 Subject: [PATCH 11/14] Fix linter error and some code formats --- .../cli/command_modules/keyvault/custom.py | 26 +- .../test_keyvault_key_download.yaml | 364 +++++++++--------- .../tests/latest/test_keyvault_commands.py | 18 +- 3 files changed, 201 insertions(+), 207 deletions(-) diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py index 38965fab150..79556525c3f 100644 --- a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py +++ b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py @@ -752,12 +752,8 @@ def _jwk_to_dict(jwk): def _extract_rsa_public_key_from_jwk(jwk_dict): - """ - Please refer to: - https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends - /cryptography_backend.py#L249-L254 - """ - # + # Please refer to: https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L249-L254 + # pylint: disable=line-too-long e = jwk_dict.get('e', 256) n = jwk_dict.get('n') public = rsa.RSAPublicNumbers(e, n) @@ -765,11 +761,8 @@ def _extract_rsa_public_key_from_jwk(jwk_dict): def _extract_ec_public_key_from_jwk(jwk_dict): - """ - Please refer to: - https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends - /cryptography_backend.py#L81-L100 - """ + # Please refer to: https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L81-L100 + # pylint: disable=line-too-long if not all(k in jwk_dict for k in ['x', 'y', 'crv']): raise CLIError('Invalid EC key: missing properties(x, y, crv)') @@ -803,7 +796,7 @@ def download_key(client, file_path, vault_base_url=None, key_name=None, key_vers elif key_type in ['EC', 'EC-HSM']: pub_key = _extract_ec_public_key_from_jwk(json_web_key) else: - raise CLIError('Unsupported key type: {}'.format(key_type)) + raise CLIError('Unsupported key type: {}. (Supported key types: RSA, RSA-HSM, EC, EC-HSM)'.format(key_type)) def _to_der(k): return k.public_bytes( @@ -812,11 +805,8 @@ def _to_der(k): ) def _to_pem(k): - """ - Please refer to: - https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends - /cryptography_backend.py#L329-L332 - """ + # Please refer to: https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L329-L332 + # pylint: disable=line-too-long return k.public_bytes( encoding=Encoding.PEM, format=PublicFormat.SubjectPublicKeyInfo @@ -828,7 +818,7 @@ def _to_pem(k): } if encoding not in methods.keys(): - raise CLIError('Unsupported encoding: {}'.format(encoding)) + raise CLIError('Unsupported encoding: {}. (Supported encodings: DER, PEM)'.format(encoding)) try: with open(file_path, 'wb') as f: diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/recordings/test_keyvault_key_download.yaml b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/recordings/test_keyvault_key_download.yaml index 05d15ae3b99..2d3a7c42d0b 100644 --- a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/recordings/test_keyvault_key_download.yaml +++ b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/recordings/test_keyvault_key_download.yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-graphrbac/0.60.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-graphrbac/0.60.0 Azure-SDK-For-Python accept-language: - en-US @@ -31,19 +31,19 @@ interactions: dataserviceversion: - 3.0; date: - - Tue, 21 Jan 2020 09:25:58 GMT + - Thu, 30 Jan 2020 08:42:52 GMT duration: - - '3388736' + - '2257460' expires: - '-1' ocp-aad-diagnostics-server-name: - - /JBGpzTChbcDSwlRpz1rJ60jXqzIcsL8TiQ4nnAtBvA= + - qxb+5oPfk5khbaIhIq0eSgs4N8Ph11A7dFHFBiJUmhs= ocp-aad-session-key: - - 7jmVLWgaghq2ulRo3fa3ZI2zzh5rG5HAR91gg-n4sMS7JjadcSFiD1MFVFe4bsAhh6FUUBw10hoA8j45_xtpT3c2Z_iOqXrEJKZUHiVZiI7q9P3RHqOyF5wW1defKHCA.kGHYqJYgQIPQPHQAn0dvsZ-qPexuHKN4k23uCBsBgCw + - gN8SzpjBbqrmsV-mN3rxe1nQieVnhJ7WllWFKJC-igf_IjBLfJzf3WVSHaKlL8kuZy-n5icfStFNOO7phcuGkqPGGqhjAqznBnD5w8RUcHLuqlZ3DAoUArrGxLoWDuLc.Wg9ggYlDhEmTw5_Lwo9h80V030m74WJml-59ZznoOxA pragma: - no-cache request-id: - - c76b3c0b-a03e-4662-8004-578c52c5fdde + - 791044ca-e3c5-4991-9db6-02db585d1925 strict-transport-security: - max-age=31536000; includeSubDomains x-aspnet-version: @@ -81,7 +81,7 @@ interactions: ParameterSetName: - -g -n -l --sku User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-keyvault/1.1.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-keyvault/1.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 accept-language: - en-US @@ -98,7 +98,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:26:06 GMT + - Thu, 30 Jan 2020 08:43:00 GMT expires: - '-1' pragma: @@ -118,7 +118,7 @@ interactions: x-ms-keyvault-service-version: - 1.1.0.269 x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' x-powered-by: - ASP.NET status: @@ -138,7 +138,7 @@ interactions: ParameterSetName: - -g -n -l --sku User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-keyvault/1.1.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-mgmt-keyvault/1.1.0 Azure-SDK-For-Python AZURECLI/2.0.80 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_kv_key_download000001/providers/Microsoft.KeyVault/vaults/cli-test-keyvault-000002?api-version=2018-02-14 @@ -153,7 +153,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:26:38 GMT + - Thu, 30 Jan 2020 08:43:32 GMT expires: - '-1' pragma: @@ -191,7 +191,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -209,7 +209,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:26:40 GMT + - Thu, 30 Jan 2020 08:43:37 GMT expires: - '-1' pragma: @@ -226,7 +226,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -252,7 +252,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -260,7 +260,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/e184a3be58b745bcb3026093bb1f401f","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"clUrtHdYtNdfl7cueN47hqM6SuyPn18rpsLutGJ_qHc","y":"h6r2XZy9W_miQTUXmZWktuC5SVY7JsZ_2XINQSA9EVo"},"attributes":{"enabled":true,"created":1579598800,"updated":1579598800,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/8ced9e3a8fde460481cfa5c24a551ce3","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"clUrtHdYtNdfl7cueN47hqM6SuyPn18rpsLutGJ_qHc","y":"h6r2XZy9W_miQTUXmZWktuC5SVY7JsZ_2XINQSA9EVo"},"attributes":{"enabled":true,"created":1580373818,"updated":1580373818,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -269,7 +269,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:26:40 GMT + - Thu, 30 Jan 2020 08:43:37 GMT expires: - '-1' pragma: @@ -283,7 +283,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -305,7 +305,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -313,7 +313,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/e184a3be58b745bcb3026093bb1f401f","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"clUrtHdYtNdfl7cueN47hqM6SuyPn18rpsLutGJ_qHc","y":"h6r2XZy9W_miQTUXmZWktuC5SVY7JsZ_2XINQSA9EVo"},"attributes":{"enabled":true,"created":1579598800,"updated":1579598800,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/8ced9e3a8fde460481cfa5c24a551ce3","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"clUrtHdYtNdfl7cueN47hqM6SuyPn18rpsLutGJ_qHc","y":"h6r2XZy9W_miQTUXmZWktuC5SVY7JsZ_2XINQSA9EVo"},"attributes":{"enabled":true,"created":1580373818,"updated":1580373818,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -322,7 +322,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:26:41 GMT + - Thu, 30 Jan 2020 08:43:40 GMT expires: - '-1' pragma: @@ -336,7 +336,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -358,7 +358,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -366,7 +366,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/e184a3be58b745bcb3026093bb1f401f","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"clUrtHdYtNdfl7cueN47hqM6SuyPn18rpsLutGJ_qHc","y":"h6r2XZy9W_miQTUXmZWktuC5SVY7JsZ_2XINQSA9EVo"},"attributes":{"enabled":true,"created":1579598800,"updated":1579598800,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/8ced9e3a8fde460481cfa5c24a551ce3","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"clUrtHdYtNdfl7cueN47hqM6SuyPn18rpsLutGJ_qHc","y":"h6r2XZy9W_miQTUXmZWktuC5SVY7JsZ_2XINQSA9EVo"},"attributes":{"enabled":true,"created":1580373818,"updated":1580373818,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -375,7 +375,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:26:43 GMT + - Thu, 30 Jan 2020 08:43:41 GMT expires: - '-1' pragma: @@ -389,7 +389,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -416,7 +416,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -424,7 +424,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/a6b98db2df274a3eb20f1c33e5acf794","kty":"EC","key_ops":["sign","verify"],"crv":"P-384","x":"XqAZPBetAFTWs6yfc1CtQVPPOzE-NXeTgKMTwuTqHCRj75EmiuDQ2TjmI9CBLyMO","y":"RectUMm16ocn74_9MnQMQ7pb73w35nXCf-aOq1Yqe18havSs-oJwTW0FVTG0exPz"},"attributes":{"enabled":true,"created":1579598805,"updated":1579598805,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/72168ea79b0e423ab303f5095ea9d5de","kty":"EC","key_ops":["sign","verify"],"crv":"P-384","x":"XqAZPBetAFTWs6yfc1CtQVPPOzE-NXeTgKMTwuTqHCRj75EmiuDQ2TjmI9CBLyMO","y":"RectUMm16ocn74_9MnQMQ7pb73w35nXCf-aOq1Yqe18havSs-oJwTW0FVTG0exPz"},"attributes":{"enabled":true,"created":1580373824,"updated":1580373824,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -433,7 +433,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:26:44 GMT + - Thu, 30 Jan 2020 08:43:44 GMT expires: - '-1' pragma: @@ -447,7 +447,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -469,7 +469,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -477,7 +477,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/a6b98db2df274a3eb20f1c33e5acf794","kty":"EC","key_ops":["sign","verify"],"crv":"P-384","x":"XqAZPBetAFTWs6yfc1CtQVPPOzE-NXeTgKMTwuTqHCRj75EmiuDQ2TjmI9CBLyMO","y":"RectUMm16ocn74_9MnQMQ7pb73w35nXCf-aOq1Yqe18havSs-oJwTW0FVTG0exPz"},"attributes":{"enabled":true,"created":1579598805,"updated":1579598805,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/72168ea79b0e423ab303f5095ea9d5de","kty":"EC","key_ops":["sign","verify"],"crv":"P-384","x":"XqAZPBetAFTWs6yfc1CtQVPPOzE-NXeTgKMTwuTqHCRj75EmiuDQ2TjmI9CBLyMO","y":"RectUMm16ocn74_9MnQMQ7pb73w35nXCf-aOq1Yqe18havSs-oJwTW0FVTG0exPz"},"attributes":{"enabled":true,"created":1580373824,"updated":1580373824,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -486,7 +486,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:26:46 GMT + - Thu, 30 Jan 2020 08:43:46 GMT expires: - '-1' pragma: @@ -500,7 +500,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -522,7 +522,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -530,7 +530,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/a6b98db2df274a3eb20f1c33e5acf794","kty":"EC","key_ops":["sign","verify"],"crv":"P-384","x":"XqAZPBetAFTWs6yfc1CtQVPPOzE-NXeTgKMTwuTqHCRj75EmiuDQ2TjmI9CBLyMO","y":"RectUMm16ocn74_9MnQMQ7pb73w35nXCf-aOq1Yqe18havSs-oJwTW0FVTG0exPz"},"attributes":{"enabled":true,"created":1579598805,"updated":1579598805,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/72168ea79b0e423ab303f5095ea9d5de","kty":"EC","key_ops":["sign","verify"],"crv":"P-384","x":"XqAZPBetAFTWs6yfc1CtQVPPOzE-NXeTgKMTwuTqHCRj75EmiuDQ2TjmI9CBLyMO","y":"RectUMm16ocn74_9MnQMQ7pb73w35nXCf-aOq1Yqe18havSs-oJwTW0FVTG0exPz"},"attributes":{"enabled":true,"created":1580373824,"updated":1580373824,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -539,7 +539,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:26:47 GMT + - Thu, 30 Jan 2020 08:43:48 GMT expires: - '-1' pragma: @@ -553,7 +553,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -580,7 +580,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -588,7 +588,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/cadc35dcdeee4181b822acd278928d61","kty":"EC","key_ops":["sign","verify"],"crv":"P-521","x":"fP-pBRcvboy_RkWltXNhc_cF29Yem4NcwlgoDVpYziBF3IrPJvvUOMH2BbudcylCN0F6rA5DybbPa7v8ZtjTmSU","y":"yWlPvSzTx68r5HeOMZ4slm1g27zw_47OsygwlTJb5qOwkmjmI90FhM6FgzFcVd_Sq8WFWHkq0UFtnM5WK7RkEBo"},"attributes":{"enabled":true,"created":1579598809,"updated":1579598809,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/e9703c12f1714cd88a8b87c2c4d65362","kty":"EC","key_ops":["sign","verify"],"crv":"P-521","x":"fP-pBRcvboy_RkWltXNhc_cF29Yem4NcwlgoDVpYziBF3IrPJvvUOMH2BbudcylCN0F6rA5DybbPa7v8ZtjTmSU","y":"yWlPvSzTx68r5HeOMZ4slm1g27zw_47OsygwlTJb5qOwkmjmI90FhM6FgzFcVd_Sq8WFWHkq0UFtnM5WK7RkEBo"},"attributes":{"enabled":true,"created":1580373831,"updated":1580373831,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -597,7 +597,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:26:49 GMT + - Thu, 30 Jan 2020 08:43:50 GMT expires: - '-1' pragma: @@ -611,7 +611,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -633,7 +633,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -641,7 +641,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/cadc35dcdeee4181b822acd278928d61","kty":"EC","key_ops":["sign","verify"],"crv":"P-521","x":"fP-pBRcvboy_RkWltXNhc_cF29Yem4NcwlgoDVpYziBF3IrPJvvUOMH2BbudcylCN0F6rA5DybbPa7v8ZtjTmSU","y":"yWlPvSzTx68r5HeOMZ4slm1g27zw_47OsygwlTJb5qOwkmjmI90FhM6FgzFcVd_Sq8WFWHkq0UFtnM5WK7RkEBo"},"attributes":{"enabled":true,"created":1579598809,"updated":1579598809,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/e9703c12f1714cd88a8b87c2c4d65362","kty":"EC","key_ops":["sign","verify"],"crv":"P-521","x":"fP-pBRcvboy_RkWltXNhc_cF29Yem4NcwlgoDVpYziBF3IrPJvvUOMH2BbudcylCN0F6rA5DybbPa7v8ZtjTmSU","y":"yWlPvSzTx68r5HeOMZ4slm1g27zw_47OsygwlTJb5qOwkmjmI90FhM6FgzFcVd_Sq8WFWHkq0UFtnM5WK7RkEBo"},"attributes":{"enabled":true,"created":1580373831,"updated":1580373831,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -650,7 +650,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:26:51 GMT + - Thu, 30 Jan 2020 08:43:52 GMT expires: - '-1' pragma: @@ -664,7 +664,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -686,7 +686,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -694,7 +694,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/cadc35dcdeee4181b822acd278928d61","kty":"EC","key_ops":["sign","verify"],"crv":"P-521","x":"fP-pBRcvboy_RkWltXNhc_cF29Yem4NcwlgoDVpYziBF3IrPJvvUOMH2BbudcylCN0F6rA5DybbPa7v8ZtjTmSU","y":"yWlPvSzTx68r5HeOMZ4slm1g27zw_47OsygwlTJb5qOwkmjmI90FhM6FgzFcVd_Sq8WFWHkq0UFtnM5WK7RkEBo"},"attributes":{"enabled":true,"created":1579598809,"updated":1579598809,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/e9703c12f1714cd88a8b87c2c4d65362","kty":"EC","key_ops":["sign","verify"],"crv":"P-521","x":"fP-pBRcvboy_RkWltXNhc_cF29Yem4NcwlgoDVpYziBF3IrPJvvUOMH2BbudcylCN0F6rA5DybbPa7v8ZtjTmSU","y":"yWlPvSzTx68r5HeOMZ4slm1g27zw_47OsygwlTJb5qOwkmjmI90FhM6FgzFcVd_Sq8WFWHkq0UFtnM5WK7RkEBo"},"attributes":{"enabled":true,"created":1580373831,"updated":1580373831,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -703,7 +703,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:26:52 GMT + - Thu, 30 Jan 2020 08:43:55 GMT expires: - '-1' pragma: @@ -717,7 +717,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -743,7 +743,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -751,7 +751,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/50cd625188fb4674915b8783fdead6f9","kty":"EC","key_ops":["sign","verify"],"crv":"SECP256K1","x":"H7Thoa_qhy7HoBSFPKOL9edHRqr305sCa7ozYkRLIe0","y":"FkffDAOC8F6WQxd3aNAjDaiGC80ybBt-wy54EGeKyT8"},"attributes":{"enabled":true,"created":1579598814,"updated":1579598814,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/986c49e66940421fbab27df9aa6334cb","kty":"EC","key_ops":["sign","verify"],"crv":"SECP256K1","x":"H7Thoa_qhy7HoBSFPKOL9edHRqr305sCa7ozYkRLIe0","y":"FkffDAOC8F6WQxd3aNAjDaiGC80ybBt-wy54EGeKyT8"},"attributes":{"enabled":true,"created":1580373837,"updated":1580373837,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -760,7 +760,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:26:54 GMT + - Thu, 30 Jan 2020 08:43:57 GMT expires: - '-1' pragma: @@ -774,7 +774,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -796,7 +796,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -804,7 +804,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/50cd625188fb4674915b8783fdead6f9","kty":"EC","key_ops":["sign","verify"],"crv":"SECP256K1","x":"H7Thoa_qhy7HoBSFPKOL9edHRqr305sCa7ozYkRLIe0","y":"FkffDAOC8F6WQxd3aNAjDaiGC80ybBt-wy54EGeKyT8"},"attributes":{"enabled":true,"created":1579598814,"updated":1579598814,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/986c49e66940421fbab27df9aa6334cb","kty":"EC","key_ops":["sign","verify"],"crv":"SECP256K1","x":"H7Thoa_qhy7HoBSFPKOL9edHRqr305sCa7ozYkRLIe0","y":"FkffDAOC8F6WQxd3aNAjDaiGC80ybBt-wy54EGeKyT8"},"attributes":{"enabled":true,"created":1580373837,"updated":1580373837,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -813,7 +813,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:26:55 GMT + - Thu, 30 Jan 2020 08:44:02 GMT expires: - '-1' pragma: @@ -827,7 +827,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -849,7 +849,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -857,7 +857,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/50cd625188fb4674915b8783fdead6f9","kty":"EC","key_ops":["sign","verify"],"crv":"SECP256K1","x":"H7Thoa_qhy7HoBSFPKOL9edHRqr305sCa7ozYkRLIe0","y":"FkffDAOC8F6WQxd3aNAjDaiGC80ybBt-wy54EGeKyT8"},"attributes":{"enabled":true,"created":1579598814,"updated":1579598814,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/986c49e66940421fbab27df9aa6334cb","kty":"EC","key_ops":["sign","verify"],"crv":"SECP256K1","x":"H7Thoa_qhy7HoBSFPKOL9edHRqr305sCa7ozYkRLIe0","y":"FkffDAOC8F6WQxd3aNAjDaiGC80ybBt-wy54EGeKyT8"},"attributes":{"enabled":true,"created":1580373837,"updated":1580373837,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -866,7 +866,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:26:57 GMT + - Thu, 30 Jan 2020 08:44:05 GMT expires: - '-1' pragma: @@ -880,7 +880,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -911,7 +911,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -919,7 +919,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/13330bed294d4a658dbe71721391cd77","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zJEYKuhIeHvKqZZtJRDtQjg17ChAZtY_yJfNqv30xnzkzOZwVmy7NViVQIRnkCYvAMCstja-EpEpeW02LD83teNQRKM9Nie74g7ehDn6ZZCSdQQ54TQemt26hMfnFVaUl376p0E398IP1leHcvYOaiVgT_ffUhNhgIUJ5sIphtf4D1p5bWFYvs_Gd-A-Fk38hnerpl7JRF4y6p5WGJzvXKKs0QVSaQ1NHD7L1tQ0xTKra3FS_BGwD7ZdgBZerqzBPgxRjuxzq2DQJlHtvINsFjJhsMtwI11UV5-tIBOEWPSBTIoQpUWGB-_4jZ44IpKlBDQuc1kqa2Y8-eO53Gxn-Q","e":"AQAB"},"attributes":{"enabled":true,"created":1579598818,"updated":1579598818,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/f24eb2b73bf243c38d31176874a62ece","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zJEYKuhIeHvKqZZtJRDtQjg17ChAZtY_yJfNqv30xnzkzOZwVmy7NViVQIRnkCYvAMCstja-EpEpeW02LD83teNQRKM9Nie74g7ehDn6ZZCSdQQ54TQemt26hMfnFVaUl376p0E398IP1leHcvYOaiVgT_ffUhNhgIUJ5sIphtf4D1p5bWFYvs_Gd-A-Fk38hnerpl7JRF4y6p5WGJzvXKKs0QVSaQ1NHD7L1tQ0xTKra3FS_BGwD7ZdgBZerqzBPgxRjuxzq2DQJlHtvINsFjJhsMtwI11UV5-tIBOEWPSBTIoQpUWGB-_4jZ44IpKlBDQuc1kqa2Y8-eO53Gxn-Q","e":"AQAB"},"attributes":{"enabled":true,"created":1580373847,"updated":1580373847,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -928,7 +928,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:26:58 GMT + - Thu, 30 Jan 2020 08:44:07 GMT expires: - '-1' pragma: @@ -942,7 +942,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -964,7 +964,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -972,7 +972,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/13330bed294d4a658dbe71721391cd77","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zJEYKuhIeHvKqZZtJRDtQjg17ChAZtY_yJfNqv30xnzkzOZwVmy7NViVQIRnkCYvAMCstja-EpEpeW02LD83teNQRKM9Nie74g7ehDn6ZZCSdQQ54TQemt26hMfnFVaUl376p0E398IP1leHcvYOaiVgT_ffUhNhgIUJ5sIphtf4D1p5bWFYvs_Gd-A-Fk38hnerpl7JRF4y6p5WGJzvXKKs0QVSaQ1NHD7L1tQ0xTKra3FS_BGwD7ZdgBZerqzBPgxRjuxzq2DQJlHtvINsFjJhsMtwI11UV5-tIBOEWPSBTIoQpUWGB-_4jZ44IpKlBDQuc1kqa2Y8-eO53Gxn-Q","e":"AQAB"},"attributes":{"enabled":true,"created":1579598818,"updated":1579598818,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/f24eb2b73bf243c38d31176874a62ece","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zJEYKuhIeHvKqZZtJRDtQjg17ChAZtY_yJfNqv30xnzkzOZwVmy7NViVQIRnkCYvAMCstja-EpEpeW02LD83teNQRKM9Nie74g7ehDn6ZZCSdQQ54TQemt26hMfnFVaUl376p0E398IP1leHcvYOaiVgT_ffUhNhgIUJ5sIphtf4D1p5bWFYvs_Gd-A-Fk38hnerpl7JRF4y6p5WGJzvXKKs0QVSaQ1NHD7L1tQ0xTKra3FS_BGwD7ZdgBZerqzBPgxRjuxzq2DQJlHtvINsFjJhsMtwI11UV5-tIBOEWPSBTIoQpUWGB-_4jZ44IpKlBDQuc1kqa2Y8-eO53Gxn-Q","e":"AQAB"},"attributes":{"enabled":true,"created":1580373847,"updated":1580373847,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -981,7 +981,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:00 GMT + - Thu, 30 Jan 2020 08:44:10 GMT expires: - '-1' pragma: @@ -995,7 +995,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -1017,7 +1017,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -1025,7 +1025,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/13330bed294d4a658dbe71721391cd77","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zJEYKuhIeHvKqZZtJRDtQjg17ChAZtY_yJfNqv30xnzkzOZwVmy7NViVQIRnkCYvAMCstja-EpEpeW02LD83teNQRKM9Nie74g7ehDn6ZZCSdQQ54TQemt26hMfnFVaUl376p0E398IP1leHcvYOaiVgT_ffUhNhgIUJ5sIphtf4D1p5bWFYvs_Gd-A-Fk38hnerpl7JRF4y6p5WGJzvXKKs0QVSaQ1NHD7L1tQ0xTKra3FS_BGwD7ZdgBZerqzBPgxRjuxzq2DQJlHtvINsFjJhsMtwI11UV5-tIBOEWPSBTIoQpUWGB-_4jZ44IpKlBDQuc1kqa2Y8-eO53Gxn-Q","e":"AQAB"},"attributes":{"enabled":true,"created":1579598818,"updated":1579598818,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/f24eb2b73bf243c38d31176874a62ece","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zJEYKuhIeHvKqZZtJRDtQjg17ChAZtY_yJfNqv30xnzkzOZwVmy7NViVQIRnkCYvAMCstja-EpEpeW02LD83teNQRKM9Nie74g7ehDn6ZZCSdQQ54TQemt26hMfnFVaUl376p0E398IP1leHcvYOaiVgT_ffUhNhgIUJ5sIphtf4D1p5bWFYvs_Gd-A-Fk38hnerpl7JRF4y6p5WGJzvXKKs0QVSaQ1NHD7L1tQ0xTKra3FS_BGwD7ZdgBZerqzBPgxRjuxzq2DQJlHtvINsFjJhsMtwI11UV5-tIBOEWPSBTIoQpUWGB-_4jZ44IpKlBDQuc1kqa2Y8-eO53Gxn-Q","e":"AQAB"},"attributes":{"enabled":true,"created":1580373847,"updated":1580373847,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1034,7 +1034,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:01 GMT + - Thu, 30 Jan 2020 08:44:12 GMT expires: - '-1' pragma: @@ -1048,7 +1048,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -1079,7 +1079,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -1087,7 +1087,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/ec2a0b70afd042cba80582fa1996dc9d","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"t6f3peMvTmrOtW1Zzzl1z05xGYVck3KeWnBb_TvPSZp8XczOa0QNCLJ-FFmvP7wyGrz7tsN3QNveITRqsk9_1PA3MQfxHCmBziSj2NDXPynuquwfu-ew5mhgWsI_Wbx7UpAgXWTfdmrLkcWwCXqbfR74emxVsMiItpg8aOwFhihid4ziEamMc3UX9IB6zKJN-VY3RHWa1QnFvMYXDTHjuqFIYGEGR8I5ZlJZDV_Cxkg1LqqtXjd1gNglmcRVDOaMtvLy3WvObb8QLAJsdq-3xUzgh6YWLb9ErQZ5WdbdEL3YVQwRCi6yYHk5dOMyLfGUtqJg6zxMLxW8Abso5ZAn_4ULOlgsTwCZ-IT7fMa-QnrF6CjJtD93U2jdVURTGUo9PV41SO43L69Z83FqzJUZhIZNScERIZd5Km4EAhNJN59DNge7T-089Y3iWmLGnywwoFYjoEjXVEizZPdvSSZjMECP3lLF0peFiWhcN2V2p3Q1yY3FF1TfNleTsIydz5O_","e":"AQAB"},"attributes":{"enabled":true,"created":1579598823,"updated":1579598823,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/a3cde6ccdc2743c59542837fb4309c91","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"t6f3peMvTmrOtW1Zzzl1z05xGYVck3KeWnBb_TvPSZp8XczOa0QNCLJ-FFmvP7wyGrz7tsN3QNveITRqsk9_1PA3MQfxHCmBziSj2NDXPynuquwfu-ew5mhgWsI_Wbx7UpAgXWTfdmrLkcWwCXqbfR74emxVsMiItpg8aOwFhihid4ziEamMc3UX9IB6zKJN-VY3RHWa1QnFvMYXDTHjuqFIYGEGR8I5ZlJZDV_Cxkg1LqqtXjd1gNglmcRVDOaMtvLy3WvObb8QLAJsdq-3xUzgh6YWLb9ErQZ5WdbdEL3YVQwRCi6yYHk5dOMyLfGUtqJg6zxMLxW8Abso5ZAn_4ULOlgsTwCZ-IT7fMa-QnrF6CjJtD93U2jdVURTGUo9PV41SO43L69Z83FqzJUZhIZNScERIZd5Km4EAhNJN59DNge7T-089Y3iWmLGnywwoFYjoEjXVEizZPdvSSZjMECP3lLF0peFiWhcN2V2p3Q1yY3FF1TfNleTsIydz5O_","e":"AQAB"},"attributes":{"enabled":true,"created":1580373854,"updated":1580373854,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1096,7 +1096,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:03 GMT + - Thu, 30 Jan 2020 08:44:14 GMT expires: - '-1' pragma: @@ -1110,7 +1110,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -1132,7 +1132,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -1140,7 +1140,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/ec2a0b70afd042cba80582fa1996dc9d","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"t6f3peMvTmrOtW1Zzzl1z05xGYVck3KeWnBb_TvPSZp8XczOa0QNCLJ-FFmvP7wyGrz7tsN3QNveITRqsk9_1PA3MQfxHCmBziSj2NDXPynuquwfu-ew5mhgWsI_Wbx7UpAgXWTfdmrLkcWwCXqbfR74emxVsMiItpg8aOwFhihid4ziEamMc3UX9IB6zKJN-VY3RHWa1QnFvMYXDTHjuqFIYGEGR8I5ZlJZDV_Cxkg1LqqtXjd1gNglmcRVDOaMtvLy3WvObb8QLAJsdq-3xUzgh6YWLb9ErQZ5WdbdEL3YVQwRCi6yYHk5dOMyLfGUtqJg6zxMLxW8Abso5ZAn_4ULOlgsTwCZ-IT7fMa-QnrF6CjJtD93U2jdVURTGUo9PV41SO43L69Z83FqzJUZhIZNScERIZd5Km4EAhNJN59DNge7T-089Y3iWmLGnywwoFYjoEjXVEizZPdvSSZjMECP3lLF0peFiWhcN2V2p3Q1yY3FF1TfNleTsIydz5O_","e":"AQAB"},"attributes":{"enabled":true,"created":1579598823,"updated":1579598823,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/a3cde6ccdc2743c59542837fb4309c91","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"t6f3peMvTmrOtW1Zzzl1z05xGYVck3KeWnBb_TvPSZp8XczOa0QNCLJ-FFmvP7wyGrz7tsN3QNveITRqsk9_1PA3MQfxHCmBziSj2NDXPynuquwfu-ew5mhgWsI_Wbx7UpAgXWTfdmrLkcWwCXqbfR74emxVsMiItpg8aOwFhihid4ziEamMc3UX9IB6zKJN-VY3RHWa1QnFvMYXDTHjuqFIYGEGR8I5ZlJZDV_Cxkg1LqqtXjd1gNglmcRVDOaMtvLy3WvObb8QLAJsdq-3xUzgh6YWLb9ErQZ5WdbdEL3YVQwRCi6yYHk5dOMyLfGUtqJg6zxMLxW8Abso5ZAn_4ULOlgsTwCZ-IT7fMa-QnrF6CjJtD93U2jdVURTGUo9PV41SO43L69Z83FqzJUZhIZNScERIZd5Km4EAhNJN59DNge7T-089Y3iWmLGnywwoFYjoEjXVEizZPdvSSZjMECP3lLF0peFiWhcN2V2p3Q1yY3FF1TfNleTsIydz5O_","e":"AQAB"},"attributes":{"enabled":true,"created":1580373854,"updated":1580373854,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1149,7 +1149,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:04 GMT + - Thu, 30 Jan 2020 08:44:16 GMT expires: - '-1' pragma: @@ -1163,7 +1163,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -1185,7 +1185,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -1193,7 +1193,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/ec2a0b70afd042cba80582fa1996dc9d","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"t6f3peMvTmrOtW1Zzzl1z05xGYVck3KeWnBb_TvPSZp8XczOa0QNCLJ-FFmvP7wyGrz7tsN3QNveITRqsk9_1PA3MQfxHCmBziSj2NDXPynuquwfu-ew5mhgWsI_Wbx7UpAgXWTfdmrLkcWwCXqbfR74emxVsMiItpg8aOwFhihid4ziEamMc3UX9IB6zKJN-VY3RHWa1QnFvMYXDTHjuqFIYGEGR8I5ZlJZDV_Cxkg1LqqtXjd1gNglmcRVDOaMtvLy3WvObb8QLAJsdq-3xUzgh6YWLb9ErQZ5WdbdEL3YVQwRCi6yYHk5dOMyLfGUtqJg6zxMLxW8Abso5ZAn_4ULOlgsTwCZ-IT7fMa-QnrF6CjJtD93U2jdVURTGUo9PV41SO43L69Z83FqzJUZhIZNScERIZd5Km4EAhNJN59DNge7T-089Y3iWmLGnywwoFYjoEjXVEizZPdvSSZjMECP3lLF0peFiWhcN2V2p3Q1yY3FF1TfNleTsIydz5O_","e":"AQAB"},"attributes":{"enabled":true,"created":1579598823,"updated":1579598823,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/a3cde6ccdc2743c59542837fb4309c91","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"t6f3peMvTmrOtW1Zzzl1z05xGYVck3KeWnBb_TvPSZp8XczOa0QNCLJ-FFmvP7wyGrz7tsN3QNveITRqsk9_1PA3MQfxHCmBziSj2NDXPynuquwfu-ew5mhgWsI_Wbx7UpAgXWTfdmrLkcWwCXqbfR74emxVsMiItpg8aOwFhihid4ziEamMc3UX9IB6zKJN-VY3RHWa1QnFvMYXDTHjuqFIYGEGR8I5ZlJZDV_Cxkg1LqqtXjd1gNglmcRVDOaMtvLy3WvObb8QLAJsdq-3xUzgh6YWLb9ErQZ5WdbdEL3YVQwRCi6yYHk5dOMyLfGUtqJg6zxMLxW8Abso5ZAn_4ULOlgsTwCZ-IT7fMa-QnrF6CjJtD93U2jdVURTGUo9PV41SO43L69Z83FqzJUZhIZNScERIZd5Km4EAhNJN59DNge7T-089Y3iWmLGnywwoFYjoEjXVEizZPdvSSZjMECP3lLF0peFiWhcN2V2p3Q1yY3FF1TfNleTsIydz5O_","e":"AQAB"},"attributes":{"enabled":true,"created":1580373854,"updated":1580373854,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1202,7 +1202,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:05 GMT + - Thu, 30 Jan 2020 08:44:19 GMT expires: - '-1' pragma: @@ -1216,7 +1216,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -1247,7 +1247,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -1255,7 +1255,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/c3a1beb5a66d420fb4b81eb94c0e2596","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"3J-sKKSUS2AWjfOObdNZL1HnROsmHl4KM-w9E8uBvhmeRvEBg_v3I3EFR2tHGvRiFAvxnU6ocdKnzAmU-qzs0lKbkqIs9NjvCxNcVClwZZ5-QNlFp8FjVjf8rtWpYq_qbo2WCqMudZtk2SHZ1XEPIeL9blGG0J9RKAKhlHNeWiRxzJglponaB_TQToFfvab2iV7rwyYzObhKPRXgw6QFqVueHBKCJlOHUJDwiaHBq9h89l4isvcwafRIqGKr25H1PZpa5qB6TlDtBxfODAwFJsKZljvAPaTLCd_1cNPOiZ8G3IFel5GPuv7_9ZirVeulZ0RWWTYIO5ikFrvNG_nVUuzKG11q6tyMXhYeQRGAy10udnQ6emggtW7vA7ev8GkdQUNBmQasWvZaTdRyTjV88AUiYMgz9g5cu6UYFTCFdgUhoPbaxEd6w1JJP9GUsdIIY9aDayj2Nsf4vuwiM3RpW-YrOJIPlkRuY0XuWFrF37lVi8iIpMsgTO3XoalOg6GCW9TmHEgJkuETyLHYw84zRF40z6fTjDyGp7YChwOinmRcBF6ToVpYxsosAzUk2QfNKa5IjuRdDXEucodw_1ViAENE2m58QPNFWcSZ9FYckBA-uRn4kHffdFATR9Vx1Hh3cPESuDwXh8AzFwFuOLOATaSHkaQfGV6PQHgT7NUKv_k","e":"AQAB"},"attributes":{"enabled":true,"created":1579598827,"updated":1579598827,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/91a6abecad0b4addbf33bd16bd91da71","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"3J-sKKSUS2AWjfOObdNZL1HnROsmHl4KM-w9E8uBvhmeRvEBg_v3I3EFR2tHGvRiFAvxnU6ocdKnzAmU-qzs0lKbkqIs9NjvCxNcVClwZZ5-QNlFp8FjVjf8rtWpYq_qbo2WCqMudZtk2SHZ1XEPIeL9blGG0J9RKAKhlHNeWiRxzJglponaB_TQToFfvab2iV7rwyYzObhKPRXgw6QFqVueHBKCJlOHUJDwiaHBq9h89l4isvcwafRIqGKr25H1PZpa5qB6TlDtBxfODAwFJsKZljvAPaTLCd_1cNPOiZ8G3IFel5GPuv7_9ZirVeulZ0RWWTYIO5ikFrvNG_nVUuzKG11q6tyMXhYeQRGAy10udnQ6emggtW7vA7ev8GkdQUNBmQasWvZaTdRyTjV88AUiYMgz9g5cu6UYFTCFdgUhoPbaxEd6w1JJP9GUsdIIY9aDayj2Nsf4vuwiM3RpW-YrOJIPlkRuY0XuWFrF37lVi8iIpMsgTO3XoalOg6GCW9TmHEgJkuETyLHYw84zRF40z6fTjDyGp7YChwOinmRcBF6ToVpYxsosAzUk2QfNKa5IjuRdDXEucodw_1ViAENE2m58QPNFWcSZ9FYckBA-uRn4kHffdFATR9Vx1Hh3cPESuDwXh8AzFwFuOLOATaSHkaQfGV6PQHgT7NUKv_k","e":"AQAB"},"attributes":{"enabled":true,"created":1580373861,"updated":1580373861,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1264,7 +1264,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:07 GMT + - Thu, 30 Jan 2020 08:44:21 GMT expires: - '-1' pragma: @@ -1278,7 +1278,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -1300,7 +1300,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -1308,7 +1308,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/c3a1beb5a66d420fb4b81eb94c0e2596","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"3J-sKKSUS2AWjfOObdNZL1HnROsmHl4KM-w9E8uBvhmeRvEBg_v3I3EFR2tHGvRiFAvxnU6ocdKnzAmU-qzs0lKbkqIs9NjvCxNcVClwZZ5-QNlFp8FjVjf8rtWpYq_qbo2WCqMudZtk2SHZ1XEPIeL9blGG0J9RKAKhlHNeWiRxzJglponaB_TQToFfvab2iV7rwyYzObhKPRXgw6QFqVueHBKCJlOHUJDwiaHBq9h89l4isvcwafRIqGKr25H1PZpa5qB6TlDtBxfODAwFJsKZljvAPaTLCd_1cNPOiZ8G3IFel5GPuv7_9ZirVeulZ0RWWTYIO5ikFrvNG_nVUuzKG11q6tyMXhYeQRGAy10udnQ6emggtW7vA7ev8GkdQUNBmQasWvZaTdRyTjV88AUiYMgz9g5cu6UYFTCFdgUhoPbaxEd6w1JJP9GUsdIIY9aDayj2Nsf4vuwiM3RpW-YrOJIPlkRuY0XuWFrF37lVi8iIpMsgTO3XoalOg6GCW9TmHEgJkuETyLHYw84zRF40z6fTjDyGp7YChwOinmRcBF6ToVpYxsosAzUk2QfNKa5IjuRdDXEucodw_1ViAENE2m58QPNFWcSZ9FYckBA-uRn4kHffdFATR9Vx1Hh3cPESuDwXh8AzFwFuOLOATaSHkaQfGV6PQHgT7NUKv_k","e":"AQAB"},"attributes":{"enabled":true,"created":1579598827,"updated":1579598827,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/91a6abecad0b4addbf33bd16bd91da71","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"3J-sKKSUS2AWjfOObdNZL1HnROsmHl4KM-w9E8uBvhmeRvEBg_v3I3EFR2tHGvRiFAvxnU6ocdKnzAmU-qzs0lKbkqIs9NjvCxNcVClwZZ5-QNlFp8FjVjf8rtWpYq_qbo2WCqMudZtk2SHZ1XEPIeL9blGG0J9RKAKhlHNeWiRxzJglponaB_TQToFfvab2iV7rwyYzObhKPRXgw6QFqVueHBKCJlOHUJDwiaHBq9h89l4isvcwafRIqGKr25H1PZpa5qB6TlDtBxfODAwFJsKZljvAPaTLCd_1cNPOiZ8G3IFel5GPuv7_9ZirVeulZ0RWWTYIO5ikFrvNG_nVUuzKG11q6tyMXhYeQRGAy10udnQ6emggtW7vA7ev8GkdQUNBmQasWvZaTdRyTjV88AUiYMgz9g5cu6UYFTCFdgUhoPbaxEd6w1JJP9GUsdIIY9aDayj2Nsf4vuwiM3RpW-YrOJIPlkRuY0XuWFrF37lVi8iIpMsgTO3XoalOg6GCW9TmHEgJkuETyLHYw84zRF40z6fTjDyGp7YChwOinmRcBF6ToVpYxsosAzUk2QfNKa5IjuRdDXEucodw_1ViAENE2m58QPNFWcSZ9FYckBA-uRn4kHffdFATR9Vx1Hh3cPESuDwXh8AzFwFuOLOATaSHkaQfGV6PQHgT7NUKv_k","e":"AQAB"},"attributes":{"enabled":true,"created":1580373861,"updated":1580373861,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1317,7 +1317,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:09 GMT + - Thu, 30 Jan 2020 08:44:24 GMT expires: - '-1' pragma: @@ -1331,7 +1331,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -1353,7 +1353,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -1361,7 +1361,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/c3a1beb5a66d420fb4b81eb94c0e2596","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"3J-sKKSUS2AWjfOObdNZL1HnROsmHl4KM-w9E8uBvhmeRvEBg_v3I3EFR2tHGvRiFAvxnU6ocdKnzAmU-qzs0lKbkqIs9NjvCxNcVClwZZ5-QNlFp8FjVjf8rtWpYq_qbo2WCqMudZtk2SHZ1XEPIeL9blGG0J9RKAKhlHNeWiRxzJglponaB_TQToFfvab2iV7rwyYzObhKPRXgw6QFqVueHBKCJlOHUJDwiaHBq9h89l4isvcwafRIqGKr25H1PZpa5qB6TlDtBxfODAwFJsKZljvAPaTLCd_1cNPOiZ8G3IFel5GPuv7_9ZirVeulZ0RWWTYIO5ikFrvNG_nVUuzKG11q6tyMXhYeQRGAy10udnQ6emggtW7vA7ev8GkdQUNBmQasWvZaTdRyTjV88AUiYMgz9g5cu6UYFTCFdgUhoPbaxEd6w1JJP9GUsdIIY9aDayj2Nsf4vuwiM3RpW-YrOJIPlkRuY0XuWFrF37lVi8iIpMsgTO3XoalOg6GCW9TmHEgJkuETyLHYw84zRF40z6fTjDyGp7YChwOinmRcBF6ToVpYxsosAzUk2QfNKa5IjuRdDXEucodw_1ViAENE2m58QPNFWcSZ9FYckBA-uRn4kHffdFATR9Vx1Hh3cPESuDwXh8AzFwFuOLOATaSHkaQfGV6PQHgT7NUKv_k","e":"AQAB"},"attributes":{"enabled":true,"created":1579598827,"updated":1579598827,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/91a6abecad0b4addbf33bd16bd91da71","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"3J-sKKSUS2AWjfOObdNZL1HnROsmHl4KM-w9E8uBvhmeRvEBg_v3I3EFR2tHGvRiFAvxnU6ocdKnzAmU-qzs0lKbkqIs9NjvCxNcVClwZZ5-QNlFp8FjVjf8rtWpYq_qbo2WCqMudZtk2SHZ1XEPIeL9blGG0J9RKAKhlHNeWiRxzJglponaB_TQToFfvab2iV7rwyYzObhKPRXgw6QFqVueHBKCJlOHUJDwiaHBq9h89l4isvcwafRIqGKr25H1PZpa5qB6TlDtBxfODAwFJsKZljvAPaTLCd_1cNPOiZ8G3IFel5GPuv7_9ZirVeulZ0RWWTYIO5ikFrvNG_nVUuzKG11q6tyMXhYeQRGAy10udnQ6emggtW7vA7ev8GkdQUNBmQasWvZaTdRyTjV88AUiYMgz9g5cu6UYFTCFdgUhoPbaxEd6w1JJP9GUsdIIY9aDayj2Nsf4vuwiM3RpW-YrOJIPlkRuY0XuWFrF37lVi8iIpMsgTO3XoalOg6GCW9TmHEgJkuETyLHYw84zRF40z6fTjDyGp7YChwOinmRcBF6ToVpYxsosAzUk2QfNKa5IjuRdDXEucodw_1ViAENE2m58QPNFWcSZ9FYckBA-uRn4kHffdFATR9Vx1Hh3cPESuDwXh8AzFwFuOLOATaSHkaQfGV6PQHgT7NUKv_k","e":"AQAB"},"attributes":{"enabled":true,"created":1580373861,"updated":1580373861,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1370,7 +1370,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:10 GMT + - Thu, 30 Jan 2020 08:44:26 GMT expires: - '-1' pragma: @@ -1384,7 +1384,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -1408,7 +1408,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -1416,7 +1416,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/create?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/b6cb25c4821f40e9b8eedc0444133916","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256","x":"muqgJKxpsLccLcDxXez0z3hPukczvIoWkqDmPSZfwIo","y":"dqEiD7ciI339ro6PR0ih2vWFz6Z81YLC7HRq_3ue130"},"attributes":{"enabled":true,"created":1579598834,"updated":1579598834,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/0118af738e464feda56a668d8e8ad944","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256","x":"o3GEgQnxDQl1rfrwur7a0gzVBb0aKHQou2M2HQgt68Y","y":"4ttpaEbT03Hs_6_i-6EiBpCCKei6btNmeIptBoZI46E"},"attributes":{"enabled":true,"created":1580373871,"updated":1580373871,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1425,7 +1425,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:13 GMT + - Thu, 30 Jan 2020 08:44:30 GMT expires: - '-1' pragma: @@ -1439,7 +1439,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -1461,7 +1461,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -1469,7 +1469,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/b6cb25c4821f40e9b8eedc0444133916","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256","x":"muqgJKxpsLccLcDxXez0z3hPukczvIoWkqDmPSZfwIo","y":"dqEiD7ciI339ro6PR0ih2vWFz6Z81YLC7HRq_3ue130"},"attributes":{"enabled":true,"created":1579598834,"updated":1579598834,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/0118af738e464feda56a668d8e8ad944","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256","x":"o3GEgQnxDQl1rfrwur7a0gzVBb0aKHQou2M2HQgt68Y","y":"4ttpaEbT03Hs_6_i-6EiBpCCKei6btNmeIptBoZI46E"},"attributes":{"enabled":true,"created":1580373871,"updated":1580373871,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1478,7 +1478,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:15 GMT + - Thu, 30 Jan 2020 08:44:33 GMT expires: - '-1' pragma: @@ -1492,7 +1492,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -1514,7 +1514,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -1522,7 +1522,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/b6cb25c4821f40e9b8eedc0444133916","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256","x":"muqgJKxpsLccLcDxXez0z3hPukczvIoWkqDmPSZfwIo","y":"dqEiD7ciI339ro6PR0ih2vWFz6Z81YLC7HRq_3ue130"},"attributes":{"enabled":true,"created":1579598834,"updated":1579598834,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/0118af738e464feda56a668d8e8ad944","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256","x":"o3GEgQnxDQl1rfrwur7a0gzVBb0aKHQou2M2HQgt68Y","y":"4ttpaEbT03Hs_6_i-6EiBpCCKei6btNmeIptBoZI46E"},"attributes":{"enabled":true,"created":1580373871,"updated":1580373871,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1531,7 +1531,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:17 GMT + - Thu, 30 Jan 2020 08:44:35 GMT expires: - '-1' pragma: @@ -1545,7 +1545,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -1569,7 +1569,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -1577,7 +1577,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/create?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/eacd2eef6f3f4629a3abaa55c48bfab5","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-384","x":"KZBHGV9FQUZLbQRfhPeQJC-xB0QC7n2hD_6qbw35DCvbIgv_xZ64xYnIaNVJ2d_Y","y":"ImZSjUKNTva_OxOQn1HTqdrZFE18vJTWhqcDUpTbQ_--ZtilXmLJoN72ocUpyWEU"},"attributes":{"enabled":true,"created":1579598842,"updated":1579598842,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/8a3906fbfc8c4208bab726194035805a","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-384","x":"H-15v2e9uzgkYD4mwtgk9RPWSKzvIoC3wMJ28suZsNXXGBu21xAnXADi6SC-HGGm","y":"vXk60H9iv7ktvmtjrfiL_uEu0eFW-aOgUHoZMtgCwvWKwWzdnEy2pU-2Kl2L4m36"},"attributes":{"enabled":true,"created":1580373886,"updated":1580373886,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1586,7 +1586,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:22 GMT + - Thu, 30 Jan 2020 08:44:45 GMT expires: - '-1' pragma: @@ -1600,7 +1600,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -1622,7 +1622,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -1630,7 +1630,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/eacd2eef6f3f4629a3abaa55c48bfab5","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-384","x":"KZBHGV9FQUZLbQRfhPeQJC-xB0QC7n2hD_6qbw35DCvbIgv_xZ64xYnIaNVJ2d_Y","y":"ImZSjUKNTva_OxOQn1HTqdrZFE18vJTWhqcDUpTbQ_--ZtilXmLJoN72ocUpyWEU"},"attributes":{"enabled":true,"created":1579598842,"updated":1579598842,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/8a3906fbfc8c4208bab726194035805a","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-384","x":"H-15v2e9uzgkYD4mwtgk9RPWSKzvIoC3wMJ28suZsNXXGBu21xAnXADi6SC-HGGm","y":"vXk60H9iv7ktvmtjrfiL_uEu0eFW-aOgUHoZMtgCwvWKwWzdnEy2pU-2Kl2L4m36"},"attributes":{"enabled":true,"created":1580373886,"updated":1580373886,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1639,7 +1639,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:23 GMT + - Thu, 30 Jan 2020 08:44:48 GMT expires: - '-1' pragma: @@ -1653,7 +1653,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -1675,7 +1675,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -1683,7 +1683,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/eacd2eef6f3f4629a3abaa55c48bfab5","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-384","x":"KZBHGV9FQUZLbQRfhPeQJC-xB0QC7n2hD_6qbw35DCvbIgv_xZ64xYnIaNVJ2d_Y","y":"ImZSjUKNTva_OxOQn1HTqdrZFE18vJTWhqcDUpTbQ_--ZtilXmLJoN72ocUpyWEU"},"attributes":{"enabled":true,"created":1579598842,"updated":1579598842,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/8a3906fbfc8c4208bab726194035805a","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-384","x":"H-15v2e9uzgkYD4mwtgk9RPWSKzvIoC3wMJ28suZsNXXGBu21xAnXADi6SC-HGGm","y":"vXk60H9iv7ktvmtjrfiL_uEu0eFW-aOgUHoZMtgCwvWKwWzdnEy2pU-2Kl2L4m36"},"attributes":{"enabled":true,"created":1580373886,"updated":1580373886,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1692,7 +1692,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:24 GMT + - Thu, 30 Jan 2020 08:44:50 GMT expires: - '-1' pragma: @@ -1706,7 +1706,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -1730,7 +1730,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -1738,7 +1738,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/create?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/469f15b828d64da4bd0316b694d6c0ad","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-521","x":"AQp7xtOCQplhor-1XYlPaw28l_9Z1cyT4e1iaiOKF2CW_-L8pEiwysGcil_-vAXpUhOUpNY2aKvAQRgsa7suR2p5","y":"AVboBc6bIfkvFhR-PGmQbadlm6xQb61ENxy1uWI-haKJuiP3PsNu5YLbRPsFCGciwZncRg8xydWPzt_IMwmdPpht"},"attributes":{"enabled":true,"created":1579598847,"updated":1579598847,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/bdd676f5639c44cf985450d221de06bd","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-521","x":"AQblEllrDFn5EWe35vV8DPvRGZjk55UN6Xip0O0nLgbRb3smXLrKwuJGbld5B-Vzthp8CW2U08YLiGNa3KGz_hBf","y":"AXFMYAMkS_X1VKwnQdgRrY6r1dpD7WFRelJ7jvv7Yb1i1r7y7oHdD-NYHgFv3MC8XCQ0QNqw2iUp3tP6NlN4Ti_Z"},"attributes":{"enabled":true,"created":1580373898,"updated":1580373898,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1747,7 +1747,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:26 GMT + - Thu, 30 Jan 2020 08:44:57 GMT expires: - '-1' pragma: @@ -1761,7 +1761,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -1783,7 +1783,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -1791,7 +1791,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/469f15b828d64da4bd0316b694d6c0ad","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-521","x":"AQp7xtOCQplhor-1XYlPaw28l_9Z1cyT4e1iaiOKF2CW_-L8pEiwysGcil_-vAXpUhOUpNY2aKvAQRgsa7suR2p5","y":"AVboBc6bIfkvFhR-PGmQbadlm6xQb61ENxy1uWI-haKJuiP3PsNu5YLbRPsFCGciwZncRg8xydWPzt_IMwmdPpht"},"attributes":{"enabled":true,"created":1579598847,"updated":1579598847,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/bdd676f5639c44cf985450d221de06bd","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-521","x":"AQblEllrDFn5EWe35vV8DPvRGZjk55UN6Xip0O0nLgbRb3smXLrKwuJGbld5B-Vzthp8CW2U08YLiGNa3KGz_hBf","y":"AXFMYAMkS_X1VKwnQdgRrY6r1dpD7WFRelJ7jvv7Yb1i1r7y7oHdD-NYHgFv3MC8XCQ0QNqw2iUp3tP6NlN4Ti_Z"},"attributes":{"enabled":true,"created":1580373898,"updated":1580373898,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1800,7 +1800,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:28 GMT + - Thu, 30 Jan 2020 08:44:59 GMT expires: - '-1' pragma: @@ -1814,7 +1814,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -1836,7 +1836,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -1844,7 +1844,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/469f15b828d64da4bd0316b694d6c0ad","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-521","x":"AQp7xtOCQplhor-1XYlPaw28l_9Z1cyT4e1iaiOKF2CW_-L8pEiwysGcil_-vAXpUhOUpNY2aKvAQRgsa7suR2p5","y":"AVboBc6bIfkvFhR-PGmQbadlm6xQb61ENxy1uWI-haKJuiP3PsNu5YLbRPsFCGciwZncRg8xydWPzt_IMwmdPpht"},"attributes":{"enabled":true,"created":1579598847,"updated":1579598847,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/bdd676f5639c44cf985450d221de06bd","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-521","x":"AQblEllrDFn5EWe35vV8DPvRGZjk55UN6Xip0O0nLgbRb3smXLrKwuJGbld5B-Vzthp8CW2U08YLiGNa3KGz_hBf","y":"AXFMYAMkS_X1VKwnQdgRrY6r1dpD7WFRelJ7jvv7Yb1i1r7y7oHdD-NYHgFv3MC8XCQ0QNqw2iUp3tP6NlN4Ti_Z"},"attributes":{"enabled":true,"created":1580373898,"updated":1580373898,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1853,7 +1853,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:29 GMT + - Thu, 30 Jan 2020 08:45:02 GMT expires: - '-1' pragma: @@ -1867,7 +1867,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -1891,7 +1891,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -1899,7 +1899,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/create?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/ea562b38e6054254af96806646a11b82","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256K","x":"HrbdUZfXOMdiUuiBMg_na_J5e2-BEH9Uy9SX7qeLU_g","y":"_KJplNLNSxkAtmcc8EkDJGd78ywAHO1XOsHeLdWWt8M"},"attributes":{"enabled":true,"created":1579598853,"updated":1579598853,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/7f4afca99431441e9ae9942dae994779","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256K","x":"Sw_El8Aj91culIwbj5t0GOTk4mPC_10Y2HW2h1RshzY","y":"xUauizoH6zPWWGzV77oNnLLAg-P6Ly3cW6jXqCjo0oo"},"attributes":{"enabled":true,"created":1580373905,"updated":1580373905,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1908,7 +1908,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:32 GMT + - Thu, 30 Jan 2020 08:45:04 GMT expires: - '-1' pragma: @@ -1922,7 +1922,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -1944,7 +1944,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -1952,7 +1952,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/ea562b38e6054254af96806646a11b82","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256K","x":"HrbdUZfXOMdiUuiBMg_na_J5e2-BEH9Uy9SX7qeLU_g","y":"_KJplNLNSxkAtmcc8EkDJGd78ywAHO1XOsHeLdWWt8M"},"attributes":{"enabled":true,"created":1579598853,"updated":1579598853,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/7f4afca99431441e9ae9942dae994779","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256K","x":"Sw_El8Aj91culIwbj5t0GOTk4mPC_10Y2HW2h1RshzY","y":"xUauizoH6zPWWGzV77oNnLLAg-P6Ly3cW6jXqCjo0oo"},"attributes":{"enabled":true,"created":1580373905,"updated":1580373905,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1961,7 +1961,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:34 GMT + - Thu, 30 Jan 2020 08:45:07 GMT expires: - '-1' pragma: @@ -1975,7 +1975,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -1997,7 +1997,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -2005,7 +2005,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/ea562b38e6054254af96806646a11b82","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256K","x":"HrbdUZfXOMdiUuiBMg_na_J5e2-BEH9Uy9SX7qeLU_g","y":"_KJplNLNSxkAtmcc8EkDJGd78ywAHO1XOsHeLdWWt8M"},"attributes":{"enabled":true,"created":1579598853,"updated":1579598853,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/7f4afca99431441e9ae9942dae994779","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256K","x":"Sw_El8Aj91culIwbj5t0GOTk4mPC_10Y2HW2h1RshzY","y":"xUauizoH6zPWWGzV77oNnLLAg-P6Ly3cW6jXqCjo0oo"},"attributes":{"enabled":true,"created":1580373905,"updated":1580373905,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -2014,7 +2014,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:35 GMT + - Thu, 30 Jan 2020 08:45:09 GMT expires: - '-1' pragma: @@ -2028,7 +2028,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -2052,7 +2052,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -2060,7 +2060,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/create?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/c93c5d64327c4f52b00bbf9a619deca3","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"pGJ-HN6yQt0KNLzyyN5WgYRrQrWKk7rpNiYUzWqMikK-kYE8Odr8BImGi5HQmCosKXg5KtUu9cBB7d-5g2eBx_9V1dLea8sPowHGUDpC0_3MGBNrhWDaLI316IxLlL84dK_xzvWLLvz56amcP4b0dgpy5H7kkPa0QOt49r68SvD98jCUIm6Ch8Tz8YSwcnCtz6_dbcGW_6xRGDzNT_ORzbfygLXqG7A1Hks1CCb6LLs4fGm7wiVMI8zwKWoU98vll1ugb-o7Ol6LzidT_rct8uQFIBiA4unxQP534ctlu_gsAYuXaISgFRWWwD1AVdeBoxxCheLgvjOVlawf_0UCyQ","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1579598858,"updated":1579598858,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/e6e6150c3c3f4cc6831c7aa9d1332ef1","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zfQI-ag74MSCvJvJ24PkjhX2UVh-fwVk5BSionuNtm69KOrSsKfpf67c3RhaxYzjJFLZaqWQoYtFDI0ZNT1QgamuLC8Ut9pksuCkEek0csSyITpeEXQNXybUvivHpqyq5hqDGESZp9Y7mbZgioV_Z3ENPtyQsgnOWFDY3jpZtA7n6Zfm5iP4qBJjN3XZmWR0OUlvXUATG-gZGA88-FcdF2ASZMltt2S_hfUX0sCM0PiGXPM3zSxVJx5xn4Sjk_yOWqw9yh1A7N-WlpvXdtQX6EjAVoxJNBhXrkDvyibodGcrMCcMX6Yr2kCL3x90y9pfQxc0608vVgZXz0mFov3WLw","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580373912,"updated":1580373912,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -2069,7 +2069,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:37 GMT + - Thu, 30 Jan 2020 08:45:12 GMT expires: - '-1' pragma: @@ -2083,7 +2083,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -2105,7 +2105,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -2113,7 +2113,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/c93c5d64327c4f52b00bbf9a619deca3","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"pGJ-HN6yQt0KNLzyyN5WgYRrQrWKk7rpNiYUzWqMikK-kYE8Odr8BImGi5HQmCosKXg5KtUu9cBB7d-5g2eBx_9V1dLea8sPowHGUDpC0_3MGBNrhWDaLI316IxLlL84dK_xzvWLLvz56amcP4b0dgpy5H7kkPa0QOt49r68SvD98jCUIm6Ch8Tz8YSwcnCtz6_dbcGW_6xRGDzNT_ORzbfygLXqG7A1Hks1CCb6LLs4fGm7wiVMI8zwKWoU98vll1ugb-o7Ol6LzidT_rct8uQFIBiA4unxQP534ctlu_gsAYuXaISgFRWWwD1AVdeBoxxCheLgvjOVlawf_0UCyQ","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1579598858,"updated":1579598858,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/e6e6150c3c3f4cc6831c7aa9d1332ef1","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zfQI-ag74MSCvJvJ24PkjhX2UVh-fwVk5BSionuNtm69KOrSsKfpf67c3RhaxYzjJFLZaqWQoYtFDI0ZNT1QgamuLC8Ut9pksuCkEek0csSyITpeEXQNXybUvivHpqyq5hqDGESZp9Y7mbZgioV_Z3ENPtyQsgnOWFDY3jpZtA7n6Zfm5iP4qBJjN3XZmWR0OUlvXUATG-gZGA88-FcdF2ASZMltt2S_hfUX0sCM0PiGXPM3zSxVJx5xn4Sjk_yOWqw9yh1A7N-WlpvXdtQX6EjAVoxJNBhXrkDvyibodGcrMCcMX6Yr2kCL3x90y9pfQxc0608vVgZXz0mFov3WLw","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580373912,"updated":1580373912,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -2122,7 +2122,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:38 GMT + - Thu, 30 Jan 2020 08:45:14 GMT expires: - '-1' pragma: @@ -2136,7 +2136,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -2158,7 +2158,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -2166,7 +2166,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/c93c5d64327c4f52b00bbf9a619deca3","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"pGJ-HN6yQt0KNLzyyN5WgYRrQrWKk7rpNiYUzWqMikK-kYE8Odr8BImGi5HQmCosKXg5KtUu9cBB7d-5g2eBx_9V1dLea8sPowHGUDpC0_3MGBNrhWDaLI316IxLlL84dK_xzvWLLvz56amcP4b0dgpy5H7kkPa0QOt49r68SvD98jCUIm6Ch8Tz8YSwcnCtz6_dbcGW_6xRGDzNT_ORzbfygLXqG7A1Hks1CCb6LLs4fGm7wiVMI8zwKWoU98vll1ugb-o7Ol6LzidT_rct8uQFIBiA4unxQP534ctlu_gsAYuXaISgFRWWwD1AVdeBoxxCheLgvjOVlawf_0UCyQ","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1579598858,"updated":1579598858,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/e6e6150c3c3f4cc6831c7aa9d1332ef1","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zfQI-ag74MSCvJvJ24PkjhX2UVh-fwVk5BSionuNtm69KOrSsKfpf67c3RhaxYzjJFLZaqWQoYtFDI0ZNT1QgamuLC8Ut9pksuCkEek0csSyITpeEXQNXybUvivHpqyq5hqDGESZp9Y7mbZgioV_Z3ENPtyQsgnOWFDY3jpZtA7n6Zfm5iP4qBJjN3XZmWR0OUlvXUATG-gZGA88-FcdF2ASZMltt2S_hfUX0sCM0PiGXPM3zSxVJx5xn4Sjk_yOWqw9yh1A7N-WlpvXdtQX6EjAVoxJNBhXrkDvyibodGcrMCcMX6Yr2kCL3x90y9pfQxc0608vVgZXz0mFov3WLw","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580373912,"updated":1580373912,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -2175,7 +2175,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:41 GMT + - Thu, 30 Jan 2020 08:45:16 GMT expires: - '-1' pragma: @@ -2189,7 +2189,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -2213,7 +2213,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -2221,7 +2221,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/create?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/5c72cc6fd910463dad63898579088daa","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"wnW6BC9zhe-gOhQZB0ehVSkFW0FLr_ItZuJmY-HXzPmpIq_9g_CrNgHaLOU3QcSiAWDdDKPzKor2JddS-dE_tNRmFGfLcGw4i5sgI61DPN4j74Im_gufSaMii01OYULF5p50ZCDM7Biev3C-f59LJ8f2pfXV1L9Cy6kgqmYbRxhnM8469kYEjtg600gXjr3FZwXmH9jBBUR5Ken5BBGwOtwNpN2NvMPx8xYCjPA_lfZ5p6fDOp_WIVB3gB5CoYFE62tgdiOyboqr_g8DVNGknbo3bjtu7zA7-tKw08VW0cDYUfDwnhCHgvJAIL8RfH2ufn3nwGmTwwR28ToMG5a-KR7yhxEVnhtJJ5_dOQ3TJXbnpbTOqNy6wsnUFMZGOWMpGs_gB2y3yV6pBC_Mz2DHG8X7yLZ9GCh6RHlJYFKtR77U3kqWqf9K3g1vGdak5HxZTrVYdDBauZkyvL-g5BPlu_CY2v5P-03SbSmzHTm-N-m3EMUw7kr_gJ8MpG_G57Nd","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1579598864,"updated":1579598864,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/0cd796bf0d394a9a8dcab544aec4d87c","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"4Z9T3c5sX3HEQUzqHg5Cx0-EtjzKFBRanzGGfuc_KSIk__yZyR8lHDmfms-jOQJg7iddedkz9a_lQXoMj-0faQtrbHGPw8-v9lHFwqE7Oqlmdu04SxfRiPLtrwaJyqELmHu8Dd8r_kWbSL2INylcJ1tsdyTiuL_iTMMg5wWeWV_KCarQw-Zmq6IOKFVVOlIM1kRaocSdfoZU3nre5OXFDYKLHocp8N9lcT9AlsMvIdLXi3gXFeoJv98H1P0HfnmgYxD_FIBjpwJt8aOVufz8lIpmZ3m6tICM3ymLVNOY3uZJTswJQx1CbVy2eiQs39y3800TEJ_OdmTvqx-43lMcjvt9qEAgGwEIRT75mET2W-eDadmdmc-G5nq-S6vAUXbV9LQ65loorUsvhtYTSDWY4mguqZGK3Lhdx_NcRddma1qv7PNz-oPCVLCJNbxfqArZxVzHzzSARmfnkSUR4UH3rXOAHC_VHcZgRiFrJyrKK5iSn8MG_3y5waEikC1p5Dmr","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580373920,"updated":1580373920,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -2230,7 +2230,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:44 GMT + - Thu, 30 Jan 2020 08:45:19 GMT expires: - '-1' pragma: @@ -2244,7 +2244,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -2266,7 +2266,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -2274,7 +2274,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/5c72cc6fd910463dad63898579088daa","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"wnW6BC9zhe-gOhQZB0ehVSkFW0FLr_ItZuJmY-HXzPmpIq_9g_CrNgHaLOU3QcSiAWDdDKPzKor2JddS-dE_tNRmFGfLcGw4i5sgI61DPN4j74Im_gufSaMii01OYULF5p50ZCDM7Biev3C-f59LJ8f2pfXV1L9Cy6kgqmYbRxhnM8469kYEjtg600gXjr3FZwXmH9jBBUR5Ken5BBGwOtwNpN2NvMPx8xYCjPA_lfZ5p6fDOp_WIVB3gB5CoYFE62tgdiOyboqr_g8DVNGknbo3bjtu7zA7-tKw08VW0cDYUfDwnhCHgvJAIL8RfH2ufn3nwGmTwwR28ToMG5a-KR7yhxEVnhtJJ5_dOQ3TJXbnpbTOqNy6wsnUFMZGOWMpGs_gB2y3yV6pBC_Mz2DHG8X7yLZ9GCh6RHlJYFKtR77U3kqWqf9K3g1vGdak5HxZTrVYdDBauZkyvL-g5BPlu_CY2v5P-03SbSmzHTm-N-m3EMUw7kr_gJ8MpG_G57Nd","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1579598864,"updated":1579598864,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/0cd796bf0d394a9a8dcab544aec4d87c","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"4Z9T3c5sX3HEQUzqHg5Cx0-EtjzKFBRanzGGfuc_KSIk__yZyR8lHDmfms-jOQJg7iddedkz9a_lQXoMj-0faQtrbHGPw8-v9lHFwqE7Oqlmdu04SxfRiPLtrwaJyqELmHu8Dd8r_kWbSL2INylcJ1tsdyTiuL_iTMMg5wWeWV_KCarQw-Zmq6IOKFVVOlIM1kRaocSdfoZU3nre5OXFDYKLHocp8N9lcT9AlsMvIdLXi3gXFeoJv98H1P0HfnmgYxD_FIBjpwJt8aOVufz8lIpmZ3m6tICM3ymLVNOY3uZJTswJQx1CbVy2eiQs39y3800TEJ_OdmTvqx-43lMcjvt9qEAgGwEIRT75mET2W-eDadmdmc-G5nq-S6vAUXbV9LQ65loorUsvhtYTSDWY4mguqZGK3Lhdx_NcRddma1qv7PNz-oPCVLCJNbxfqArZxVzHzzSARmfnkSUR4UH3rXOAHC_VHcZgRiFrJyrKK5iSn8MG_3y5waEikC1p5Dmr","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580373920,"updated":1580373920,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -2283,7 +2283,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:46 GMT + - Thu, 30 Jan 2020 08:45:21 GMT expires: - '-1' pragma: @@ -2297,7 +2297,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -2319,7 +2319,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -2327,7 +2327,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/5c72cc6fd910463dad63898579088daa","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"wnW6BC9zhe-gOhQZB0ehVSkFW0FLr_ItZuJmY-HXzPmpIq_9g_CrNgHaLOU3QcSiAWDdDKPzKor2JddS-dE_tNRmFGfLcGw4i5sgI61DPN4j74Im_gufSaMii01OYULF5p50ZCDM7Biev3C-f59LJ8f2pfXV1L9Cy6kgqmYbRxhnM8469kYEjtg600gXjr3FZwXmH9jBBUR5Ken5BBGwOtwNpN2NvMPx8xYCjPA_lfZ5p6fDOp_WIVB3gB5CoYFE62tgdiOyboqr_g8DVNGknbo3bjtu7zA7-tKw08VW0cDYUfDwnhCHgvJAIL8RfH2ufn3nwGmTwwR28ToMG5a-KR7yhxEVnhtJJ5_dOQ3TJXbnpbTOqNy6wsnUFMZGOWMpGs_gB2y3yV6pBC_Mz2DHG8X7yLZ9GCh6RHlJYFKtR77U3kqWqf9K3g1vGdak5HxZTrVYdDBauZkyvL-g5BPlu_CY2v5P-03SbSmzHTm-N-m3EMUw7kr_gJ8MpG_G57Nd","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1579598864,"updated":1579598864,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/0cd796bf0d394a9a8dcab544aec4d87c","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"4Z9T3c5sX3HEQUzqHg5Cx0-EtjzKFBRanzGGfuc_KSIk__yZyR8lHDmfms-jOQJg7iddedkz9a_lQXoMj-0faQtrbHGPw8-v9lHFwqE7Oqlmdu04SxfRiPLtrwaJyqELmHu8Dd8r_kWbSL2INylcJ1tsdyTiuL_iTMMg5wWeWV_KCarQw-Zmq6IOKFVVOlIM1kRaocSdfoZU3nre5OXFDYKLHocp8N9lcT9AlsMvIdLXi3gXFeoJv98H1P0HfnmgYxD_FIBjpwJt8aOVufz8lIpmZ3m6tICM3ymLVNOY3uZJTswJQx1CbVy2eiQs39y3800TEJ_OdmTvqx-43lMcjvt9qEAgGwEIRT75mET2W-eDadmdmc-G5nq-S6vAUXbV9LQ65loorUsvhtYTSDWY4mguqZGK3Lhdx_NcRddma1qv7PNz-oPCVLCJNbxfqArZxVzHzzSARmfnkSUR4UH3rXOAHC_VHcZgRiFrJyrKK5iSn8MG_3y5waEikC1p5Dmr","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580373920,"updated":1580373920,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -2336,7 +2336,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:47 GMT + - Thu, 30 Jan 2020 08:45:23 GMT expires: - '-1' pragma: @@ -2350,7 +2350,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -2374,7 +2374,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -2382,7 +2382,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/create?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/de5d1f45c76b4f868adf8ca33c49f4b0","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zERoSjFHz6FxNearj2KYuk9u_hvIOeEk0lrUD3D9Bkp6UTlTA5sfHO37L4T_5mg6R6aMOOcdNWjvC2n-k4EjXWZb4JDkmsY8U04cW8fVG8dkJd7al3DFrngjvW0KOYH42gznTIr28ckO-dbO1Ej0TIfWKnJ6qDUIsC6iF73K-XL5B4uASJ8kYqz0Bd-BzeFzxORF7I2cJJ7VMNRZXTOuijgdZ7CHqKI-ojnWp9h2rjA58jNnB5Z4gbeCdchEM6ISTVE8nhxa5JjqImSUpdWEOLxR7T5FIQJK0tvp9dwIxlnwtJpFDEldklxVEeiCiEDbhB1GhUJDXvHfYY2RpFZo1OBG5vyD3PucyVzYnJl7kskA6-q8aXybj9nlsdZxmHeFPcZeQVDs6yKoCCTyUeqyIAYLc0uMvPHS6NnuaVAhZLPRc4zOI9Jv2b1HtbN6sVa0qzZ8cXrN3ir9tt6RXY5oPV0Bg8IgdtVzkPj9x4Y3_CWGGk0QwtKHyebhYt3h-o7362unUSrreQK4fL3ZuBWaBBQ4l1ISln9B5ofql4OEnGnVbYi8s6N7T2yg_6SQNTjd41Rj2mDEGvpgdIoKzDHadQkQRB3cpTt9plbPe9GFr9YdsqGL6t06_A5XRYZbVFLUgUd7FLHWZCx7qhEMlM-JsQ1Bs0weTtIAl97VJdzFhPM","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1579598870,"updated":1579598870,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/fda491ef07814f3b8f606b2f356388fa","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"pyFEYdSAHm_cos90tjCED9douwdaOcc8HkTh3zovvmiv6BgHxTLr5rdBcFzs1vvKH13VL8A2TvjX5CLLXaUlbz-L5wJMxIRR-GA2w-l8HAWrBfhoyVwn7TDNsSXvRb4_xEweSzCUlCpTeQhAqkar4aYBfck9m9WjdSE0SYYma3vKFs64e2ytCJmBdHpiGKi5E-Ub9Cf3BozjOg9edW4Br2AXKSx3Hy8nDf2Be4tcwes_CBij84F7FaUz5pRcjTmabbtmcyXGD2Jm0zELtZZ0qVQwA5ciwqcnNjVSLAN_2I-9nvGqWqqaLzSKDGkMbo6fcDVbuzBsJ0_MbIq3OdyVdIKltpwaeuf1-aD0Y9s1LrxahOVPzZeD4pKIyI91LJwrnxPGfbsbCaP_dWpbN1K975DpaUgnDtFesrGW6qpSDJhWb5-oUNfOpaB43OH9SgL_TWjGMxj4q22Xl1ZbUcKGkHjKQ6o1QNzKDspjW4Rd4Vr2UwLiAGzGiwAmHZHT6BAJpa0Uzu-WPsYF-saMV58Av-Uk_8C3S5QiGi5fsZZdSWs9V9gQc2eLiPZBJMGZDRIyRcv4Syhr6kQQeCjBxUqkCHzQjLjaei4LZnhr4RE4ND3wZNN7a8w2JO5fFl77X8As3vYnMd-WehU77sVmiPjo63S-xlptpK-bDhg0vRRbiJ0","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580373931,"updated":1580373931,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -2391,7 +2391,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:49 GMT + - Thu, 30 Jan 2020 08:45:30 GMT expires: - '-1' pragma: @@ -2405,7 +2405,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -2427,7 +2427,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -2435,7 +2435,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/de5d1f45c76b4f868adf8ca33c49f4b0","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zERoSjFHz6FxNearj2KYuk9u_hvIOeEk0lrUD3D9Bkp6UTlTA5sfHO37L4T_5mg6R6aMOOcdNWjvC2n-k4EjXWZb4JDkmsY8U04cW8fVG8dkJd7al3DFrngjvW0KOYH42gznTIr28ckO-dbO1Ej0TIfWKnJ6qDUIsC6iF73K-XL5B4uASJ8kYqz0Bd-BzeFzxORF7I2cJJ7VMNRZXTOuijgdZ7CHqKI-ojnWp9h2rjA58jNnB5Z4gbeCdchEM6ISTVE8nhxa5JjqImSUpdWEOLxR7T5FIQJK0tvp9dwIxlnwtJpFDEldklxVEeiCiEDbhB1GhUJDXvHfYY2RpFZo1OBG5vyD3PucyVzYnJl7kskA6-q8aXybj9nlsdZxmHeFPcZeQVDs6yKoCCTyUeqyIAYLc0uMvPHS6NnuaVAhZLPRc4zOI9Jv2b1HtbN6sVa0qzZ8cXrN3ir9tt6RXY5oPV0Bg8IgdtVzkPj9x4Y3_CWGGk0QwtKHyebhYt3h-o7362unUSrreQK4fL3ZuBWaBBQ4l1ISln9B5ofql4OEnGnVbYi8s6N7T2yg_6SQNTjd41Rj2mDEGvpgdIoKzDHadQkQRB3cpTt9plbPe9GFr9YdsqGL6t06_A5XRYZbVFLUgUd7FLHWZCx7qhEMlM-JsQ1Bs0weTtIAl97VJdzFhPM","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1579598870,"updated":1579598870,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/fda491ef07814f3b8f606b2f356388fa","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"pyFEYdSAHm_cos90tjCED9douwdaOcc8HkTh3zovvmiv6BgHxTLr5rdBcFzs1vvKH13VL8A2TvjX5CLLXaUlbz-L5wJMxIRR-GA2w-l8HAWrBfhoyVwn7TDNsSXvRb4_xEweSzCUlCpTeQhAqkar4aYBfck9m9WjdSE0SYYma3vKFs64e2ytCJmBdHpiGKi5E-Ub9Cf3BozjOg9edW4Br2AXKSx3Hy8nDf2Be4tcwes_CBij84F7FaUz5pRcjTmabbtmcyXGD2Jm0zELtZZ0qVQwA5ciwqcnNjVSLAN_2I-9nvGqWqqaLzSKDGkMbo6fcDVbuzBsJ0_MbIq3OdyVdIKltpwaeuf1-aD0Y9s1LrxahOVPzZeD4pKIyI91LJwrnxPGfbsbCaP_dWpbN1K975DpaUgnDtFesrGW6qpSDJhWb5-oUNfOpaB43OH9SgL_TWjGMxj4q22Xl1ZbUcKGkHjKQ6o1QNzKDspjW4Rd4Vr2UwLiAGzGiwAmHZHT6BAJpa0Uzu-WPsYF-saMV58Av-Uk_8C3S5QiGi5fsZZdSWs9V9gQc2eLiPZBJMGZDRIyRcv4Syhr6kQQeCjBxUqkCHzQjLjaei4LZnhr4RE4ND3wZNN7a8w2JO5fFl77X8As3vYnMd-WehU77sVmiPjo63S-xlptpK-bDhg0vRRbiJ0","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580373931,"updated":1580373931,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -2444,7 +2444,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:51 GMT + - Thu, 30 Jan 2020 08:45:45 GMT expires: - '-1' pragma: @@ -2458,7 +2458,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: @@ -2480,7 +2480,7 @@ interactions: Content-Type: - application/json; charset=utf-8 User-Agent: - - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 + - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.9 msrest_azure/0.6.2 azure-keyvault/7.0 Azure-SDK-For-Python accept-language: - en-US @@ -2488,7 +2488,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/de5d1f45c76b4f868adf8ca33c49f4b0","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zERoSjFHz6FxNearj2KYuk9u_hvIOeEk0lrUD3D9Bkp6UTlTA5sfHO37L4T_5mg6R6aMOOcdNWjvC2n-k4EjXWZb4JDkmsY8U04cW8fVG8dkJd7al3DFrngjvW0KOYH42gznTIr28ckO-dbO1Ej0TIfWKnJ6qDUIsC6iF73K-XL5B4uASJ8kYqz0Bd-BzeFzxORF7I2cJJ7VMNRZXTOuijgdZ7CHqKI-ojnWp9h2rjA58jNnB5Z4gbeCdchEM6ISTVE8nhxa5JjqImSUpdWEOLxR7T5FIQJK0tvp9dwIxlnwtJpFDEldklxVEeiCiEDbhB1GhUJDXvHfYY2RpFZo1OBG5vyD3PucyVzYnJl7kskA6-q8aXybj9nlsdZxmHeFPcZeQVDs6yKoCCTyUeqyIAYLc0uMvPHS6NnuaVAhZLPRc4zOI9Jv2b1HtbN6sVa0qzZ8cXrN3ir9tt6RXY5oPV0Bg8IgdtVzkPj9x4Y3_CWGGk0QwtKHyebhYt3h-o7362unUSrreQK4fL3ZuBWaBBQ4l1ISln9B5ofql4OEnGnVbYi8s6N7T2yg_6SQNTjd41Rj2mDEGvpgdIoKzDHadQkQRB3cpTt9plbPe9GFr9YdsqGL6t06_A5XRYZbVFLUgUd7FLHWZCx7qhEMlM-JsQ1Bs0weTtIAl97VJdzFhPM","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1579598870,"updated":1579598870,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/fda491ef07814f3b8f606b2f356388fa","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"pyFEYdSAHm_cos90tjCED9douwdaOcc8HkTh3zovvmiv6BgHxTLr5rdBcFzs1vvKH13VL8A2TvjX5CLLXaUlbz-L5wJMxIRR-GA2w-l8HAWrBfhoyVwn7TDNsSXvRb4_xEweSzCUlCpTeQhAqkar4aYBfck9m9WjdSE0SYYma3vKFs64e2ytCJmBdHpiGKi5E-Ub9Cf3BozjOg9edW4Br2AXKSx3Hy8nDf2Be4tcwes_CBij84F7FaUz5pRcjTmabbtmcyXGD2Jm0zELtZZ0qVQwA5ciwqcnNjVSLAN_2I-9nvGqWqqaLzSKDGkMbo6fcDVbuzBsJ0_MbIq3OdyVdIKltpwaeuf1-aD0Y9s1LrxahOVPzZeD4pKIyI91LJwrnxPGfbsbCaP_dWpbN1K975DpaUgnDtFesrGW6qpSDJhWb5-oUNfOpaB43OH9SgL_TWjGMxj4q22Xl1ZbUcKGkHjKQ6o1QNzKDspjW4Rd4Vr2UwLiAGzGiwAmHZHT6BAJpa0Uzu-WPsYF-saMV58Av-Uk_8C3S5QiGi5fsZZdSWs9V9gQc2eLiPZBJMGZDRIyRcv4Syhr6kQQeCjBxUqkCHzQjLjaei4LZnhr4RE4ND3wZNN7a8w2JO5fFl77X8As3vYnMd-WehU77sVmiPjo63S-xlptpK-bDhg0vRRbiJ0","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580373931,"updated":1580373931,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -2497,7 +2497,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 21 Jan 2020 09:27:52 GMT + - Thu, 30 Jan 2020 08:45:47 GMT expires: - '-1' pragma: @@ -2511,7 +2511,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - addr=167.220.255.35;act_addr_fam=InterNetwork; + - addr=101.69.200.36;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus2 x-ms-keyvault-service-version: diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/test_keyvault_commands.py b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/test_keyvault_commands.py index 62c700de540..f29f3c61b17 100644 --- a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/test_keyvault_commands.py +++ b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/test_keyvault_commands.py @@ -281,8 +281,8 @@ def test_keyvault_key_download(self, resource_group): if 'hsm' in key_name: # Should be generated if key_name.startswith('rsa'): rsa_size = key_name.split('-')[1] - self.cmd('keyvault key create --vault-name {kv} -n ' + var_name + - ' -p hsm --kty RSA-HSM --size ' + rsa_size) + self.cmd('keyvault key create --vault-name {{kv}} -n {var_name}' + ' -p hsm --kty RSA-HSM --size {rsa_size}'.format(var_name=var_name, rsa_size=rsa_size)) elif key_name.startswith('ec'): ec_curve = key_name.split('-')[1] curve_names = { @@ -291,18 +291,22 @@ def test_keyvault_key_download(self, resource_group): 'p521': 'P-521', 'p256k': 'P-256K' } - self.cmd('keyvault key create --vault-name {kv} -n ' + var_name + - ' -p hsm --kty EC-HSM --curve ' + curve_names[ec_curve]) + self.cmd('keyvault key create --vault-name {{kv}} -n {var_name}' + ' -p hsm --kty EC-HSM --curve {curve_name}' + .format(var_name=var_name, curve_name=curve_names[ec_curve])) else: # Should be imported (Have already been generated offline) self.kwargs[var_name] = os.path.join(KEYS_DIR, key_name) - self.cmd('keyvault key import --vault-name {kv} -n ' + var_name + ' --pem-file "{' + var_name + '}"') + self.cmd('keyvault key import --vault-name {{kv}} -n {var_name} --pem-file "{pem_filename}"' + .format(var_name=var_name, pem_filename='{' + var_name + '}')) der_downloaded_filename = var_name + '.der' pem_downloaded_filename = var_name + '.pem' try: - self.cmd('keyvault key download --vault-name {kv} -n ' + var_name + ' -f "' + der_downloaded_filename + '" -e DER') - self.cmd('keyvault key download --vault-name {kv} -n ' + var_name + ' -f "' + pem_downloaded_filename + '" -e PEM') + self.cmd('keyvault key download --vault-name {{kv}} -n {var_name} -f "{filename}" -e DER' + .format(var_name=var_name, filename=der_downloaded_filename)) + self.cmd('keyvault key download --vault-name {{kv}} -n {var_name} -f "{filename}" -e PEM' + .format(var_name=var_name, filename=pem_downloaded_filename)) if 'hsm' in key_name: # TODO: Currently we haven't found a good way to verify online generated keys continue From 269c43ad60b5cae2178e7adb79279976f6d3d261 Mon Sep 17 00:00:00 2001 From: Bin Ma Date: Thu, 30 Jan 2020 16:55:02 +0800 Subject: [PATCH 12/14] Fix linter error --- .../azure/cli/command_modules/keyvault/custom.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py index 79556525c3f..67d54905d9e 100644 --- a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py +++ b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py @@ -752,8 +752,7 @@ def _jwk_to_dict(jwk): def _extract_rsa_public_key_from_jwk(jwk_dict): - # Please refer to: https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L249-L254 - # pylint: disable=line-too-long + # https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L249-L254 pylint: disable=line-too-long e = jwk_dict.get('e', 256) n = jwk_dict.get('n') public = rsa.RSAPublicNumbers(e, n) @@ -761,8 +760,7 @@ def _extract_rsa_public_key_from_jwk(jwk_dict): def _extract_ec_public_key_from_jwk(jwk_dict): - # Please refer to: https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L81-L100 - # pylint: disable=line-too-long + # https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L81-L100 pylint: disable=line-too-long if not all(k in jwk_dict for k in ['x', 'y', 'crv']): raise CLIError('Invalid EC key: missing properties(x, y, crv)') @@ -805,8 +803,7 @@ def _to_der(k): ) def _to_pem(k): - # Please refer to: https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L329-L332 - # pylint: disable=line-too-long + # https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L329-L332 pylint: disable=line-too-long return k.public_bytes( encoding=Encoding.PEM, format=PublicFormat.SubjectPublicKeyInfo From 453cfb50074b5d6e8a37d564e47be1e030d15fe7 Mon Sep 17 00:00:00 2001 From: Bin Ma Date: Thu, 30 Jan 2020 17:01:00 +0800 Subject: [PATCH 13/14] Refine string format --- .../test_keyvault_key_download.yaml | 186 +++++++++--------- .../tests/latest/test_keyvault_commands.py | 4 +- 2 files changed, 95 insertions(+), 95 deletions(-) diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/recordings/test_keyvault_key_download.yaml b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/recordings/test_keyvault_key_download.yaml index 2d3a7c42d0b..bcf21824024 100644 --- a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/recordings/test_keyvault_key_download.yaml +++ b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/recordings/test_keyvault_key_download.yaml @@ -31,19 +31,19 @@ interactions: dataserviceversion: - 3.0; date: - - Thu, 30 Jan 2020 08:42:52 GMT + - Thu, 30 Jan 2020 08:57:42 GMT duration: - - '2257460' + - '2035989' expires: - '-1' ocp-aad-diagnostics-server-name: - - qxb+5oPfk5khbaIhIq0eSgs4N8Ph11A7dFHFBiJUmhs= + - LgXAcbVEU6vczw1+dJY77u/nuJ5/uLYq6pT3Y4X/6fM= ocp-aad-session-key: - - gN8SzpjBbqrmsV-mN3rxe1nQieVnhJ7WllWFKJC-igf_IjBLfJzf3WVSHaKlL8kuZy-n5icfStFNOO7phcuGkqPGGqhjAqznBnD5w8RUcHLuqlZ3DAoUArrGxLoWDuLc.Wg9ggYlDhEmTw5_Lwo9h80V030m74WJml-59ZznoOxA + - -H5RyrwVx-0KrT3awIgN6NjUzcVVTr9ipqNEA-DKdA7QqPr60aCYdbbLnB34e4R7F7swwuM8gskDLwwxHyJjWmgt5ed8OCcM0FCmeoPny6NICZZHqSA6QJFGdAOq4FWA.9fsqe2A8Cus2p-PHqaJ9rWyy9-aNgqW8OqwLNslGa-c pragma: - no-cache request-id: - - 791044ca-e3c5-4991-9db6-02db585d1925 + - 0f9e9242-d1d5-4656-b937-4cf9575f26cd strict-transport-security: - max-age=31536000; includeSubDomains x-aspnet-version: @@ -98,7 +98,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:43:00 GMT + - Thu, 30 Jan 2020 08:57:52 GMT expires: - '-1' pragma: @@ -118,7 +118,7 @@ interactions: x-ms-keyvault-service-version: - 1.1.0.269 x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1196' x-powered-by: - ASP.NET status: @@ -153,7 +153,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:43:32 GMT + - Thu, 30 Jan 2020 08:58:27 GMT expires: - '-1' pragma: @@ -209,7 +209,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:43:37 GMT + - Thu, 30 Jan 2020 08:58:29 GMT expires: - '-1' pragma: @@ -260,7 +260,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/8ced9e3a8fde460481cfa5c24a551ce3","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"clUrtHdYtNdfl7cueN47hqM6SuyPn18rpsLutGJ_qHc","y":"h6r2XZy9W_miQTUXmZWktuC5SVY7JsZ_2XINQSA9EVo"},"attributes":{"enabled":true,"created":1580373818,"updated":1580373818,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/84105108fe234c669b3aea8afdfdde6b","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"clUrtHdYtNdfl7cueN47hqM6SuyPn18rpsLutGJ_qHc","y":"h6r2XZy9W_miQTUXmZWktuC5SVY7JsZ_2XINQSA9EVo"},"attributes":{"enabled":true,"created":1580374711,"updated":1580374711,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -269,7 +269,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:43:37 GMT + - Thu, 30 Jan 2020 08:58:31 GMT expires: - '-1' pragma: @@ -313,7 +313,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/8ced9e3a8fde460481cfa5c24a551ce3","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"clUrtHdYtNdfl7cueN47hqM6SuyPn18rpsLutGJ_qHc","y":"h6r2XZy9W_miQTUXmZWktuC5SVY7JsZ_2XINQSA9EVo"},"attributes":{"enabled":true,"created":1580373818,"updated":1580373818,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/84105108fe234c669b3aea8afdfdde6b","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"clUrtHdYtNdfl7cueN47hqM6SuyPn18rpsLutGJ_qHc","y":"h6r2XZy9W_miQTUXmZWktuC5SVY7JsZ_2XINQSA9EVo"},"attributes":{"enabled":true,"created":1580374711,"updated":1580374711,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -322,7 +322,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:43:40 GMT + - Thu, 30 Jan 2020 08:58:33 GMT expires: - '-1' pragma: @@ -366,7 +366,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/8ced9e3a8fde460481cfa5c24a551ce3","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"clUrtHdYtNdfl7cueN47hqM6SuyPn18rpsLutGJ_qHc","y":"h6r2XZy9W_miQTUXmZWktuC5SVY7JsZ_2XINQSA9EVo"},"attributes":{"enabled":true,"created":1580373818,"updated":1580373818,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-file/84105108fe234c669b3aea8afdfdde6b","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"clUrtHdYtNdfl7cueN47hqM6SuyPn18rpsLutGJ_qHc","y":"h6r2XZy9W_miQTUXmZWktuC5SVY7JsZ_2XINQSA9EVo"},"attributes":{"enabled":true,"created":1580374711,"updated":1580374711,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -375,7 +375,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:43:41 GMT + - Thu, 30 Jan 2020 08:58:35 GMT expires: - '-1' pragma: @@ -424,7 +424,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/72168ea79b0e423ab303f5095ea9d5de","kty":"EC","key_ops":["sign","verify"],"crv":"P-384","x":"XqAZPBetAFTWs6yfc1CtQVPPOzE-NXeTgKMTwuTqHCRj75EmiuDQ2TjmI9CBLyMO","y":"RectUMm16ocn74_9MnQMQ7pb73w35nXCf-aOq1Yqe18havSs-oJwTW0FVTG0exPz"},"attributes":{"enabled":true,"created":1580373824,"updated":1580373824,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/a1bcca9890ae4436b350f17febc164a1","kty":"EC","key_ops":["sign","verify"],"crv":"P-384","x":"XqAZPBetAFTWs6yfc1CtQVPPOzE-NXeTgKMTwuTqHCRj75EmiuDQ2TjmI9CBLyMO","y":"RectUMm16ocn74_9MnQMQ7pb73w35nXCf-aOq1Yqe18havSs-oJwTW0FVTG0exPz"},"attributes":{"enabled":true,"created":1580374717,"updated":1580374717,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -433,7 +433,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:43:44 GMT + - Thu, 30 Jan 2020 08:58:37 GMT expires: - '-1' pragma: @@ -477,7 +477,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/72168ea79b0e423ab303f5095ea9d5de","kty":"EC","key_ops":["sign","verify"],"crv":"P-384","x":"XqAZPBetAFTWs6yfc1CtQVPPOzE-NXeTgKMTwuTqHCRj75EmiuDQ2TjmI9CBLyMO","y":"RectUMm16ocn74_9MnQMQ7pb73w35nXCf-aOq1Yqe18havSs-oJwTW0FVTG0exPz"},"attributes":{"enabled":true,"created":1580373824,"updated":1580373824,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/a1bcca9890ae4436b350f17febc164a1","kty":"EC","key_ops":["sign","verify"],"crv":"P-384","x":"XqAZPBetAFTWs6yfc1CtQVPPOzE-NXeTgKMTwuTqHCRj75EmiuDQ2TjmI9CBLyMO","y":"RectUMm16ocn74_9MnQMQ7pb73w35nXCf-aOq1Yqe18havSs-oJwTW0FVTG0exPz"},"attributes":{"enabled":true,"created":1580374717,"updated":1580374717,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -486,7 +486,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:43:46 GMT + - Thu, 30 Jan 2020 08:58:42 GMT expires: - '-1' pragma: @@ -530,7 +530,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/72168ea79b0e423ab303f5095ea9d5de","kty":"EC","key_ops":["sign","verify"],"crv":"P-384","x":"XqAZPBetAFTWs6yfc1CtQVPPOzE-NXeTgKMTwuTqHCRj75EmiuDQ2TjmI9CBLyMO","y":"RectUMm16ocn74_9MnQMQ7pb73w35nXCf-aOq1Yqe18havSs-oJwTW0FVTG0exPz"},"attributes":{"enabled":true,"created":1580373824,"updated":1580373824,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-file/a1bcca9890ae4436b350f17febc164a1","kty":"EC","key_ops":["sign","verify"],"crv":"P-384","x":"XqAZPBetAFTWs6yfc1CtQVPPOzE-NXeTgKMTwuTqHCRj75EmiuDQ2TjmI9CBLyMO","y":"RectUMm16ocn74_9MnQMQ7pb73w35nXCf-aOq1Yqe18havSs-oJwTW0FVTG0exPz"},"attributes":{"enabled":true,"created":1580374717,"updated":1580374717,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -539,7 +539,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:43:48 GMT + - Thu, 30 Jan 2020 08:58:45 GMT expires: - '-1' pragma: @@ -588,7 +588,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/e9703c12f1714cd88a8b87c2c4d65362","kty":"EC","key_ops":["sign","verify"],"crv":"P-521","x":"fP-pBRcvboy_RkWltXNhc_cF29Yem4NcwlgoDVpYziBF3IrPJvvUOMH2BbudcylCN0F6rA5DybbPa7v8ZtjTmSU","y":"yWlPvSzTx68r5HeOMZ4slm1g27zw_47OsygwlTJb5qOwkmjmI90FhM6FgzFcVd_Sq8WFWHkq0UFtnM5WK7RkEBo"},"attributes":{"enabled":true,"created":1580373831,"updated":1580373831,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/37a236365a38432d82daa0f33ca57c94","kty":"EC","key_ops":["sign","verify"],"crv":"P-521","x":"fP-pBRcvboy_RkWltXNhc_cF29Yem4NcwlgoDVpYziBF3IrPJvvUOMH2BbudcylCN0F6rA5DybbPa7v8ZtjTmSU","y":"yWlPvSzTx68r5HeOMZ4slm1g27zw_47OsygwlTJb5qOwkmjmI90FhM6FgzFcVd_Sq8WFWHkq0UFtnM5WK7RkEBo"},"attributes":{"enabled":true,"created":1580374727,"updated":1580374727,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -597,7 +597,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:43:50 GMT + - Thu, 30 Jan 2020 08:58:46 GMT expires: - '-1' pragma: @@ -641,7 +641,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/e9703c12f1714cd88a8b87c2c4d65362","kty":"EC","key_ops":["sign","verify"],"crv":"P-521","x":"fP-pBRcvboy_RkWltXNhc_cF29Yem4NcwlgoDVpYziBF3IrPJvvUOMH2BbudcylCN0F6rA5DybbPa7v8ZtjTmSU","y":"yWlPvSzTx68r5HeOMZ4slm1g27zw_47OsygwlTJb5qOwkmjmI90FhM6FgzFcVd_Sq8WFWHkq0UFtnM5WK7RkEBo"},"attributes":{"enabled":true,"created":1580373831,"updated":1580373831,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/37a236365a38432d82daa0f33ca57c94","kty":"EC","key_ops":["sign","verify"],"crv":"P-521","x":"fP-pBRcvboy_RkWltXNhc_cF29Yem4NcwlgoDVpYziBF3IrPJvvUOMH2BbudcylCN0F6rA5DybbPa7v8ZtjTmSU","y":"yWlPvSzTx68r5HeOMZ4slm1g27zw_47OsygwlTJb5qOwkmjmI90FhM6FgzFcVd_Sq8WFWHkq0UFtnM5WK7RkEBo"},"attributes":{"enabled":true,"created":1580374727,"updated":1580374727,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -650,7 +650,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:43:52 GMT + - Thu, 30 Jan 2020 08:58:48 GMT expires: - '-1' pragma: @@ -694,7 +694,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/e9703c12f1714cd88a8b87c2c4d65362","kty":"EC","key_ops":["sign","verify"],"crv":"P-521","x":"fP-pBRcvboy_RkWltXNhc_cF29Yem4NcwlgoDVpYziBF3IrPJvvUOMH2BbudcylCN0F6rA5DybbPa7v8ZtjTmSU","y":"yWlPvSzTx68r5HeOMZ4slm1g27zw_47OsygwlTJb5qOwkmjmI90FhM6FgzFcVd_Sq8WFWHkq0UFtnM5WK7RkEBo"},"attributes":{"enabled":true,"created":1580373831,"updated":1580373831,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-file/37a236365a38432d82daa0f33ca57c94","kty":"EC","key_ops":["sign","verify"],"crv":"P-521","x":"fP-pBRcvboy_RkWltXNhc_cF29Yem4NcwlgoDVpYziBF3IrPJvvUOMH2BbudcylCN0F6rA5DybbPa7v8ZtjTmSU","y":"yWlPvSzTx68r5HeOMZ4slm1g27zw_47OsygwlTJb5qOwkmjmI90FhM6FgzFcVd_Sq8WFWHkq0UFtnM5WK7RkEBo"},"attributes":{"enabled":true,"created":1580374727,"updated":1580374727,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -703,7 +703,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:43:55 GMT + - Thu, 30 Jan 2020 08:58:50 GMT expires: - '-1' pragma: @@ -751,7 +751,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/986c49e66940421fbab27df9aa6334cb","kty":"EC","key_ops":["sign","verify"],"crv":"SECP256K1","x":"H7Thoa_qhy7HoBSFPKOL9edHRqr305sCa7ozYkRLIe0","y":"FkffDAOC8F6WQxd3aNAjDaiGC80ybBt-wy54EGeKyT8"},"attributes":{"enabled":true,"created":1580373837,"updated":1580373837,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/bf5bbaeb0e044fac9ed2ab01374f7d32","kty":"EC","key_ops":["sign","verify"],"crv":"SECP256K1","x":"H7Thoa_qhy7HoBSFPKOL9edHRqr305sCa7ozYkRLIe0","y":"FkffDAOC8F6WQxd3aNAjDaiGC80ybBt-wy54EGeKyT8"},"attributes":{"enabled":true,"created":1580374732,"updated":1580374732,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -760,7 +760,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:43:57 GMT + - Thu, 30 Jan 2020 08:58:52 GMT expires: - '-1' pragma: @@ -804,7 +804,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/986c49e66940421fbab27df9aa6334cb","kty":"EC","key_ops":["sign","verify"],"crv":"SECP256K1","x":"H7Thoa_qhy7HoBSFPKOL9edHRqr305sCa7ozYkRLIe0","y":"FkffDAOC8F6WQxd3aNAjDaiGC80ybBt-wy54EGeKyT8"},"attributes":{"enabled":true,"created":1580373837,"updated":1580373837,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/bf5bbaeb0e044fac9ed2ab01374f7d32","kty":"EC","key_ops":["sign","verify"],"crv":"SECP256K1","x":"H7Thoa_qhy7HoBSFPKOL9edHRqr305sCa7ozYkRLIe0","y":"FkffDAOC8F6WQxd3aNAjDaiGC80ybBt-wy54EGeKyT8"},"attributes":{"enabled":true,"created":1580374732,"updated":1580374732,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -813,7 +813,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:44:02 GMT + - Thu, 30 Jan 2020 08:58:54 GMT expires: - '-1' pragma: @@ -857,7 +857,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/986c49e66940421fbab27df9aa6334cb","kty":"EC","key_ops":["sign","verify"],"crv":"SECP256K1","x":"H7Thoa_qhy7HoBSFPKOL9edHRqr305sCa7ozYkRLIe0","y":"FkffDAOC8F6WQxd3aNAjDaiGC80ybBt-wy54EGeKyT8"},"attributes":{"enabled":true,"created":1580373837,"updated":1580373837,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-file/bf5bbaeb0e044fac9ed2ab01374f7d32","kty":"EC","key_ops":["sign","verify"],"crv":"SECP256K1","x":"H7Thoa_qhy7HoBSFPKOL9edHRqr305sCa7ozYkRLIe0","y":"FkffDAOC8F6WQxd3aNAjDaiGC80ybBt-wy54EGeKyT8"},"attributes":{"enabled":true,"created":1580374732,"updated":1580374732,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -866,7 +866,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:44:05 GMT + - Thu, 30 Jan 2020 08:58:56 GMT expires: - '-1' pragma: @@ -919,7 +919,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/f24eb2b73bf243c38d31176874a62ece","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zJEYKuhIeHvKqZZtJRDtQjg17ChAZtY_yJfNqv30xnzkzOZwVmy7NViVQIRnkCYvAMCstja-EpEpeW02LD83teNQRKM9Nie74g7ehDn6ZZCSdQQ54TQemt26hMfnFVaUl376p0E398IP1leHcvYOaiVgT_ffUhNhgIUJ5sIphtf4D1p5bWFYvs_Gd-A-Fk38hnerpl7JRF4y6p5WGJzvXKKs0QVSaQ1NHD7L1tQ0xTKra3FS_BGwD7ZdgBZerqzBPgxRjuxzq2DQJlHtvINsFjJhsMtwI11UV5-tIBOEWPSBTIoQpUWGB-_4jZ44IpKlBDQuc1kqa2Y8-eO53Gxn-Q","e":"AQAB"},"attributes":{"enabled":true,"created":1580373847,"updated":1580373847,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/a069c0a9c6ce4431925dfa1d29eaa2b7","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zJEYKuhIeHvKqZZtJRDtQjg17ChAZtY_yJfNqv30xnzkzOZwVmy7NViVQIRnkCYvAMCstja-EpEpeW02LD83teNQRKM9Nie74g7ehDn6ZZCSdQQ54TQemt26hMfnFVaUl376p0E398IP1leHcvYOaiVgT_ffUhNhgIUJ5sIphtf4D1p5bWFYvs_Gd-A-Fk38hnerpl7JRF4y6p5WGJzvXKKs0QVSaQ1NHD7L1tQ0xTKra3FS_BGwD7ZdgBZerqzBPgxRjuxzq2DQJlHtvINsFjJhsMtwI11UV5-tIBOEWPSBTIoQpUWGB-_4jZ44IpKlBDQuc1kqa2Y8-eO53Gxn-Q","e":"AQAB"},"attributes":{"enabled":true,"created":1580374739,"updated":1580374739,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -928,7 +928,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:44:07 GMT + - Thu, 30 Jan 2020 08:58:59 GMT expires: - '-1' pragma: @@ -972,7 +972,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/f24eb2b73bf243c38d31176874a62ece","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zJEYKuhIeHvKqZZtJRDtQjg17ChAZtY_yJfNqv30xnzkzOZwVmy7NViVQIRnkCYvAMCstja-EpEpeW02LD83teNQRKM9Nie74g7ehDn6ZZCSdQQ54TQemt26hMfnFVaUl376p0E398IP1leHcvYOaiVgT_ffUhNhgIUJ5sIphtf4D1p5bWFYvs_Gd-A-Fk38hnerpl7JRF4y6p5WGJzvXKKs0QVSaQ1NHD7L1tQ0xTKra3FS_BGwD7ZdgBZerqzBPgxRjuxzq2DQJlHtvINsFjJhsMtwI11UV5-tIBOEWPSBTIoQpUWGB-_4jZ44IpKlBDQuc1kqa2Y8-eO53Gxn-Q","e":"AQAB"},"attributes":{"enabled":true,"created":1580373847,"updated":1580373847,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/a069c0a9c6ce4431925dfa1d29eaa2b7","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zJEYKuhIeHvKqZZtJRDtQjg17ChAZtY_yJfNqv30xnzkzOZwVmy7NViVQIRnkCYvAMCstja-EpEpeW02LD83teNQRKM9Nie74g7ehDn6ZZCSdQQ54TQemt26hMfnFVaUl376p0E398IP1leHcvYOaiVgT_ffUhNhgIUJ5sIphtf4D1p5bWFYvs_Gd-A-Fk38hnerpl7JRF4y6p5WGJzvXKKs0QVSaQ1NHD7L1tQ0xTKra3FS_BGwD7ZdgBZerqzBPgxRjuxzq2DQJlHtvINsFjJhsMtwI11UV5-tIBOEWPSBTIoQpUWGB-_4jZ44IpKlBDQuc1kqa2Y8-eO53Gxn-Q","e":"AQAB"},"attributes":{"enabled":true,"created":1580374739,"updated":1580374739,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -981,7 +981,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:44:10 GMT + - Thu, 30 Jan 2020 08:59:00 GMT expires: - '-1' pragma: @@ -1025,7 +1025,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/f24eb2b73bf243c38d31176874a62ece","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zJEYKuhIeHvKqZZtJRDtQjg17ChAZtY_yJfNqv30xnzkzOZwVmy7NViVQIRnkCYvAMCstja-EpEpeW02LD83teNQRKM9Nie74g7ehDn6ZZCSdQQ54TQemt26hMfnFVaUl376p0E398IP1leHcvYOaiVgT_ffUhNhgIUJ5sIphtf4D1p5bWFYvs_Gd-A-Fk38hnerpl7JRF4y6p5WGJzvXKKs0QVSaQ1NHD7L1tQ0xTKra3FS_BGwD7ZdgBZerqzBPgxRjuxzq2DQJlHtvINsFjJhsMtwI11UV5-tIBOEWPSBTIoQpUWGB-_4jZ44IpKlBDQuc1kqa2Y8-eO53Gxn-Q","e":"AQAB"},"attributes":{"enabled":true,"created":1580373847,"updated":1580373847,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-file/a069c0a9c6ce4431925dfa1d29eaa2b7","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zJEYKuhIeHvKqZZtJRDtQjg17ChAZtY_yJfNqv30xnzkzOZwVmy7NViVQIRnkCYvAMCstja-EpEpeW02LD83teNQRKM9Nie74g7ehDn6ZZCSdQQ54TQemt26hMfnFVaUl376p0E398IP1leHcvYOaiVgT_ffUhNhgIUJ5sIphtf4D1p5bWFYvs_Gd-A-Fk38hnerpl7JRF4y6p5WGJzvXKKs0QVSaQ1NHD7L1tQ0xTKra3FS_BGwD7ZdgBZerqzBPgxRjuxzq2DQJlHtvINsFjJhsMtwI11UV5-tIBOEWPSBTIoQpUWGB-_4jZ44IpKlBDQuc1kqa2Y8-eO53Gxn-Q","e":"AQAB"},"attributes":{"enabled":true,"created":1580374739,"updated":1580374739,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1034,7 +1034,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:44:12 GMT + - Thu, 30 Jan 2020 08:59:03 GMT expires: - '-1' pragma: @@ -1087,7 +1087,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/a3cde6ccdc2743c59542837fb4309c91","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"t6f3peMvTmrOtW1Zzzl1z05xGYVck3KeWnBb_TvPSZp8XczOa0QNCLJ-FFmvP7wyGrz7tsN3QNveITRqsk9_1PA3MQfxHCmBziSj2NDXPynuquwfu-ew5mhgWsI_Wbx7UpAgXWTfdmrLkcWwCXqbfR74emxVsMiItpg8aOwFhihid4ziEamMc3UX9IB6zKJN-VY3RHWa1QnFvMYXDTHjuqFIYGEGR8I5ZlJZDV_Cxkg1LqqtXjd1gNglmcRVDOaMtvLy3WvObb8QLAJsdq-3xUzgh6YWLb9ErQZ5WdbdEL3YVQwRCi6yYHk5dOMyLfGUtqJg6zxMLxW8Abso5ZAn_4ULOlgsTwCZ-IT7fMa-QnrF6CjJtD93U2jdVURTGUo9PV41SO43L69Z83FqzJUZhIZNScERIZd5Km4EAhNJN59DNge7T-089Y3iWmLGnywwoFYjoEjXVEizZPdvSSZjMECP3lLF0peFiWhcN2V2p3Q1yY3FF1TfNleTsIydz5O_","e":"AQAB"},"attributes":{"enabled":true,"created":1580373854,"updated":1580373854,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/f78df5ada82344c6a0e8952e9a16ddc5","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"t6f3peMvTmrOtW1Zzzl1z05xGYVck3KeWnBb_TvPSZp8XczOa0QNCLJ-FFmvP7wyGrz7tsN3QNveITRqsk9_1PA3MQfxHCmBziSj2NDXPynuquwfu-ew5mhgWsI_Wbx7UpAgXWTfdmrLkcWwCXqbfR74emxVsMiItpg8aOwFhihid4ziEamMc3UX9IB6zKJN-VY3RHWa1QnFvMYXDTHjuqFIYGEGR8I5ZlJZDV_Cxkg1LqqtXjd1gNglmcRVDOaMtvLy3WvObb8QLAJsdq-3xUzgh6YWLb9ErQZ5WdbdEL3YVQwRCi6yYHk5dOMyLfGUtqJg6zxMLxW8Abso5ZAn_4ULOlgsTwCZ-IT7fMa-QnrF6CjJtD93U2jdVURTGUo9PV41SO43L69Z83FqzJUZhIZNScERIZd5Km4EAhNJN59DNge7T-089Y3iWmLGnywwoFYjoEjXVEizZPdvSSZjMECP3lLF0peFiWhcN2V2p3Q1yY3FF1TfNleTsIydz5O_","e":"AQAB"},"attributes":{"enabled":true,"created":1580374745,"updated":1580374745,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1096,7 +1096,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:44:14 GMT + - Thu, 30 Jan 2020 08:59:05 GMT expires: - '-1' pragma: @@ -1140,7 +1140,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/a3cde6ccdc2743c59542837fb4309c91","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"t6f3peMvTmrOtW1Zzzl1z05xGYVck3KeWnBb_TvPSZp8XczOa0QNCLJ-FFmvP7wyGrz7tsN3QNveITRqsk9_1PA3MQfxHCmBziSj2NDXPynuquwfu-ew5mhgWsI_Wbx7UpAgXWTfdmrLkcWwCXqbfR74emxVsMiItpg8aOwFhihid4ziEamMc3UX9IB6zKJN-VY3RHWa1QnFvMYXDTHjuqFIYGEGR8I5ZlJZDV_Cxkg1LqqtXjd1gNglmcRVDOaMtvLy3WvObb8QLAJsdq-3xUzgh6YWLb9ErQZ5WdbdEL3YVQwRCi6yYHk5dOMyLfGUtqJg6zxMLxW8Abso5ZAn_4ULOlgsTwCZ-IT7fMa-QnrF6CjJtD93U2jdVURTGUo9PV41SO43L69Z83FqzJUZhIZNScERIZd5Km4EAhNJN59DNge7T-089Y3iWmLGnywwoFYjoEjXVEizZPdvSSZjMECP3lLF0peFiWhcN2V2p3Q1yY3FF1TfNleTsIydz5O_","e":"AQAB"},"attributes":{"enabled":true,"created":1580373854,"updated":1580373854,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/f78df5ada82344c6a0e8952e9a16ddc5","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"t6f3peMvTmrOtW1Zzzl1z05xGYVck3KeWnBb_TvPSZp8XczOa0QNCLJ-FFmvP7wyGrz7tsN3QNveITRqsk9_1PA3MQfxHCmBziSj2NDXPynuquwfu-ew5mhgWsI_Wbx7UpAgXWTfdmrLkcWwCXqbfR74emxVsMiItpg8aOwFhihid4ziEamMc3UX9IB6zKJN-VY3RHWa1QnFvMYXDTHjuqFIYGEGR8I5ZlJZDV_Cxkg1LqqtXjd1gNglmcRVDOaMtvLy3WvObb8QLAJsdq-3xUzgh6YWLb9ErQZ5WdbdEL3YVQwRCi6yYHk5dOMyLfGUtqJg6zxMLxW8Abso5ZAn_4ULOlgsTwCZ-IT7fMa-QnrF6CjJtD93U2jdVURTGUo9PV41SO43L69Z83FqzJUZhIZNScERIZd5Km4EAhNJN59DNge7T-089Y3iWmLGnywwoFYjoEjXVEizZPdvSSZjMECP3lLF0peFiWhcN2V2p3Q1yY3FF1TfNleTsIydz5O_","e":"AQAB"},"attributes":{"enabled":true,"created":1580374745,"updated":1580374745,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1149,7 +1149,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:44:16 GMT + - Thu, 30 Jan 2020 08:59:06 GMT expires: - '-1' pragma: @@ -1193,7 +1193,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/a3cde6ccdc2743c59542837fb4309c91","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"t6f3peMvTmrOtW1Zzzl1z05xGYVck3KeWnBb_TvPSZp8XczOa0QNCLJ-FFmvP7wyGrz7tsN3QNveITRqsk9_1PA3MQfxHCmBziSj2NDXPynuquwfu-ew5mhgWsI_Wbx7UpAgXWTfdmrLkcWwCXqbfR74emxVsMiItpg8aOwFhihid4ziEamMc3UX9IB6zKJN-VY3RHWa1QnFvMYXDTHjuqFIYGEGR8I5ZlJZDV_Cxkg1LqqtXjd1gNglmcRVDOaMtvLy3WvObb8QLAJsdq-3xUzgh6YWLb9ErQZ5WdbdEL3YVQwRCi6yYHk5dOMyLfGUtqJg6zxMLxW8Abso5ZAn_4ULOlgsTwCZ-IT7fMa-QnrF6CjJtD93U2jdVURTGUo9PV41SO43L69Z83FqzJUZhIZNScERIZd5Km4EAhNJN59DNge7T-089Y3iWmLGnywwoFYjoEjXVEizZPdvSSZjMECP3lLF0peFiWhcN2V2p3Q1yY3FF1TfNleTsIydz5O_","e":"AQAB"},"attributes":{"enabled":true,"created":1580373854,"updated":1580373854,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-file/f78df5ada82344c6a0e8952e9a16ddc5","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"t6f3peMvTmrOtW1Zzzl1z05xGYVck3KeWnBb_TvPSZp8XczOa0QNCLJ-FFmvP7wyGrz7tsN3QNveITRqsk9_1PA3MQfxHCmBziSj2NDXPynuquwfu-ew5mhgWsI_Wbx7UpAgXWTfdmrLkcWwCXqbfR74emxVsMiItpg8aOwFhihid4ziEamMc3UX9IB6zKJN-VY3RHWa1QnFvMYXDTHjuqFIYGEGR8I5ZlJZDV_Cxkg1LqqtXjd1gNglmcRVDOaMtvLy3WvObb8QLAJsdq-3xUzgh6YWLb9ErQZ5WdbdEL3YVQwRCi6yYHk5dOMyLfGUtqJg6zxMLxW8Abso5ZAn_4ULOlgsTwCZ-IT7fMa-QnrF6CjJtD93U2jdVURTGUo9PV41SO43L69Z83FqzJUZhIZNScERIZd5Km4EAhNJN59DNge7T-089Y3iWmLGnywwoFYjoEjXVEizZPdvSSZjMECP3lLF0peFiWhcN2V2p3Q1yY3FF1TfNleTsIydz5O_","e":"AQAB"},"attributes":{"enabled":true,"created":1580374745,"updated":1580374745,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1202,7 +1202,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:44:19 GMT + - Thu, 30 Jan 2020 08:59:08 GMT expires: - '-1' pragma: @@ -1255,7 +1255,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/91a6abecad0b4addbf33bd16bd91da71","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"3J-sKKSUS2AWjfOObdNZL1HnROsmHl4KM-w9E8uBvhmeRvEBg_v3I3EFR2tHGvRiFAvxnU6ocdKnzAmU-qzs0lKbkqIs9NjvCxNcVClwZZ5-QNlFp8FjVjf8rtWpYq_qbo2WCqMudZtk2SHZ1XEPIeL9blGG0J9RKAKhlHNeWiRxzJglponaB_TQToFfvab2iV7rwyYzObhKPRXgw6QFqVueHBKCJlOHUJDwiaHBq9h89l4isvcwafRIqGKr25H1PZpa5qB6TlDtBxfODAwFJsKZljvAPaTLCd_1cNPOiZ8G3IFel5GPuv7_9ZirVeulZ0RWWTYIO5ikFrvNG_nVUuzKG11q6tyMXhYeQRGAy10udnQ6emggtW7vA7ev8GkdQUNBmQasWvZaTdRyTjV88AUiYMgz9g5cu6UYFTCFdgUhoPbaxEd6w1JJP9GUsdIIY9aDayj2Nsf4vuwiM3RpW-YrOJIPlkRuY0XuWFrF37lVi8iIpMsgTO3XoalOg6GCW9TmHEgJkuETyLHYw84zRF40z6fTjDyGp7YChwOinmRcBF6ToVpYxsosAzUk2QfNKa5IjuRdDXEucodw_1ViAENE2m58QPNFWcSZ9FYckBA-uRn4kHffdFATR9Vx1Hh3cPESuDwXh8AzFwFuOLOATaSHkaQfGV6PQHgT7NUKv_k","e":"AQAB"},"attributes":{"enabled":true,"created":1580373861,"updated":1580373861,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/087cd40a6f7c41c08ba5fd1597c4ac53","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"3J-sKKSUS2AWjfOObdNZL1HnROsmHl4KM-w9E8uBvhmeRvEBg_v3I3EFR2tHGvRiFAvxnU6ocdKnzAmU-qzs0lKbkqIs9NjvCxNcVClwZZ5-QNlFp8FjVjf8rtWpYq_qbo2WCqMudZtk2SHZ1XEPIeL9blGG0J9RKAKhlHNeWiRxzJglponaB_TQToFfvab2iV7rwyYzObhKPRXgw6QFqVueHBKCJlOHUJDwiaHBq9h89l4isvcwafRIqGKr25H1PZpa5qB6TlDtBxfODAwFJsKZljvAPaTLCd_1cNPOiZ8G3IFel5GPuv7_9ZirVeulZ0RWWTYIO5ikFrvNG_nVUuzKG11q6tyMXhYeQRGAy10udnQ6emggtW7vA7ev8GkdQUNBmQasWvZaTdRyTjV88AUiYMgz9g5cu6UYFTCFdgUhoPbaxEd6w1JJP9GUsdIIY9aDayj2Nsf4vuwiM3RpW-YrOJIPlkRuY0XuWFrF37lVi8iIpMsgTO3XoalOg6GCW9TmHEgJkuETyLHYw84zRF40z6fTjDyGp7YChwOinmRcBF6ToVpYxsosAzUk2QfNKa5IjuRdDXEucodw_1ViAENE2m58QPNFWcSZ9FYckBA-uRn4kHffdFATR9Vx1Hh3cPESuDwXh8AzFwFuOLOATaSHkaQfGV6PQHgT7NUKv_k","e":"AQAB"},"attributes":{"enabled":true,"created":1580374751,"updated":1580374751,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1264,7 +1264,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:44:21 GMT + - Thu, 30 Jan 2020 08:59:11 GMT expires: - '-1' pragma: @@ -1308,7 +1308,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/91a6abecad0b4addbf33bd16bd91da71","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"3J-sKKSUS2AWjfOObdNZL1HnROsmHl4KM-w9E8uBvhmeRvEBg_v3I3EFR2tHGvRiFAvxnU6ocdKnzAmU-qzs0lKbkqIs9NjvCxNcVClwZZ5-QNlFp8FjVjf8rtWpYq_qbo2WCqMudZtk2SHZ1XEPIeL9blGG0J9RKAKhlHNeWiRxzJglponaB_TQToFfvab2iV7rwyYzObhKPRXgw6QFqVueHBKCJlOHUJDwiaHBq9h89l4isvcwafRIqGKr25H1PZpa5qB6TlDtBxfODAwFJsKZljvAPaTLCd_1cNPOiZ8G3IFel5GPuv7_9ZirVeulZ0RWWTYIO5ikFrvNG_nVUuzKG11q6tyMXhYeQRGAy10udnQ6emggtW7vA7ev8GkdQUNBmQasWvZaTdRyTjV88AUiYMgz9g5cu6UYFTCFdgUhoPbaxEd6w1JJP9GUsdIIY9aDayj2Nsf4vuwiM3RpW-YrOJIPlkRuY0XuWFrF37lVi8iIpMsgTO3XoalOg6GCW9TmHEgJkuETyLHYw84zRF40z6fTjDyGp7YChwOinmRcBF6ToVpYxsosAzUk2QfNKa5IjuRdDXEucodw_1ViAENE2m58QPNFWcSZ9FYckBA-uRn4kHffdFATR9Vx1Hh3cPESuDwXh8AzFwFuOLOATaSHkaQfGV6PQHgT7NUKv_k","e":"AQAB"},"attributes":{"enabled":true,"created":1580373861,"updated":1580373861,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/087cd40a6f7c41c08ba5fd1597c4ac53","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"3J-sKKSUS2AWjfOObdNZL1HnROsmHl4KM-w9E8uBvhmeRvEBg_v3I3EFR2tHGvRiFAvxnU6ocdKnzAmU-qzs0lKbkqIs9NjvCxNcVClwZZ5-QNlFp8FjVjf8rtWpYq_qbo2WCqMudZtk2SHZ1XEPIeL9blGG0J9RKAKhlHNeWiRxzJglponaB_TQToFfvab2iV7rwyYzObhKPRXgw6QFqVueHBKCJlOHUJDwiaHBq9h89l4isvcwafRIqGKr25H1PZpa5qB6TlDtBxfODAwFJsKZljvAPaTLCd_1cNPOiZ8G3IFel5GPuv7_9ZirVeulZ0RWWTYIO5ikFrvNG_nVUuzKG11q6tyMXhYeQRGAy10udnQ6emggtW7vA7ev8GkdQUNBmQasWvZaTdRyTjV88AUiYMgz9g5cu6UYFTCFdgUhoPbaxEd6w1JJP9GUsdIIY9aDayj2Nsf4vuwiM3RpW-YrOJIPlkRuY0XuWFrF37lVi8iIpMsgTO3XoalOg6GCW9TmHEgJkuETyLHYw84zRF40z6fTjDyGp7YChwOinmRcBF6ToVpYxsosAzUk2QfNKa5IjuRdDXEucodw_1ViAENE2m58QPNFWcSZ9FYckBA-uRn4kHffdFATR9Vx1Hh3cPESuDwXh8AzFwFuOLOATaSHkaQfGV6PQHgT7NUKv_k","e":"AQAB"},"attributes":{"enabled":true,"created":1580374751,"updated":1580374751,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1317,7 +1317,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:44:24 GMT + - Thu, 30 Jan 2020 08:59:15 GMT expires: - '-1' pragma: @@ -1361,7 +1361,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/91a6abecad0b4addbf33bd16bd91da71","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"3J-sKKSUS2AWjfOObdNZL1HnROsmHl4KM-w9E8uBvhmeRvEBg_v3I3EFR2tHGvRiFAvxnU6ocdKnzAmU-qzs0lKbkqIs9NjvCxNcVClwZZ5-QNlFp8FjVjf8rtWpYq_qbo2WCqMudZtk2SHZ1XEPIeL9blGG0J9RKAKhlHNeWiRxzJglponaB_TQToFfvab2iV7rwyYzObhKPRXgw6QFqVueHBKCJlOHUJDwiaHBq9h89l4isvcwafRIqGKr25H1PZpa5qB6TlDtBxfODAwFJsKZljvAPaTLCd_1cNPOiZ8G3IFel5GPuv7_9ZirVeulZ0RWWTYIO5ikFrvNG_nVUuzKG11q6tyMXhYeQRGAy10udnQ6emggtW7vA7ev8GkdQUNBmQasWvZaTdRyTjV88AUiYMgz9g5cu6UYFTCFdgUhoPbaxEd6w1JJP9GUsdIIY9aDayj2Nsf4vuwiM3RpW-YrOJIPlkRuY0XuWFrF37lVi8iIpMsgTO3XoalOg6GCW9TmHEgJkuETyLHYw84zRF40z6fTjDyGp7YChwOinmRcBF6ToVpYxsosAzUk2QfNKa5IjuRdDXEucodw_1ViAENE2m58QPNFWcSZ9FYckBA-uRn4kHffdFATR9Vx1Hh3cPESuDwXh8AzFwFuOLOATaSHkaQfGV6PQHgT7NUKv_k","e":"AQAB"},"attributes":{"enabled":true,"created":1580373861,"updated":1580373861,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-file/087cd40a6f7c41c08ba5fd1597c4ac53","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"3J-sKKSUS2AWjfOObdNZL1HnROsmHl4KM-w9E8uBvhmeRvEBg_v3I3EFR2tHGvRiFAvxnU6ocdKnzAmU-qzs0lKbkqIs9NjvCxNcVClwZZ5-QNlFp8FjVjf8rtWpYq_qbo2WCqMudZtk2SHZ1XEPIeL9blGG0J9RKAKhlHNeWiRxzJglponaB_TQToFfvab2iV7rwyYzObhKPRXgw6QFqVueHBKCJlOHUJDwiaHBq9h89l4isvcwafRIqGKr25H1PZpa5qB6TlDtBxfODAwFJsKZljvAPaTLCd_1cNPOiZ8G3IFel5GPuv7_9ZirVeulZ0RWWTYIO5ikFrvNG_nVUuzKG11q6tyMXhYeQRGAy10udnQ6emggtW7vA7ev8GkdQUNBmQasWvZaTdRyTjV88AUiYMgz9g5cu6UYFTCFdgUhoPbaxEd6w1JJP9GUsdIIY9aDayj2Nsf4vuwiM3RpW-YrOJIPlkRuY0XuWFrF37lVi8iIpMsgTO3XoalOg6GCW9TmHEgJkuETyLHYw84zRF40z6fTjDyGp7YChwOinmRcBF6ToVpYxsosAzUk2QfNKa5IjuRdDXEucodw_1ViAENE2m58QPNFWcSZ9FYckBA-uRn4kHffdFATR9Vx1Hh3cPESuDwXh8AzFwFuOLOATaSHkaQfGV6PQHgT7NUKv_k","e":"AQAB"},"attributes":{"enabled":true,"created":1580374751,"updated":1580374751,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1370,7 +1370,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:44:26 GMT + - Thu, 30 Jan 2020 08:59:18 GMT expires: - '-1' pragma: @@ -1416,7 +1416,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/create?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/0118af738e464feda56a668d8e8ad944","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256","x":"o3GEgQnxDQl1rfrwur7a0gzVBb0aKHQou2M2HQgt68Y","y":"4ttpaEbT03Hs_6_i-6EiBpCCKei6btNmeIptBoZI46E"},"attributes":{"enabled":true,"created":1580373871,"updated":1580373871,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/506c6c4e875b4b55a0d14caf7a978795","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256","x":"OZ8TOC8k-fa-LTrh68h9ktuIgLOlEokkPzEdqzy6G9U","y":"83Ko0rokwe891ChyLkbCNapq3CX1DHYPDouUH-SQkHs"},"attributes":{"enabled":true,"created":1580374763,"updated":1580374763,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1425,7 +1425,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:44:30 GMT + - Thu, 30 Jan 2020 08:59:22 GMT expires: - '-1' pragma: @@ -1469,7 +1469,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/0118af738e464feda56a668d8e8ad944","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256","x":"o3GEgQnxDQl1rfrwur7a0gzVBb0aKHQou2M2HQgt68Y","y":"4ttpaEbT03Hs_6_i-6EiBpCCKei6btNmeIptBoZI46E"},"attributes":{"enabled":true,"created":1580373871,"updated":1580373871,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/506c6c4e875b4b55a0d14caf7a978795","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256","x":"OZ8TOC8k-fa-LTrh68h9ktuIgLOlEokkPzEdqzy6G9U","y":"83Ko0rokwe891ChyLkbCNapq3CX1DHYPDouUH-SQkHs"},"attributes":{"enabled":true,"created":1580374763,"updated":1580374763,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1478,7 +1478,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:44:33 GMT + - Thu, 30 Jan 2020 08:59:25 GMT expires: - '-1' pragma: @@ -1522,7 +1522,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/0118af738e464feda56a668d8e8ad944","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256","x":"o3GEgQnxDQl1rfrwur7a0gzVBb0aKHQou2M2HQgt68Y","y":"4ttpaEbT03Hs_6_i-6EiBpCCKei6btNmeIptBoZI46E"},"attributes":{"enabled":true,"created":1580373871,"updated":1580373871,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256-hsm-file/506c6c4e875b4b55a0d14caf7a978795","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256","x":"OZ8TOC8k-fa-LTrh68h9ktuIgLOlEokkPzEdqzy6G9U","y":"83Ko0rokwe891ChyLkbCNapq3CX1DHYPDouUH-SQkHs"},"attributes":{"enabled":true,"created":1580374763,"updated":1580374763,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1531,7 +1531,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:44:35 GMT + - Thu, 30 Jan 2020 08:59:27 GMT expires: - '-1' pragma: @@ -1577,7 +1577,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/create?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/8a3906fbfc8c4208bab726194035805a","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-384","x":"H-15v2e9uzgkYD4mwtgk9RPWSKzvIoC3wMJ28suZsNXXGBu21xAnXADi6SC-HGGm","y":"vXk60H9iv7ktvmtjrfiL_uEu0eFW-aOgUHoZMtgCwvWKwWzdnEy2pU-2Kl2L4m36"},"attributes":{"enabled":true,"created":1580373886,"updated":1580373886,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/85c9f0f8718747a3b2dbfae7a407f238","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-384","x":"Bk-lYlGX_7z6xzi8P_Z9UqsfIYfEDxVhpiYNxGAI850O7nyXMiliQRcM2_dZmMjo","y":"-wCHzfVnzFO4bts50DacbxS9rgdmF-O_NnXROicX00G1Br6WL9CvDvnjQ-ZEVBFs"},"attributes":{"enabled":true,"created":1580374771,"updated":1580374771,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1586,7 +1586,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:44:45 GMT + - Thu, 30 Jan 2020 08:59:30 GMT expires: - '-1' pragma: @@ -1630,7 +1630,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/8a3906fbfc8c4208bab726194035805a","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-384","x":"H-15v2e9uzgkYD4mwtgk9RPWSKzvIoC3wMJ28suZsNXXGBu21xAnXADi6SC-HGGm","y":"vXk60H9iv7ktvmtjrfiL_uEu0eFW-aOgUHoZMtgCwvWKwWzdnEy2pU-2Kl2L4m36"},"attributes":{"enabled":true,"created":1580373886,"updated":1580373886,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/85c9f0f8718747a3b2dbfae7a407f238","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-384","x":"Bk-lYlGX_7z6xzi8P_Z9UqsfIYfEDxVhpiYNxGAI850O7nyXMiliQRcM2_dZmMjo","y":"-wCHzfVnzFO4bts50DacbxS9rgdmF-O_NnXROicX00G1Br6WL9CvDvnjQ-ZEVBFs"},"attributes":{"enabled":true,"created":1580374771,"updated":1580374771,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1639,7 +1639,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:44:48 GMT + - Thu, 30 Jan 2020 08:59:34 GMT expires: - '-1' pragma: @@ -1683,7 +1683,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/8a3906fbfc8c4208bab726194035805a","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-384","x":"H-15v2e9uzgkYD4mwtgk9RPWSKzvIoC3wMJ28suZsNXXGBu21xAnXADi6SC-HGGm","y":"vXk60H9iv7ktvmtjrfiL_uEu0eFW-aOgUHoZMtgCwvWKwWzdnEy2pU-2Kl2L4m36"},"attributes":{"enabled":true,"created":1580373886,"updated":1580373886,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p384-hsm-file/85c9f0f8718747a3b2dbfae7a407f238","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-384","x":"Bk-lYlGX_7z6xzi8P_Z9UqsfIYfEDxVhpiYNxGAI850O7nyXMiliQRcM2_dZmMjo","y":"-wCHzfVnzFO4bts50DacbxS9rgdmF-O_NnXROicX00G1Br6WL9CvDvnjQ-ZEVBFs"},"attributes":{"enabled":true,"created":1580374771,"updated":1580374771,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1692,7 +1692,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:44:50 GMT + - Thu, 30 Jan 2020 08:59:37 GMT expires: - '-1' pragma: @@ -1738,7 +1738,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/create?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/bdd676f5639c44cf985450d221de06bd","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-521","x":"AQblEllrDFn5EWe35vV8DPvRGZjk55UN6Xip0O0nLgbRb3smXLrKwuJGbld5B-Vzthp8CW2U08YLiGNa3KGz_hBf","y":"AXFMYAMkS_X1VKwnQdgRrY6r1dpD7WFRelJ7jvv7Yb1i1r7y7oHdD-NYHgFv3MC8XCQ0QNqw2iUp3tP6NlN4Ti_Z"},"attributes":{"enabled":true,"created":1580373898,"updated":1580373898,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/edf4500678aa479393087102b2cab623","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-521","x":"Ab05SXv0JjNq_a7RDKxLNHe1-rnmNi0ZQUvyU6NSxx57YmA7hDAI_AblvAMOh2AYtKhGMF8en3YdP92p4iyZMZUW","y":"AAEd1ecd56iFkG9OWCvDQLQvl9VroqWwN_bnm246fujZc2V6wnt4wE-U2aG33sgwm2S5ulSgFAxGEnJSLO8hKWQ6"},"attributes":{"enabled":true,"created":1580374780,"updated":1580374780,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1747,7 +1747,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:44:57 GMT + - Thu, 30 Jan 2020 08:59:39 GMT expires: - '-1' pragma: @@ -1791,7 +1791,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/bdd676f5639c44cf985450d221de06bd","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-521","x":"AQblEllrDFn5EWe35vV8DPvRGZjk55UN6Xip0O0nLgbRb3smXLrKwuJGbld5B-Vzthp8CW2U08YLiGNa3KGz_hBf","y":"AXFMYAMkS_X1VKwnQdgRrY6r1dpD7WFRelJ7jvv7Yb1i1r7y7oHdD-NYHgFv3MC8XCQ0QNqw2iUp3tP6NlN4Ti_Z"},"attributes":{"enabled":true,"created":1580373898,"updated":1580373898,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/edf4500678aa479393087102b2cab623","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-521","x":"Ab05SXv0JjNq_a7RDKxLNHe1-rnmNi0ZQUvyU6NSxx57YmA7hDAI_AblvAMOh2AYtKhGMF8en3YdP92p4iyZMZUW","y":"AAEd1ecd56iFkG9OWCvDQLQvl9VroqWwN_bnm246fujZc2V6wnt4wE-U2aG33sgwm2S5ulSgFAxGEnJSLO8hKWQ6"},"attributes":{"enabled":true,"created":1580374780,"updated":1580374780,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1800,7 +1800,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:44:59 GMT + - Thu, 30 Jan 2020 08:59:43 GMT expires: - '-1' pragma: @@ -1844,7 +1844,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/bdd676f5639c44cf985450d221de06bd","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-521","x":"AQblEllrDFn5EWe35vV8DPvRGZjk55UN6Xip0O0nLgbRb3smXLrKwuJGbld5B-Vzthp8CW2U08YLiGNa3KGz_hBf","y":"AXFMYAMkS_X1VKwnQdgRrY6r1dpD7WFRelJ7jvv7Yb1i1r7y7oHdD-NYHgFv3MC8XCQ0QNqw2iUp3tP6NlN4Ti_Z"},"attributes":{"enabled":true,"created":1580373898,"updated":1580373898,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p521-hsm-file/edf4500678aa479393087102b2cab623","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-521","x":"Ab05SXv0JjNq_a7RDKxLNHe1-rnmNi0ZQUvyU6NSxx57YmA7hDAI_AblvAMOh2AYtKhGMF8en3YdP92p4iyZMZUW","y":"AAEd1ecd56iFkG9OWCvDQLQvl9VroqWwN_bnm246fujZc2V6wnt4wE-U2aG33sgwm2S5ulSgFAxGEnJSLO8hKWQ6"},"attributes":{"enabled":true,"created":1580374780,"updated":1580374780,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1853,7 +1853,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:45:02 GMT + - Thu, 30 Jan 2020 08:59:45 GMT expires: - '-1' pragma: @@ -1899,7 +1899,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/create?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/7f4afca99431441e9ae9942dae994779","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256K","x":"Sw_El8Aj91culIwbj5t0GOTk4mPC_10Y2HW2h1RshzY","y":"xUauizoH6zPWWGzV77oNnLLAg-P6Ly3cW6jXqCjo0oo"},"attributes":{"enabled":true,"created":1580373905,"updated":1580373905,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/d5a7feafdd0146cd87c5437082efb109","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256K","x":"z7GuRLX2dL-b2barIcsuHT45QuBPXfjMYmoGA7Mvrbc","y":"u3IQXnCFVg4iknY_ufWHdjRsyN557p2cPF3sdY-tAPI"},"attributes":{"enabled":true,"created":1580374789,"updated":1580374789,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1908,7 +1908,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:45:04 GMT + - Thu, 30 Jan 2020 08:59:49 GMT expires: - '-1' pragma: @@ -1952,7 +1952,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/7f4afca99431441e9ae9942dae994779","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256K","x":"Sw_El8Aj91culIwbj5t0GOTk4mPC_10Y2HW2h1RshzY","y":"xUauizoH6zPWWGzV77oNnLLAg-P6Ly3cW6jXqCjo0oo"},"attributes":{"enabled":true,"created":1580373905,"updated":1580373905,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/d5a7feafdd0146cd87c5437082efb109","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256K","x":"z7GuRLX2dL-b2barIcsuHT45QuBPXfjMYmoGA7Mvrbc","y":"u3IQXnCFVg4iknY_ufWHdjRsyN557p2cPF3sdY-tAPI"},"attributes":{"enabled":true,"created":1580374789,"updated":1580374789,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -1961,7 +1961,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:45:07 GMT + - Thu, 30 Jan 2020 08:59:51 GMT expires: - '-1' pragma: @@ -2005,7 +2005,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/7f4afca99431441e9ae9942dae994779","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256K","x":"Sw_El8Aj91culIwbj5t0GOTk4mPC_10Y2HW2h1RshzY","y":"xUauizoH6zPWWGzV77oNnLLAg-P6Ly3cW6jXqCjo0oo"},"attributes":{"enabled":true,"created":1580373905,"updated":1580373905,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/ec-p256k-hsm-file/d5a7feafdd0146cd87c5437082efb109","kty":"EC-HSM","key_ops":["sign","verify"],"crv":"P-256K","x":"z7GuRLX2dL-b2barIcsuHT45QuBPXfjMYmoGA7Mvrbc","y":"u3IQXnCFVg4iknY_ufWHdjRsyN557p2cPF3sdY-tAPI"},"attributes":{"enabled":true,"created":1580374789,"updated":1580374789,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -2014,7 +2014,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:45:09 GMT + - Thu, 30 Jan 2020 08:59:54 GMT expires: - '-1' pragma: @@ -2060,7 +2060,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/create?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/e6e6150c3c3f4cc6831c7aa9d1332ef1","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zfQI-ag74MSCvJvJ24PkjhX2UVh-fwVk5BSionuNtm69KOrSsKfpf67c3RhaxYzjJFLZaqWQoYtFDI0ZNT1QgamuLC8Ut9pksuCkEek0csSyITpeEXQNXybUvivHpqyq5hqDGESZp9Y7mbZgioV_Z3ENPtyQsgnOWFDY3jpZtA7n6Zfm5iP4qBJjN3XZmWR0OUlvXUATG-gZGA88-FcdF2ASZMltt2S_hfUX0sCM0PiGXPM3zSxVJx5xn4Sjk_yOWqw9yh1A7N-WlpvXdtQX6EjAVoxJNBhXrkDvyibodGcrMCcMX6Yr2kCL3x90y9pfQxc0608vVgZXz0mFov3WLw","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580373912,"updated":1580373912,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/c6528444b8594389aa3947139cfb2b14","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"m8UKXrMfoxeCpQ0jRblqbrUxz5HarU2UfBPvkdHvI0wjvGmiqj0_a-C_-JVyhmVXcnWKGGXlcPP2esL5iHWfo-uJ7LlFWSVTiky8BDFqgQvcecu8ODMsPnDIDhs66M8ut2x7fF_Mz33kRZqQGOAxse4h2eBbku0DiZSLlnQMqC01y979LVjZyw9jIzU_YV17RY0GsHv20yeN12QS8Twi1DV3mtU_YzsWCJVYuRvJvfJgerHJ9bPhykV7RhcNain9NOd--nDQt5gJ2mVoT_PQEVxe2sn2c6mF11QsGFLO05RZ26KOZ4UHOpoiypqybZIxLFf9ToCDC_kSUaeRUQEYtw","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580374796,"updated":1580374796,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -2069,7 +2069,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:45:12 GMT + - Thu, 30 Jan 2020 08:59:56 GMT expires: - '-1' pragma: @@ -2113,7 +2113,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/e6e6150c3c3f4cc6831c7aa9d1332ef1","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zfQI-ag74MSCvJvJ24PkjhX2UVh-fwVk5BSionuNtm69KOrSsKfpf67c3RhaxYzjJFLZaqWQoYtFDI0ZNT1QgamuLC8Ut9pksuCkEek0csSyITpeEXQNXybUvivHpqyq5hqDGESZp9Y7mbZgioV_Z3ENPtyQsgnOWFDY3jpZtA7n6Zfm5iP4qBJjN3XZmWR0OUlvXUATG-gZGA88-FcdF2ASZMltt2S_hfUX0sCM0PiGXPM3zSxVJx5xn4Sjk_yOWqw9yh1A7N-WlpvXdtQX6EjAVoxJNBhXrkDvyibodGcrMCcMX6Yr2kCL3x90y9pfQxc0608vVgZXz0mFov3WLw","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580373912,"updated":1580373912,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/c6528444b8594389aa3947139cfb2b14","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"m8UKXrMfoxeCpQ0jRblqbrUxz5HarU2UfBPvkdHvI0wjvGmiqj0_a-C_-JVyhmVXcnWKGGXlcPP2esL5iHWfo-uJ7LlFWSVTiky8BDFqgQvcecu8ODMsPnDIDhs66M8ut2x7fF_Mz33kRZqQGOAxse4h2eBbku0DiZSLlnQMqC01y979LVjZyw9jIzU_YV17RY0GsHv20yeN12QS8Twi1DV3mtU_YzsWCJVYuRvJvfJgerHJ9bPhykV7RhcNain9NOd--nDQt5gJ2mVoT_PQEVxe2sn2c6mF11QsGFLO05RZ26KOZ4UHOpoiypqybZIxLFf9ToCDC_kSUaeRUQEYtw","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580374796,"updated":1580374796,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -2122,7 +2122,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:45:14 GMT + - Thu, 30 Jan 2020 08:59:58 GMT expires: - '-1' pragma: @@ -2166,7 +2166,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/e6e6150c3c3f4cc6831c7aa9d1332ef1","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zfQI-ag74MSCvJvJ24PkjhX2UVh-fwVk5BSionuNtm69KOrSsKfpf67c3RhaxYzjJFLZaqWQoYtFDI0ZNT1QgamuLC8Ut9pksuCkEek0csSyITpeEXQNXybUvivHpqyq5hqDGESZp9Y7mbZgioV_Z3ENPtyQsgnOWFDY3jpZtA7n6Zfm5iP4qBJjN3XZmWR0OUlvXUATG-gZGA88-FcdF2ASZMltt2S_hfUX0sCM0PiGXPM3zSxVJx5xn4Sjk_yOWqw9yh1A7N-WlpvXdtQX6EjAVoxJNBhXrkDvyibodGcrMCcMX6Yr2kCL3x90y9pfQxc0608vVgZXz0mFov3WLw","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580373912,"updated":1580373912,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-2048-hsm-file/c6528444b8594389aa3947139cfb2b14","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"m8UKXrMfoxeCpQ0jRblqbrUxz5HarU2UfBPvkdHvI0wjvGmiqj0_a-C_-JVyhmVXcnWKGGXlcPP2esL5iHWfo-uJ7LlFWSVTiky8BDFqgQvcecu8ODMsPnDIDhs66M8ut2x7fF_Mz33kRZqQGOAxse4h2eBbku0DiZSLlnQMqC01y979LVjZyw9jIzU_YV17RY0GsHv20yeN12QS8Twi1DV3mtU_YzsWCJVYuRvJvfJgerHJ9bPhykV7RhcNain9NOd--nDQt5gJ2mVoT_PQEVxe2sn2c6mF11QsGFLO05RZ26KOZ4UHOpoiypqybZIxLFf9ToCDC_kSUaeRUQEYtw","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580374796,"updated":1580374796,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -2175,7 +2175,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:45:16 GMT + - Thu, 30 Jan 2020 09:00:01 GMT expires: - '-1' pragma: @@ -2221,7 +2221,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/create?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/0cd796bf0d394a9a8dcab544aec4d87c","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"4Z9T3c5sX3HEQUzqHg5Cx0-EtjzKFBRanzGGfuc_KSIk__yZyR8lHDmfms-jOQJg7iddedkz9a_lQXoMj-0faQtrbHGPw8-v9lHFwqE7Oqlmdu04SxfRiPLtrwaJyqELmHu8Dd8r_kWbSL2INylcJ1tsdyTiuL_iTMMg5wWeWV_KCarQw-Zmq6IOKFVVOlIM1kRaocSdfoZU3nre5OXFDYKLHocp8N9lcT9AlsMvIdLXi3gXFeoJv98H1P0HfnmgYxD_FIBjpwJt8aOVufz8lIpmZ3m6tICM3ymLVNOY3uZJTswJQx1CbVy2eiQs39y3800TEJ_OdmTvqx-43lMcjvt9qEAgGwEIRT75mET2W-eDadmdmc-G5nq-S6vAUXbV9LQ65loorUsvhtYTSDWY4mguqZGK3Lhdx_NcRddma1qv7PNz-oPCVLCJNbxfqArZxVzHzzSARmfnkSUR4UH3rXOAHC_VHcZgRiFrJyrKK5iSn8MG_3y5waEikC1p5Dmr","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580373920,"updated":1580373920,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/0e87754c9f854c8880a1e60ef3611727","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"poRsk03syfWxAhoRwPkjMHH-inHG5I0t8Ebi37ybQZ0IriqK7AH5JFVje16Lqq008IhJrBCQfv5B_Io6NuEe5ac4jHJQHADe2laOXxduyuI_N-frPXF4-AJ4oBHVZVtdLBOY2hw93F7pFR37ZtvifdRGKAXgeP841bArjQIyR7SWfKR906gS2hUFBM_htBPOkGfPupcn6fRfYmbU04k4r5-1AdtQNPVe8pwThMQ5AIDBtfjD_W1sT_Y6OEdmaiiGmASGCYiq6-CRWa3eVR18MvuCe30QghzEKwhlyDDzGv5ueXvFQa0oTL44b8lWfztBisGzQCsU_R6O9KZlm7QZaV4RMaxD6AqTE13wr7BgccEzu9FdXKUwNGmf8K--DyUDB5dA2AXES9TUIF-g4owfNPYfNAFbND8NlfWm21dn4j_3VqxSoi2-rRvd6dXKH1z8Cf5XX7DBb4At2SXRSeNEeU0rcxvlAf1nj9PTlll-CsPbiP_Y7TU9gJF6DI398EUR","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580374804,"updated":1580374804,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -2230,7 +2230,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:45:19 GMT + - Thu, 30 Jan 2020 09:00:04 GMT expires: - '-1' pragma: @@ -2274,7 +2274,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/0cd796bf0d394a9a8dcab544aec4d87c","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"4Z9T3c5sX3HEQUzqHg5Cx0-EtjzKFBRanzGGfuc_KSIk__yZyR8lHDmfms-jOQJg7iddedkz9a_lQXoMj-0faQtrbHGPw8-v9lHFwqE7Oqlmdu04SxfRiPLtrwaJyqELmHu8Dd8r_kWbSL2INylcJ1tsdyTiuL_iTMMg5wWeWV_KCarQw-Zmq6IOKFVVOlIM1kRaocSdfoZU3nre5OXFDYKLHocp8N9lcT9AlsMvIdLXi3gXFeoJv98H1P0HfnmgYxD_FIBjpwJt8aOVufz8lIpmZ3m6tICM3ymLVNOY3uZJTswJQx1CbVy2eiQs39y3800TEJ_OdmTvqx-43lMcjvt9qEAgGwEIRT75mET2W-eDadmdmc-G5nq-S6vAUXbV9LQ65loorUsvhtYTSDWY4mguqZGK3Lhdx_NcRddma1qv7PNz-oPCVLCJNbxfqArZxVzHzzSARmfnkSUR4UH3rXOAHC_VHcZgRiFrJyrKK5iSn8MG_3y5waEikC1p5Dmr","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580373920,"updated":1580373920,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/0e87754c9f854c8880a1e60ef3611727","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"poRsk03syfWxAhoRwPkjMHH-inHG5I0t8Ebi37ybQZ0IriqK7AH5JFVje16Lqq008IhJrBCQfv5B_Io6NuEe5ac4jHJQHADe2laOXxduyuI_N-frPXF4-AJ4oBHVZVtdLBOY2hw93F7pFR37ZtvifdRGKAXgeP841bArjQIyR7SWfKR906gS2hUFBM_htBPOkGfPupcn6fRfYmbU04k4r5-1AdtQNPVe8pwThMQ5AIDBtfjD_W1sT_Y6OEdmaiiGmASGCYiq6-CRWa3eVR18MvuCe30QghzEKwhlyDDzGv5ueXvFQa0oTL44b8lWfztBisGzQCsU_R6O9KZlm7QZaV4RMaxD6AqTE13wr7BgccEzu9FdXKUwNGmf8K--DyUDB5dA2AXES9TUIF-g4owfNPYfNAFbND8NlfWm21dn4j_3VqxSoi2-rRvd6dXKH1z8Cf5XX7DBb4At2SXRSeNEeU0rcxvlAf1nj9PTlll-CsPbiP_Y7TU9gJF6DI398EUR","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580374804,"updated":1580374804,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -2283,7 +2283,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:45:21 GMT + - Thu, 30 Jan 2020 09:00:06 GMT expires: - '-1' pragma: @@ -2327,7 +2327,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/0cd796bf0d394a9a8dcab544aec4d87c","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"4Z9T3c5sX3HEQUzqHg5Cx0-EtjzKFBRanzGGfuc_KSIk__yZyR8lHDmfms-jOQJg7iddedkz9a_lQXoMj-0faQtrbHGPw8-v9lHFwqE7Oqlmdu04SxfRiPLtrwaJyqELmHu8Dd8r_kWbSL2INylcJ1tsdyTiuL_iTMMg5wWeWV_KCarQw-Zmq6IOKFVVOlIM1kRaocSdfoZU3nre5OXFDYKLHocp8N9lcT9AlsMvIdLXi3gXFeoJv98H1P0HfnmgYxD_FIBjpwJt8aOVufz8lIpmZ3m6tICM3ymLVNOY3uZJTswJQx1CbVy2eiQs39y3800TEJ_OdmTvqx-43lMcjvt9qEAgGwEIRT75mET2W-eDadmdmc-G5nq-S6vAUXbV9LQ65loorUsvhtYTSDWY4mguqZGK3Lhdx_NcRddma1qv7PNz-oPCVLCJNbxfqArZxVzHzzSARmfnkSUR4UH3rXOAHC_VHcZgRiFrJyrKK5iSn8MG_3y5waEikC1p5Dmr","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580373920,"updated":1580373920,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-3072-hsm-file/0e87754c9f854c8880a1e60ef3611727","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"poRsk03syfWxAhoRwPkjMHH-inHG5I0t8Ebi37ybQZ0IriqK7AH5JFVje16Lqq008IhJrBCQfv5B_Io6NuEe5ac4jHJQHADe2laOXxduyuI_N-frPXF4-AJ4oBHVZVtdLBOY2hw93F7pFR37ZtvifdRGKAXgeP841bArjQIyR7SWfKR906gS2hUFBM_htBPOkGfPupcn6fRfYmbU04k4r5-1AdtQNPVe8pwThMQ5AIDBtfjD_W1sT_Y6OEdmaiiGmASGCYiq6-CRWa3eVR18MvuCe30QghzEKwhlyDDzGv5ueXvFQa0oTL44b8lWfztBisGzQCsU_R6O9KZlm7QZaV4RMaxD6AqTE13wr7BgccEzu9FdXKUwNGmf8K--DyUDB5dA2AXES9TUIF-g4owfNPYfNAFbND8NlfWm21dn4j_3VqxSoi2-rRvd6dXKH1z8Cf5XX7DBb4At2SXRSeNEeU0rcxvlAf1nj9PTlll-CsPbiP_Y7TU9gJF6DI398EUR","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580374804,"updated":1580374804,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -2336,7 +2336,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:45:23 GMT + - Thu, 30 Jan 2020 09:00:08 GMT expires: - '-1' pragma: @@ -2382,7 +2382,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/create?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/fda491ef07814f3b8f606b2f356388fa","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"pyFEYdSAHm_cos90tjCED9douwdaOcc8HkTh3zovvmiv6BgHxTLr5rdBcFzs1vvKH13VL8A2TvjX5CLLXaUlbz-L5wJMxIRR-GA2w-l8HAWrBfhoyVwn7TDNsSXvRb4_xEweSzCUlCpTeQhAqkar4aYBfck9m9WjdSE0SYYma3vKFs64e2ytCJmBdHpiGKi5E-Ub9Cf3BozjOg9edW4Br2AXKSx3Hy8nDf2Be4tcwes_CBij84F7FaUz5pRcjTmabbtmcyXGD2Jm0zELtZZ0qVQwA5ciwqcnNjVSLAN_2I-9nvGqWqqaLzSKDGkMbo6fcDVbuzBsJ0_MbIq3OdyVdIKltpwaeuf1-aD0Y9s1LrxahOVPzZeD4pKIyI91LJwrnxPGfbsbCaP_dWpbN1K975DpaUgnDtFesrGW6qpSDJhWb5-oUNfOpaB43OH9SgL_TWjGMxj4q22Xl1ZbUcKGkHjKQ6o1QNzKDspjW4Rd4Vr2UwLiAGzGiwAmHZHT6BAJpa0Uzu-WPsYF-saMV58Av-Uk_8C3S5QiGi5fsZZdSWs9V9gQc2eLiPZBJMGZDRIyRcv4Syhr6kQQeCjBxUqkCHzQjLjaei4LZnhr4RE4ND3wZNN7a8w2JO5fFl77X8As3vYnMd-WehU77sVmiPjo63S-xlptpK-bDhg0vRRbiJ0","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580373931,"updated":1580373931,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/c1286844380d460783dddff845a4130d","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"yoC1IrR_SGFy7_IzrYb1qt8SRcbRK_4NWt0rmlobs_cxUXmcejEmA6FDhbxLXq_wqflQNg14wR4gwR_uPDsATXkHJQF2xFPqYsDiSXdDUHRqK2GhGrTr-vOkZ04QHe0sAWj24Kjl92qaunER7UgOQEHVkN-U98gw2IeY4RQ4qZ6BZc1xsYlOVrLsAhZZmTJDE2ev7P7dIDD5822T3HV37vUK6Jp1WVREAA5Qo_4Bh3bSe3MYcGE2APAJj5iedHeTB8EIxY31OoYMiy7ic8PK-oMTbdtIEQURcAwxdN1VSaI_r2u2v6WV8Y7zAw_S90o6vbn7jeXPfBMByYQAdCnKQoK7P3ubx4fTqjAEJHAFDSUC0hEErEgoJAtAOxfdlgp6xoYggJxS2LlaKi3k8KlKjxXMV3TP9dDzNQkPExIiEB3Hl_Gjb-GMhhn006lbP7YwUfoQlaLtE178J4yLAGzWOKmWsAmLxoVC2AGtw7bwgcchc3JxqnQYukK7PZRQ8zQn8jCl8IbRrGEJzWjdN6J_kh2NxaUspM9JYXCL15I-AGe32Vb9AF-HTXL9WhbLSXUvJ0hXiKjGlz3TpRwbV0pJX-w87oZ00iMyK2dDAZs51w0UQVF7KEBksOo3D5y2I8fkIYW6OBL9HVUHgHDsf-S7Bc0EjRvvap6exOOH7-OM8uE","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580374813,"updated":1580374813,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -2391,7 +2391,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:45:30 GMT + - Thu, 30 Jan 2020 09:00:14 GMT expires: - '-1' pragma: @@ -2435,7 +2435,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/fda491ef07814f3b8f606b2f356388fa","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"pyFEYdSAHm_cos90tjCED9douwdaOcc8HkTh3zovvmiv6BgHxTLr5rdBcFzs1vvKH13VL8A2TvjX5CLLXaUlbz-L5wJMxIRR-GA2w-l8HAWrBfhoyVwn7TDNsSXvRb4_xEweSzCUlCpTeQhAqkar4aYBfck9m9WjdSE0SYYma3vKFs64e2ytCJmBdHpiGKi5E-Ub9Cf3BozjOg9edW4Br2AXKSx3Hy8nDf2Be4tcwes_CBij84F7FaUz5pRcjTmabbtmcyXGD2Jm0zELtZZ0qVQwA5ciwqcnNjVSLAN_2I-9nvGqWqqaLzSKDGkMbo6fcDVbuzBsJ0_MbIq3OdyVdIKltpwaeuf1-aD0Y9s1LrxahOVPzZeD4pKIyI91LJwrnxPGfbsbCaP_dWpbN1K975DpaUgnDtFesrGW6qpSDJhWb5-oUNfOpaB43OH9SgL_TWjGMxj4q22Xl1ZbUcKGkHjKQ6o1QNzKDspjW4Rd4Vr2UwLiAGzGiwAmHZHT6BAJpa0Uzu-WPsYF-saMV58Av-Uk_8C3S5QiGi5fsZZdSWs9V9gQc2eLiPZBJMGZDRIyRcv4Syhr6kQQeCjBxUqkCHzQjLjaei4LZnhr4RE4ND3wZNN7a8w2JO5fFl77X8As3vYnMd-WehU77sVmiPjo63S-xlptpK-bDhg0vRRbiJ0","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580373931,"updated":1580373931,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/c1286844380d460783dddff845a4130d","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"yoC1IrR_SGFy7_IzrYb1qt8SRcbRK_4NWt0rmlobs_cxUXmcejEmA6FDhbxLXq_wqflQNg14wR4gwR_uPDsATXkHJQF2xFPqYsDiSXdDUHRqK2GhGrTr-vOkZ04QHe0sAWj24Kjl92qaunER7UgOQEHVkN-U98gw2IeY4RQ4qZ6BZc1xsYlOVrLsAhZZmTJDE2ev7P7dIDD5822T3HV37vUK6Jp1WVREAA5Qo_4Bh3bSe3MYcGE2APAJj5iedHeTB8EIxY31OoYMiy7ic8PK-oMTbdtIEQURcAwxdN1VSaI_r2u2v6WV8Y7zAw_S90o6vbn7jeXPfBMByYQAdCnKQoK7P3ubx4fTqjAEJHAFDSUC0hEErEgoJAtAOxfdlgp6xoYggJxS2LlaKi3k8KlKjxXMV3TP9dDzNQkPExIiEB3Hl_Gjb-GMhhn006lbP7YwUfoQlaLtE178J4yLAGzWOKmWsAmLxoVC2AGtw7bwgcchc3JxqnQYukK7PZRQ8zQn8jCl8IbRrGEJzWjdN6J_kh2NxaUspM9JYXCL15I-AGe32Vb9AF-HTXL9WhbLSXUvJ0hXiKjGlz3TpRwbV0pJX-w87oZ00iMyK2dDAZs51w0UQVF7KEBksOo3D5y2I8fkIYW6OBL9HVUHgHDsf-S7Bc0EjRvvap6exOOH7-OM8uE","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580374813,"updated":1580374813,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -2444,7 +2444,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:45:45 GMT + - Thu, 30 Jan 2020 09:00:15 GMT expires: - '-1' pragma: @@ -2488,7 +2488,7 @@ interactions: uri: https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/?api-version=7.0 response: body: - string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/fda491ef07814f3b8f606b2f356388fa","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"pyFEYdSAHm_cos90tjCED9douwdaOcc8HkTh3zovvmiv6BgHxTLr5rdBcFzs1vvKH13VL8A2TvjX5CLLXaUlbz-L5wJMxIRR-GA2w-l8HAWrBfhoyVwn7TDNsSXvRb4_xEweSzCUlCpTeQhAqkar4aYBfck9m9WjdSE0SYYma3vKFs64e2ytCJmBdHpiGKi5E-Ub9Cf3BozjOg9edW4Br2AXKSx3Hy8nDf2Be4tcwes_CBij84F7FaUz5pRcjTmabbtmcyXGD2Jm0zELtZZ0qVQwA5ciwqcnNjVSLAN_2I-9nvGqWqqaLzSKDGkMbo6fcDVbuzBsJ0_MbIq3OdyVdIKltpwaeuf1-aD0Y9s1LrxahOVPzZeD4pKIyI91LJwrnxPGfbsbCaP_dWpbN1K975DpaUgnDtFesrGW6qpSDJhWb5-oUNfOpaB43OH9SgL_TWjGMxj4q22Xl1ZbUcKGkHjKQ6o1QNzKDspjW4Rd4Vr2UwLiAGzGiwAmHZHT6BAJpa0Uzu-WPsYF-saMV58Av-Uk_8C3S5QiGi5fsZZdSWs9V9gQc2eLiPZBJMGZDRIyRcv4Syhr6kQQeCjBxUqkCHzQjLjaei4LZnhr4RE4ND3wZNN7a8w2JO5fFl77X8As3vYnMd-WehU77sVmiPjo63S-xlptpK-bDhg0vRRbiJ0","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580373931,"updated":1580373931,"recoveryLevel":"Purgeable"}}' + string: '{"key":{"kid":"https://cli-test-keyvault-000002.vault.azure.net/keys/rsa-4096-hsm-file/c1286844380d460783dddff845a4130d","kty":"RSA-HSM","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"yoC1IrR_SGFy7_IzrYb1qt8SRcbRK_4NWt0rmlobs_cxUXmcejEmA6FDhbxLXq_wqflQNg14wR4gwR_uPDsATXkHJQF2xFPqYsDiSXdDUHRqK2GhGrTr-vOkZ04QHe0sAWj24Kjl92qaunER7UgOQEHVkN-U98gw2IeY4RQ4qZ6BZc1xsYlOVrLsAhZZmTJDE2ev7P7dIDD5822T3HV37vUK6Jp1WVREAA5Qo_4Bh3bSe3MYcGE2APAJj5iedHeTB8EIxY31OoYMiy7ic8PK-oMTbdtIEQURcAwxdN1VSaI_r2u2v6WV8Y7zAw_S90o6vbn7jeXPfBMByYQAdCnKQoK7P3ubx4fTqjAEJHAFDSUC0hEErEgoJAtAOxfdlgp6xoYggJxS2LlaKi3k8KlKjxXMV3TP9dDzNQkPExIiEB3Hl_Gjb-GMhhn006lbP7YwUfoQlaLtE178J4yLAGzWOKmWsAmLxoVC2AGtw7bwgcchc3JxqnQYukK7PZRQ8zQn8jCl8IbRrGEJzWjdN6J_kh2NxaUspM9JYXCL15I-AGe32Vb9AF-HTXL9WhbLSXUvJ0hXiKjGlz3TpRwbV0pJX-w87oZ00iMyK2dDAZs51w0UQVF7KEBksOo3D5y2I8fkIYW6OBL9HVUHgHDsf-S7Bc0EjRvvap6exOOH7-OM8uE","e":"AAEAAQ"},"attributes":{"enabled":true,"created":1580374813,"updated":1580374813,"recoveryLevel":"Purgeable"}}' headers: cache-control: - no-cache @@ -2497,7 +2497,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 30 Jan 2020 08:45:47 GMT + - Thu, 30 Jan 2020 09:00:17 GMT expires: - '-1' pragma: diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/test_keyvault_commands.py b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/test_keyvault_commands.py index f29f3c61b17..bc19540c892 100644 --- a/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/test_keyvault_commands.py +++ b/src/azure-cli/azure/cli/command_modules/keyvault/tests/latest/test_keyvault_commands.py @@ -296,8 +296,8 @@ def test_keyvault_key_download(self, resource_group): .format(var_name=var_name, curve_name=curve_names[ec_curve])) else: # Should be imported (Have already been generated offline) self.kwargs[var_name] = os.path.join(KEYS_DIR, key_name) - self.cmd('keyvault key import --vault-name {{kv}} -n {var_name} --pem-file "{pem_filename}"' - .format(var_name=var_name, pem_filename='{' + var_name + '}')) + self.cmd('keyvault key import --vault-name {{kv}} -n {var_name} --pem-file "{{{var_name}}}"' + .format(var_name=var_name)) der_downloaded_filename = var_name + '.der' pem_downloaded_filename = var_name + '.pem' From d35dda786d87b16e7de3aa9bf0f5d5466e60b15b Mon Sep 17 00:00:00 2001 From: Bin Ma Date: Thu, 30 Jan 2020 17:55:02 +0800 Subject: [PATCH 14/14] Remove `pylint: disable=line-too-long` --- src/azure-cli/azure/cli/command_modules/keyvault/custom.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py index 67d54905d9e..b8d3f755399 100644 --- a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py +++ b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py @@ -752,7 +752,7 @@ def _jwk_to_dict(jwk): def _extract_rsa_public_key_from_jwk(jwk_dict): - # https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L249-L254 pylint: disable=line-too-long + # https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L249-L254 e = jwk_dict.get('e', 256) n = jwk_dict.get('n') public = rsa.RSAPublicNumbers(e, n) @@ -760,7 +760,7 @@ def _extract_rsa_public_key_from_jwk(jwk_dict): def _extract_ec_public_key_from_jwk(jwk_dict): - # https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L81-L100 pylint: disable=line-too-long + # https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L81-L100 if not all(k in jwk_dict for k in ['x', 'y', 'crv']): raise CLIError('Invalid EC key: missing properties(x, y, crv)') @@ -803,7 +803,7 @@ def _to_der(k): ) def _to_pem(k): - # https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L329-L332 pylint: disable=line-too-long + # https://github.com/mpdavis/python-jose/blob/eed086d7650ccbd4ea8b555157aff3b1b99f14b9/jose/backends/cryptography_backend.py#L329-L332 return k.public_bytes( encoding=Encoding.PEM, format=PublicFormat.SubjectPublicKeyInfo