Skip to content

Commit

Permalink
Merge pull request #753 from tlsfuzzer/more-message-skipping
Browse files Browse the repository at this point in the history
message-skipping - skip all messages but Finished
  • Loading branch information
tomato42 committed Aug 15, 2021
2 parents 811d9c1 + 0d73c61 commit 21fd652
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 0 deletions.
42 changes: 42 additions & 0 deletions scripts/test-message-skipping.py
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,48 @@ def main():
node = node.add_child(ExpectClose())
conversations["skip Finished"] = conversation

# skip all but Finished
conversation = Connect(host, port)
node = conversation
node = node.add_child(FinishedGenerator(protocol=(3, 0)))
node = node.add_child(ExpectAlert(AlertLevel.fatal,
AlertDescription.unexpected_message))
node = node.add_child(ExpectClose())
conversations["skip all but Finished in SSLv3"] = conversation

conversation = Connect(host, port, version=(3, 1))
node = conversation
node = node.add_child(FinishedGenerator(protocol=(3, 1)))
node = node.add_child(ExpectAlert(AlertLevel.fatal,
AlertDescription.unexpected_message))
node = node.add_child(ExpectClose())
conversations["skip all but Finished in TLS 1.0"] = conversation

conversation = Connect(host, port, version=(3, 2))
node = conversation
node = node.add_child(FinishedGenerator(protocol=(3, 2)))
node = node.add_child(ExpectAlert(AlertLevel.fatal,
AlertDescription.unexpected_message))
node = node.add_child(ExpectClose())
conversations["skip all but Finished in TLS 1.1"] = conversation

conversation = Connect(host, port, version=(3, 3))
node = conversation
node = node.add_child(FinishedGenerator(protocol=(3, 3)))
node = node.add_child(ExpectAlert(AlertLevel.fatal,
AlertDescription.unexpected_message))
node = node.add_child(ExpectClose())
conversations["skip all but Finished in TLS 1.2"] = conversation

# TLS 1.3 uses TLS 1.2 version on record layer level
conversation = Connect(host, port, version=(3, 3))
node = conversation
node = node.add_child(FinishedGenerator(protocol=(3, 4)))
node = node.add_child(ExpectAlert(AlertLevel.fatal,
AlertDescription.unexpected_message))
node = node.add_child(ExpectClose())
conversations["skip all but Finished in TLS 1.3"] = conversation

# run the conversation
good = 0
bad = 0
Expand Down
2 changes: 2 additions & 0 deletions tlsfuzzer/runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ def __init__(self):
self.key = {}
self.key['premaster_secret'] = bytearray(0)

self.key['client handshake traffic secret'] = bytearray(0)

# negotiated value for master secret
self.key['master_secret'] = bytearray(0)

Expand Down

0 comments on commit 21fd652

Please sign in to comment.