Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Side by Side Diff: third_party/tlslite/tlslite/messages.py

Issue 1636453004: Update Token Binding code to match latest draft draft-ietf-tokbind-protocol-04 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Bump TB version in tlslite Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/tlslite/patches/token_binding_negotiation.patch ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Authors: 1 # Authors:
2 # Trevor Perrin 2 # Trevor Perrin
3 # Google - handling CertificateRequest.certificate_types 3 # Google - handling CertificateRequest.certificate_types
4 # Google (adapted by Sam Rushing and Marcelo Fernandez) - NPN support 4 # Google (adapted by Sam Rushing and Marcelo Fernandez) - NPN support
5 # Dimitris Moraitis - Anon ciphersuites 5 # Dimitris Moraitis - Anon ciphersuites
6 # Yngve Pettersen (ported by Paul Sokolovsky) - TLS 1.2 6 # Yngve Pettersen (ported by Paul Sokolovsky) - TLS 1.2
7 # 7 #
8 # See the LICENSE file for legal information regarding use of this file. 8 # See the LICENSE file for legal information regarding use of this file.
9 9
10 """Classes representing TLS messages.""" 10 """Classes representing TLS messages."""
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 break 187 break
188 elif extType == ExtensionType.channel_id: 188 elif extType == ExtensionType.channel_id:
189 self.channel_id = True 189 self.channel_id = True
190 elif extType == ExtensionType.extended_master_secret: 190 elif extType == ExtensionType.extended_master_secret:
191 self.extended_master_secret = True 191 self.extended_master_secret = True
192 elif extType == ExtensionType.token_binding: 192 elif extType == ExtensionType.token_binding:
193 tokenBindingBytes = p.getFixBytes(extLength) 193 tokenBindingBytes = p.getFixBytes(extLength)
194 p2 = Parser(tokenBindingBytes) 194 p2 = Parser(tokenBindingBytes)
195 ver_minor = p2.get(1) 195 ver_minor = p2.get(1)
196 ver_major = p2.get(1) 196 ver_major = p2.get(1)
197 if (ver_major, ver_minor) >= (0, 2): 197 if (ver_major, ver_minor) >= (0, 3):
198 p2.startLengthCheck(1) 198 p2.startLengthCheck(1)
199 while not p2.atLengthCheck(): 199 while not p2.atLengthCheck():
200 self.tb_client_params.append(p2.get(1)) 200 self.tb_client_params.append(p2.get(1))
201 elif extType == ExtensionType.signed_cert_timestamps: 201 elif extType == ExtensionType.signed_cert_timestamps:
202 if extLength: 202 if extLength:
203 raise SyntaxError() 203 raise SyntaxError()
204 self.support_signed_cert_timestamps = True 204 self.support_signed_cert_timestamps = True
205 elif extType == ExtensionType.status_request: 205 elif extType == ExtensionType.status_request:
206 # Extension contents are currently ignored. 206 # Extension contents are currently ignored.
207 # According to RFC 6066, this is not strictly forbidden 207 # According to RFC 6066, this is not strictly forbidden
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 w2.add(0, 2) 375 w2.add(0, 2)
376 if self.extended_master_secret: 376 if self.extended_master_secret:
377 w2.add(ExtensionType.extended_master_secret, 2) 377 w2.add(ExtensionType.extended_master_secret, 2)
378 w2.add(0, 2) 378 w2.add(0, 2)
379 if self.tb_params: 379 if self.tb_params:
380 w2.add(ExtensionType.token_binding, 2) 380 w2.add(ExtensionType.token_binding, 2)
381 # length of extension 381 # length of extension
382 w2.add(4, 2) 382 w2.add(4, 2)
383 # version 383 # version
384 w2.add(0, 1) 384 w2.add(0, 1)
385 w2.add(2, 1) 385 w2.add(4, 1)
386 # length of params (defined as variable length <1..2^8-1>, but in 386 # length of params (defined as variable length <1..2^8-1>, but in
387 # this context the server can only send a single value. 387 # this context the server can only send a single value.
388 w2.add(1, 1) 388 w2.add(1, 1)
389 w2.add(self.tb_params, 1) 389 w2.add(self.tb_params, 1)
390 if self.signed_cert_timestamps: 390 if self.signed_cert_timestamps:
391 w2.add(ExtensionType.signed_cert_timestamps, 2) 391 w2.add(ExtensionType.signed_cert_timestamps, 2)
392 w2.addVarSeq(bytearray(self.signed_cert_timestamps), 1, 2) 392 w2.addVarSeq(bytearray(self.signed_cert_timestamps), 1, 2)
393 if self.status_request: 393 if self.status_request:
394 w2.add(ExtensionType.status_request, 2) 394 w2.add(ExtensionType.status_request, 2)
395 w2.add(0, 2) 395 w2.add(0, 2)
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after
825 newMsg = ApplicationData().create(self.bytes[:1]) 825 newMsg = ApplicationData().create(self.bytes[:1])
826 self.bytes = self.bytes[1:] 826 self.bytes = self.bytes[1:]
827 return newMsg 827 return newMsg
828 828
829 def parse(self, p): 829 def parse(self, p):
830 self.bytes = p.bytes 830 self.bytes = p.bytes
831 return self 831 return self
832 832
833 def write(self): 833 def write(self):
834 return self.bytes 834 return self.bytes
OLDNEW
« no previous file with comments | « third_party/tlslite/patches/token_binding_negotiation.patch ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698