mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
update test_socket AEAD test for kernel 4.9 and up (#133)
This commit is contained in:
parent
23557d59b8
commit
9764c151c5
1 changed files with 7 additions and 8 deletions
|
@ -5487,7 +5487,7 @@ class LinuxKernelCryptoAPI(unittest.TestCase):
|
||||||
self.assertEqual(len(dec), msglen * multiplier)
|
self.assertEqual(len(dec), msglen * multiplier)
|
||||||
self.assertEqual(dec, msg * multiplier)
|
self.assertEqual(dec, msg * multiplier)
|
||||||
|
|
||||||
@support.requires_linux_version(4, 3) # see test_aes_cbc
|
@support.requires_linux_version(4, 9) # see issue29324
|
||||||
def test_aead_aes_gcm(self):
|
def test_aead_aes_gcm(self):
|
||||||
key = bytes.fromhex('c939cc13397c1d37de6ae0e1cb7c423c')
|
key = bytes.fromhex('c939cc13397c1d37de6ae0e1cb7c423c')
|
||||||
iv = bytes.fromhex('b3d8cc017cbb89b39e0f67e2')
|
iv = bytes.fromhex('b3d8cc017cbb89b39e0f67e2')
|
||||||
|
@ -5510,8 +5510,7 @@ class LinuxKernelCryptoAPI(unittest.TestCase):
|
||||||
op.sendmsg_afalg(op=socket.ALG_OP_ENCRYPT, iv=iv,
|
op.sendmsg_afalg(op=socket.ALG_OP_ENCRYPT, iv=iv,
|
||||||
assoclen=assoclen, flags=socket.MSG_MORE)
|
assoclen=assoclen, flags=socket.MSG_MORE)
|
||||||
op.sendall(assoc, socket.MSG_MORE)
|
op.sendall(assoc, socket.MSG_MORE)
|
||||||
op.sendall(plain, socket.MSG_MORE)
|
op.sendall(plain)
|
||||||
op.sendall(b'\x00' * taglen)
|
|
||||||
res = op.recv(assoclen + len(plain) + taglen)
|
res = op.recv(assoclen + len(plain) + taglen)
|
||||||
self.assertEqual(expected_ct, res[assoclen:-taglen])
|
self.assertEqual(expected_ct, res[assoclen:-taglen])
|
||||||
self.assertEqual(expected_tag, res[-taglen:])
|
self.assertEqual(expected_tag, res[-taglen:])
|
||||||
|
@ -5519,7 +5518,7 @@ class LinuxKernelCryptoAPI(unittest.TestCase):
|
||||||
# now with msg
|
# now with msg
|
||||||
op, _ = algo.accept()
|
op, _ = algo.accept()
|
||||||
with op:
|
with op:
|
||||||
msg = assoc + plain + b'\x00' * taglen
|
msg = assoc + plain
|
||||||
op.sendmsg_afalg([msg], op=socket.ALG_OP_ENCRYPT, iv=iv,
|
op.sendmsg_afalg([msg], op=socket.ALG_OP_ENCRYPT, iv=iv,
|
||||||
assoclen=assoclen)
|
assoclen=assoclen)
|
||||||
res = op.recv(assoclen + len(plain) + taglen)
|
res = op.recv(assoclen + len(plain) + taglen)
|
||||||
|
@ -5530,7 +5529,7 @@ class LinuxKernelCryptoAPI(unittest.TestCase):
|
||||||
pack_uint32 = struct.Struct('I').pack
|
pack_uint32 = struct.Struct('I').pack
|
||||||
op, _ = algo.accept()
|
op, _ = algo.accept()
|
||||||
with op:
|
with op:
|
||||||
msg = assoc + plain + b'\x00' * taglen
|
msg = assoc + plain
|
||||||
op.sendmsg(
|
op.sendmsg(
|
||||||
[msg],
|
[msg],
|
||||||
([socket.SOL_ALG, socket.ALG_SET_OP, pack_uint32(socket.ALG_OP_ENCRYPT)],
|
([socket.SOL_ALG, socket.ALG_SET_OP, pack_uint32(socket.ALG_OP_ENCRYPT)],
|
||||||
|
@ -5538,7 +5537,7 @@ class LinuxKernelCryptoAPI(unittest.TestCase):
|
||||||
[socket.SOL_ALG, socket.ALG_SET_AEAD_ASSOCLEN, pack_uint32(assoclen)],
|
[socket.SOL_ALG, socket.ALG_SET_AEAD_ASSOCLEN, pack_uint32(assoclen)],
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
res = op.recv(len(msg))
|
res = op.recv(len(msg) + taglen)
|
||||||
self.assertEqual(expected_ct, res[assoclen:-taglen])
|
self.assertEqual(expected_ct, res[assoclen:-taglen])
|
||||||
self.assertEqual(expected_tag, res[-taglen:])
|
self.assertEqual(expected_tag, res[-taglen:])
|
||||||
|
|
||||||
|
@ -5548,8 +5547,8 @@ class LinuxKernelCryptoAPI(unittest.TestCase):
|
||||||
msg = assoc + expected_ct + expected_tag
|
msg = assoc + expected_ct + expected_tag
|
||||||
op.sendmsg_afalg([msg], op=socket.ALG_OP_DECRYPT, iv=iv,
|
op.sendmsg_afalg([msg], op=socket.ALG_OP_DECRYPT, iv=iv,
|
||||||
assoclen=assoclen)
|
assoclen=assoclen)
|
||||||
res = op.recv(len(msg))
|
res = op.recv(len(msg) - taglen)
|
||||||
self.assertEqual(plain, res[assoclen:-taglen])
|
self.assertEqual(plain, res[assoclen:])
|
||||||
|
|
||||||
@support.requires_linux_version(4, 3) # see test_aes_cbc
|
@support.requires_linux_version(4, 3) # see test_aes_cbc
|
||||||
def test_drbg_pr_sha256(self):
|
def test_drbg_pr_sha256(self):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue