<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head><body lang="EN-IN" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Dear openssl team,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">                While migrating from 1.0.2 to 3.0,  we found that DH_generate_key() has be deprecated. And as per the man page, it is advised to use
<a href="https://www.openssl.org/docs/manmaster/man3/EVP_PKEY_derive_init.html">EVP_PKEY_derive_init</a>  &
<a href="https://www.openssl.org/docs/manmaster/man3/EVP_PKEY_derive.html">EVP_PKEY_derive</a><o:p></o:p></p>
<p class="MsoNormal">our application creates a new DH and using DH_generate_key() creates pub_key/priv_key and uses it. how can we replace this exactly with EVP.<o:p></o:p></p>
<p class="MsoNormal">And please suggest what EVP API’s should we use to generate pub/priv keys ?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><u>Application code<o:p></o:p></u></p>
<p class="MsoNormal"><u><o:p><span style="text-decoration:none"> </span></o:p></u></p>
<p class="MsoNormal">    dh = DH_new();<o:p></o:p></p>
<p class="MsoNormal">    dh->p = BN_bin2bn(modSize, octet_len, NULL);<o:p></o:p></p>
<p class="MsoNormal">    dh->g = BN_bin2bn(H235Bits_generator, H235Bits_generator_len / 8, NULL);<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    if ( ! DH_generate_key(dh) )<o:p></o:p></p>
<p class="MsoNormal">    {<o:p></o:p></p>
<p class="MsoNormal">        return FAILURE;<o:p></o:p></p>
<p class="MsoNormal">    }<o:p></o:p></p>
<p class="MsoNormal">    n = (unsigned) BN_num_bytes(dh<span style="background:yellow;mso-highlight:yellow">->pub_key</span>);<o:p></o:p></p>
<p class="MsoNormal">   <o:p></o:p></p>
<p class="MsoNormal">    BN_bn2bin(dh->pub_key, p);<o:p></o:p></p>
<p class="MsoNormal">    n = (unsigned) BN_num_bytes(dh-><span style="background:yellow;mso-highlight:yellow">priv_key</span>);<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Instead above logic can we do this ? is derive generated pub/priv keys ?
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">//create ctx<o:p></o:p></p>
<p class="MsoNormal">Ctx = EVP_PKEY_CTX_new_from_name (NULL, “DM”, NULL);<o:p></o:p></p>
<p class="MsoNormal">EVP_PKEY_derive_init (ctx)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Regards,<o:p></o:p></p>
<p class="MsoNormal">Sunil<o:p></o:p></p>
</div>


<br><br><span style="font-family:Arial; Font-size:8.0pt"> <hr> Notice: This e-mail together with any attachments may contain information of Ribbon Communications Inc. that is confidential and/or proprietary for the sole use of the intended recipient.  Any review, disclosure, reliance or distribution by others or forwarding without express permission is strictly prohibited.  If you are not the intended recipient, please notify the sender immediately and then delete all copies, including any attachments.<hr> </span></body></html>