send client key exchange
| 874 | |
| 875 | // send client key exchange |
| 876 | void sendClientKeyExchange(SSL& ssl, BufferOutput buffer) |
| 877 | { |
| 878 | ssl.verifyState(serverHelloDoneComplete); |
| 879 | if (ssl.GetError()) return; |
| 880 | |
| 881 | ClientKeyExchange ck(ssl); |
| 882 | ck.build(ssl); |
| 883 | ssl.makeMasterSecret(); |
| 884 | |
| 885 | RecordLayerHeader rlHeader; |
| 886 | HandShakeHeader hsHeader; |
| 887 | mySTL::auto_ptr<output_buffer> out(NEW_YS output_buffer); |
| 888 | buildHeaders(ssl, hsHeader, rlHeader, ck); |
| 889 | buildOutput(*out.get(), rlHeader, hsHeader, ck); |
| 890 | hashHandShake(ssl, *out.get()); |
| 891 | |
| 892 | if (buffer == buffered) |
| 893 | ssl.addBuffer(out.release()); |
| 894 | else |
| 895 | ssl.Send(out->get_buffer(), out->get_size()); |
| 896 | } |
| 897 | |
| 898 | |
| 899 | // send server key exchange |
no test coverage detected