<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;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        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">Hi ,<o:p></o:p></p>
<p class="MsoNormal">                We are porting our Application from  openssl 1.0.1 to openssl 3.0. in related to this activity we require to access the variable ‘<b>ex_kusage</b>’ pointed by
<b>X509</b><o:p></o:p></p>
<p class="MsoNormal">But there are no set utilities available to access this variable. Only  X509_get_key_usage Is available.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Our code for 1.0.1 is as below. Please suggest the right way to achieve this.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    ASN1_BIT_STRING *usage;<o:p></o:p></p>
<p class="MsoNormal">662     x509-><span style="background:yellow;mso-highlight:yellow">ex_kusage</span> = 0;<o:p></o:p></p>
<p class="MsoNormal">663<o:p></o:p></p>
<p class="MsoNormal">664     if((usage=(ASN1_BIT_STRING *)X509_get_ext_d2i(x509, NID_key_usage, NULL, NULL)))<o:p></o:p></p>
<p class="MsoNormal">665     {<o:p></o:p></p>
<p class="MsoNormal">666         if(usage->length > 0)<o:p></o:p></p>
<p class="MsoNormal">667         {<o:p></o:p></p>
<p class="MsoNormal">668             x509-><span style="background:yellow;mso-highlight:yellow">ex_kusage</span> = usage->data[0];<o:p></o:p></p>
<p class="MsoNormal">669             if(usage->length > 1)<o:p></o:p></p>
<p class="MsoNormal">670                 x509->ex_kusage |= usage->data[1] << 8;<o:p></o:p></p>
<p class="MsoNormal">671         }<o:p></o:p></p>
<p class="MsoNormal">672         else<o:p></o:p></p>
<p class="MsoNormal">673             x509-><span style="background:yellow;mso-highlight:yellow">ex_kusage</span> = 0;<o:p></o:p></p>
<p class="MsoNormal">674         ASN1_BIT_STRING_free(usage);<o:p></o:p></p>
<p class="MsoNormal">675     }<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>