PySecretHandshake
PySecretHandshake copied to clipboard
First draft of tests based on test-secret-handshake.
Implements GH-1 (using submodules instead of installing a package, but it's a detail)
There are still some missing parts, but I can't figure out how to use some of the test vectors.
Namely:
- clientVerifyChallenge, serverVerifyAuth, clientVerifyAccept: raise exceptions (possibly related to the hardcoded zeroed nonces?)
- serverCreateAccept: result is an opaque string and doesn't match (need to seed the RNG?)
- clientVerifyChallenge: sometimes raises
AttributeError: 'SHSClientCrypto' object has no attribute 'remote_ephemeral_key'; I'm probably not restoring the state properly, but can't find how - clean: the resulting state is randomized, so there is no way to test it
There are also a bunch of FIXME comments.
Exhaustive test results
=================================================================================================== short test summary info ====================================================================================================
FAILED secret_handshake/test_packets.py::test_all[clientVerifyChallenge0] - secret_handshake.crypto.SHSError: Error decrypting server acceptance message
FAILED secret_handshake/test_packets.py::test_all[serverVerifyAuth0] - nacl.exceptions.CryptoError: An error occurred trying to decrypt the message
FAILED secret_handshake/test_packets.py::test_all[serverCreateAccept0] - AssertionError: assert '2a0d09a2f11d41512f360b55f3a73e7263d33bd5e500e919916c3496ac8dd0b58c9faadd159fb503e86da1adea580484583c03c971b15469876059c820fb...
FAILED secret_handshake/test_packets.py::test_all[clean0] - AssertionError: assert {'app_key': '291356d28154da68e8a9ee4fed71497c0a67d121a41b544d7a6157e76e0df5bc',\n 'local': {'app_mac': 'cbb21c28c30588794b69a1257b450d15ac...
FAILED secret_handshake/test_packets.py::test_all[clientVerifyAccept0] - secret_handshake.crypto.SHSError: Error decrypting server acceptance message
FAILED secret_handshake/test_packets.py::test_all[clean1] - AssertionError: assert {'app_key': '291356d28154da68e8a9ee4fed71497c0a67d121a41b544d7a6157e76e0df5bc',\n 'local': {'app_mac': '35557d683c8768df41bd740588ae98a6af...
FAILED secret_handshake/test_packets.py::test_all[clientVerifyChallenge1] - AttributeError: 'SHSClientCrypto' object has no attribute 'remote_ephemeral_key'
FAILED secret_handshake/test_packets.py::test_all[clientVerifyChallenge2] - AttributeError: 'SHSClientCrypto' object has no attribute 'remote_ephemeral_key'
FAILED secret_handshake/test_packets.py::test_all[clientVerifyChallenge3] - secret_handshake.crypto.SHSError: Error decrypting server acceptance message
FAILED secret_handshake/test_packets.py::test_all[serverVerifyAuth1] - nacl.exceptions.CryptoError: An error occurred trying to decrypt the message
FAILED secret_handshake/test_packets.py::test_all[clientVerifyChallenge4] - secret_handshake.crypto.SHSError: Error decrypting server acceptance message
FAILED secret_handshake/test_packets.py::test_all[serverVerifyAuth2] - KeyError: 'hello'
FAILED secret_handshake/test_packets.py::test_all[clientVerifyChallenge5] - secret_handshake.crypto.SHSError: Error decrypting server acceptance message
FAILED secret_handshake/test_packets.py::test_all[serverVerifyAuth3] - nacl.exceptions.CryptoError: An error occurred trying to decrypt the message
FAILED secret_handshake/test_packets.py::test_all[clientVerifyChallenge6] - secret_handshake.crypto.SHSError: Error decrypting server acceptance message
FAILED secret_handshake/test_packets.py::test_all[serverVerifyAuth4] - nacl.exceptions.CryptoError: An error occurred trying to decrypt the message
FAILED secret_handshake/test_packets.py::test_all[serverCreateAccept1] - AssertionError: assert 'bd6c4ccce9ac9b97365c4252df859458863b9b614010f3a2faa3384ad1117a44e83f9b4145167608fae4873c27c2fd7021a44c69b9234d33c52c15210db8...
FAILED secret_handshake/test_packets.py::test_all[clean2] - AssertionError: assert {'app_key': '291356d28154da68e8a9ee4fed71497c0a67d121a41b544d7a6157e76e0df5bc',\n 'local': {'app_mac': 'fe073362eeb287f42c6ab1e52f3b4e9d83...
FAILED secret_handshake/test_packets.py::test_all[clientVerifyAccept1] - secret_handshake.crypto.SHSError: Error decrypting server acceptance message
FAILED secret_handshake/test_packets.py::test_all[clean3] - AssertionError: assert {'app_key': '291356d28154da68e8a9ee4fed71497c0a67d121a41b544d7a6157e76e0df5bc',\n 'local': {'app_mac': '9379c0b59dde0475be8f266763cdfb847c...
FAILED secret_handshake/test_packets.py::test_all[clientVerifyChallenge7] - secret_handshake.crypto.SHSError: Error decrypting server acceptance message
FAILED secret_handshake/test_packets.py::test_all[serverVerifyAuth5] - nacl.exceptions.CryptoError: An error occurred trying to decrypt the message
FAILED secret_handshake/test_packets.py::test_all[serverCreateAccept2] - AssertionError: assert '7dbb52f89b089c838b65954275d681de696d0dd1c60afe5e1281aa54d8f4cbeaf19072b70afb8e7c8dc3413106b221f6373a7c6615cf2b5346496bb9597c...
FAILED secret_handshake/test_packets.py::test_all[clean4] - AssertionError: assert {'app_key': '291356d28154da68e8a9ee4fed71497c0a67d121a41b544d7a6157e76e0df5bc',\n 'local': {'app_mac': '8599b4218c3d036adeb92cc033e7bb1150...
FAILED secret_handshake/test_packets.py::test_all[clientVerifyAccept2] - secret_handshake.crypto.SHSError: Error decrypting server acceptance message
FAILED secret_handshake/test_packets.py::test_all[clean5] - AssertionError: assert {'app_key': '291356d28154da68e8a9ee4fed71497c0a67d121a41b544d7a6157e76e0df5bc',\n 'local': {'app_mac': '95531d23df8b214cd021253f28a690a7f0...
FAILED secret_handshake/test_packets.py::test_all[clientVerifyChallenge8] - secret_handshake.crypto.SHSError: Error decrypting server acceptance message
FAILED secret_handshake/test_packets.py::test_all[serverVerifyAuth6] - nacl.exceptions.CryptoError: An error occurred trying to decrypt the message
FAILED secret_handshake/test_packets.py::test_all[clientVerifyChallenge9] - secret_handshake.crypto.SHSError: Error decrypting server acceptance message
FAILED secret_handshake/test_packets.py::test_all[serverVerifyAuth7] - nacl.exceptions.CryptoError: An error occurred trying to decrypt the message
FAILED secret_handshake/test_packets.py::test_all[serverCreateAccept3] - AssertionError: assert '9a56f176f3619ab9dee2f7bdf03234567907fb509c6425919ac01be3a0fd811343723c3e3579630b3f44920625931b092eeac8d1013b0bc0707bdb712cd5...
FAILED secret_handshake/test_packets.py::test_all[clean6] - AssertionError: assert {'app_key': 'b68a48ae57a2da3442e004bdd4209e562246d619b939f2078c733a275110806e',\n 'local': {'app_mac': '8e8087bea8e13c9eab452b3352d6b589b2...
FAILED secret_handshake/test_packets.py::test_all[clientVerifyAccept3] - secret_handshake.crypto.SHSError: Error decrypting server acceptance message
FAILED secret_handshake/test_packets.py::test_all[clean7] - AssertionError: assert {'app_key': 'b68a48ae57a2da3442e004bdd4209e562246d619b939f2078c733a275110806e',\n 'local': {'app_mac': '2e6bb016b1e64096c12ff813db57fe2a87...
FAILED secret_handshake/test_packets.py::test_all[clientVerifyChallenge10] - secret_handshake.crypto.SHSError: Error decrypting server acceptance message
FAILED secret_handshake/test_packets.py::test_all[serverVerifyAuth8] - nacl.exceptions.CryptoError: An error occurred trying to decrypt the message
FAILED secret_handshake/test_packets.py::test_all[serverCreateAccept4] - AssertionError: assert '2cf4cf8805504a3b6ff872e55a8c9d1f25748b247e3b43b71a38dd96464d0fddb13edff4f9e49a33bb36f772a643b34db68fae3dfccad8bdc23e83308981...
FAILED secret_handshake/test_packets.py::test_all[clean8] - AssertionError: assert {'app_key': 'b68a48ae57a2da3442e004bdd4209e562246d619b939f2078c733a275110806e',\n 'local': {'app_mac': '711c100e21e02e82bbc45a0530cc075d3f...
FAILED secret_handshake/test_packets.py::test_all[clientVerifyAccept4] - secret_handshake.crypto.SHSError: Error decrypting server acceptance message
FAILED secret_handshake/test_packets.py::test_all[clean9] - AssertionError: assert {'app_key': 'b68a48ae57a2da3442e004bdd4209e562246d619b939f2078c733a275110806e',\n 'local': {'app_mac': '8213f07a3a5a5427f45beb488c6085e530...
FAILED secret_handshake/test_packets.py::test_all[clientVerifyChallenge11] - secret_handshake.crypto.SHSError: Error decrypting server acceptance message
FAILED secret_handshake/test_packets.py::test_all[serverVerifyAuth9] - nacl.exceptions.CryptoError: An error occurred trying to decrypt the message
FAILED secret_handshake/test_packets.py::test_all[clientVerifyChallenge12] - secret_handshake.crypto.SHSError: Error decrypting server acceptance message
FAILED secret_handshake/test_packets.py::test_all[serverVerifyAuth10] - nacl.exceptions.CryptoError: An error occurred trying to decrypt the message
FAILED secret_handshake/test_packets.py::test_all[clientVerifyChallenge13] - secret_handshake.crypto.SHSError: Error decrypting server acceptance message
FAILED secret_handshake/test_packets.py::test_all[serverVerifyAuth11] - nacl.exceptions.CryptoError: An error occurred trying to decrypt the message
FAILED secret_handshake/test_packets.py::test_all[serverCreateAccept5] - AssertionError: assert '6cb2989f97201ccd810d738ef2b76f161a1d5c7253fb84ebc69f04cee5ccaad7be1723c923f747d97630e6adfec68eee33096b3f50bb7bdec6994e0d3192...
FAILED secret_handshake/test_packets.py::test_all[clean10] - AssertionError: assert {'app_key': 'b68a48ae57a2da3442e004bdd4209e562246d619b939f2078c733a275110806e',\n 'local': {'app_mac': '296212cfdd5b384f3cb7151986fe51086...
FAILED secret_handshake/test_packets.py::test_all[clientVerifyAccept5] - secret_handshake.crypto.SHSError: Error decrypting server acceptance message
FAILED secret_handshake/test_packets.py::test_all[clean11] - AssertionError: assert {'app_key': 'b68a48ae57a2da3442e004bdd4209e562246d619b939f2078c733a275110806e',\n 'local': {'app_mac': 'b4db803c02f166ac13cf84f93694125f9...
================================================================================================ 50 failed, 109 passed in 2.18s ================================================================================================