Encode pubkey in validators
Follow up change for py2->py3 migration. The pubkey must be encoded in order to avoid 'data must be bytes-like' error. The key is a type of str which in py2 meant bytes, however, in py3 it's just string. Therefore the pubkey must be encoded before it's passed to load_ssh_public_key which requires bytes-like data. Change-Id: I943438a59923bd9c4e9dd38058020e49fd2f3d24
This commit is contained in:
parent
bbbe1f525b
commit
476f4ce243
@ -126,8 +126,14 @@ class TestResultValidator(BaseValidator):
|
||||
raise api_exc.ValidationError('Malformed signature', e)
|
||||
|
||||
try:
|
||||
pubkey = request.headers.get('X-Public-Key', '')
|
||||
try:
|
||||
pubkey.encode('utf-8')
|
||||
except AttributeError:
|
||||
# it's already in bytes
|
||||
pass
|
||||
key = load_ssh_public_key(
|
||||
request.headers.get('X-Public-Key', ''),
|
||||
pubkey,
|
||||
backend=backends.default_backend()
|
||||
)
|
||||
except (binascii.Error, ValueError) as e:
|
||||
|
Loading…
x
Reference in New Issue
Block a user