(out []byte)
| 773 | } |
| 774 | |
| 775 | func (hs *serverHandshakeState) sendFinished(out []byte) error { |
| 776 | c := hs.c |
| 777 | |
| 778 | if _, err := c.writeRecord(recordTypeChangeCipherSpec, []byte{1}); err != nil { |
| 779 | return err |
| 780 | } |
| 781 | |
| 782 | finished := new(finishedMsg) |
| 783 | finished.verifyData = hs.finishedHash.serverSum(hs.masterSecret) |
| 784 | hs.finishedHash.Write(finished.marshal()) |
| 785 | if _, err := c.writeRecord(recordTypeHandshake, finished.marshal()); err != nil { |
| 786 | return err |
| 787 | } |
| 788 | |
| 789 | copy(out, finished.verifyData) |
| 790 | |
| 791 | return nil |
| 792 | } |
| 793 | |
| 794 | // processCertsFromClient takes a chain of client certificates either from a |
| 795 | // Certificates message or from a sessionState and verifies them. It returns |
no test coverage detected