void ParseContentForRecords(byte [] bContent) { Messages.Clear(); uint nIndexAt = 0; while (nIndexAt < bContent.Length) // Read all the sub records of type ContentType in this TLSRecord { if (ContentType == TLSContentType.Handshake) { // Determine next handshake step TLSHandShakeMessage msg = new TLSHandShakeMessage(); uint nRead = msg.ReadFromArray(bContent, (int)nIndexAt); if (nRead == 0) { break; } Messages.Add(msg); nIndexAt += nRead; } else if (ContentType == TLSContentType.Alert) { TLSAlertMessage msg = new TLSAlertMessage(); uint nRead = msg.ReadFromArray(bContent, (int)nIndexAt); if (nRead == 0) { break; } Messages.Add(msg); nIndexAt += nRead; } else if (ContentType == TLSContentType.ChangeCipherSpec) { TLSChangeCipherSpecMessage msg = new TLSChangeCipherSpecMessage(); uint nRead = msg.ReadFromArray(bContent, (int)nIndexAt); if (nRead == 0) { break; } Messages.Add(msg); nIndexAt += nRead; } else if (ContentType == TLSContentType.Application) { // decrypt, add to ApplicationDataReturned TLSApplicationMessage msg = new TLSApplicationMessage(); uint nRead = msg.ReadFromArray(bContent, (int)nIndexAt); if (nRead == 0) { break; } Messages.Add(msg); nIndexAt += nRead; } else { break; } } }
void ParseContentForRecords(byte [] bContent) { Messages.Clear(); uint nIndexAt = 0; while (nIndexAt < bContent.Length) // Read all the sub records of type ContentType in this TLSRecord { if (ContentType == TLSContentType.Handshake) { // Determine next handshake step TLSHandShakeMessage msg = new TLSHandShakeMessage(); uint nRead = msg.ReadFromArray(bContent, (int)nIndexAt); if (nRead == 0) break; Messages.Add(msg); nIndexAt += nRead; } else if (ContentType == TLSContentType.Alert) { TLSAlertMessage msg = new TLSAlertMessage(); uint nRead = msg.ReadFromArray(bContent, (int)nIndexAt); if (nRead == 0) break; Messages.Add(msg); nIndexAt += nRead; } else if (ContentType == TLSContentType.ChangeCipherSpec) { TLSChangeCipherSpecMessage msg = new TLSChangeCipherSpecMessage(); uint nRead = msg.ReadFromArray(bContent, (int)nIndexAt); if (nRead == 0) break; Messages.Add(msg); nIndexAt += nRead; } else if (ContentType == TLSContentType.Application) { // decrypt, add to ApplicationDataReturned TLSApplicationMessage msg = new TLSApplicationMessage(); uint nRead = msg.ReadFromArray(bContent, (int)nIndexAt); if (nRead == 0) break; Messages.Add(msg); nIndexAt += nRead; } else break; } }