<div dir="ltr"><br><div>Comic Sans. Need I say more?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 26, 2017 at 4:53 AM, Sai Teja Chowdary <span dir="ltr"><<a href="mailto:asteja.chowdary.ece13@itbhu.ac.in" target="_blank">asteja.chowdary.ece13@itbhu.ac.in</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="#954F72"><div class="m_-5341818065994383041WordSection1"><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">Hi,<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS""><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">Happy Holidays everyone.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS""><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">I want to send client certificate, client key exchange and client verify in a single handshake message which appears as multiple handshake messages in a single record. But to sent the client verify I need to first make a hash of previous messages(client certificate and client key exchange) to create the signature.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS""><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">Can anyone help me to find the function in OpenSSL 1.1.1-dev  xx XXX xxxx (or right procedure that needs to be done before creating a certificate verify message)that can do a proper transcript(digest or hash not clear). I tried using <b>ssl3_finish_mac() </b>on the message containing client certificate and client key exchange and then tried to generate the signature in certificate verify message.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">But it is giving me a digest error. I am new to the mailing list want a bit of help to proceed forward stuck here. Please reply in case if anything is not clear.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS""><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">Here is a code snippet, how I am forming the data containing all client certificate , client key exchange and certificate verify messages inside write_state_machine().<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS""><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">if(WPACKET_init(&pkt, s->init_buf)){<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">//Client certificate formation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">             if(!ssl_set_handshake_header(<wbr>s,&pkt,mt) || confunc != NULL && !confunc(s,&pkt) ||          !ssl_close_construct_packet(s,<wbr>&pkt,mt)){<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">                  printf("<wbr>PROBLEM\n");<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">                }<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">             transition(s);  //transition to next state i.e client key exchange<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS""><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">             get_construct_message_f(s, &pkt, &confunc, &mt);<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">//client key exchange formation<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">             if(!ssl_set_handshake_<wbr>header(s,&pkt,mt) || confunc != NULL && !confunc(s,&pkt) ||         !ssl_close_construct_packet(s,<wbr>&pkt,mt)){<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">                   printf("AGAIN A PROBLEMO\n");<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">                }<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS""><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">//ssl3_finish_mac(s, &s->init_buf->data[s->init_<wbr>off], s->init_num);<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">             st->write_state_work = post_work(s, st->write_state_work);<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">             transition(s);  // transition to next state i.e  certificate verify<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS""><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">             get_construct_message_f(s, &pkt, &confunc, &mt);<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">//certificate verify message formation.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">             if(!ssl_set_handshake_header(<wbr>s,&pkt,mt) || confunc != NULL && !confunc(s,&pkt) ||                                          !ssl_close_construct_packet(s,<wbr>&pkt,mt)){<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">                   printf("AGAIN A PROBLEMO\n");<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">                }<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">             WPACKET_finish(&pkt);<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS""><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS""><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS"">Please take a look at it, appreciate every bit of help.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Comic Sans MS""><u></u> <u></u></span></p><p class="MsoNormal">Regards,<u></u><u></u></p><p class="MsoNormal">Saiteja</p><p class="MsoNormal"><u></u> <u></u></p></div></div><br>--<br>
openssl-users mailing list<br>
To unsubscribe: <a href="https://mta.openssl.org/mailman/listinfo/openssl-users" rel="noreferrer" target="_blank">https://mta.openssl.org/<wbr>mailman/listinfo/openssl-users</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr">"Well," Brahma said, "even after ten thousand explanations, a fool is no wiser, but an intelligent person requires only two thousand five hundred."<div><br>- The Mahābhārata</div></div></div></div></div>
</div>