<div dir="ltr"><div class="gmail-gE gmail-iv gmail-gt" style="padding:20px 0px 0px;font-size:0.875rem;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif"><table cellpadding="0" class="gmail-cf gmail-gJ" style="border-collapse:collapse;margin-top:0px;width:auto;font-size:0.875rem;letter-spacing:0.2px;display:block"><tbody style="display:block"></tbody></table></div><div id="gmail-:18p" style="font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:medium"><div class="gmail-qQVYZb"></div><div class="gmail-utdU2e"></div><div class="gmail-lQs8Hd"></div><div class="gmail-btm"></div></div><div class="gmail-" style="font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:medium"><div class="gmail-aHl" style=""></div><div id="gmail-:172" tabindex="-1"></div><div id="gmail-:18q" class="gmail-ii gmail-gt" style="font-size:0.875rem;direction:ltr;margin:8px 0px 0px;padding:0px"><div id="gmail-:171" class="gmail-a3s gmail-aXjCH" style="overflow:hidden;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:small;line-height:1.5;font-family:Arial,Helvetica,sans-serif"><div dir="ltr">Hi All,<div><br></div><div>While writing the engine implementation for private key encryption and decryption, I need to get the private key from external source. ENGINE_set_load_privkey_function(e, load_tpm_private_key).</div><div>Above API is success. RSA structure is as below.</div><div><br></div><div>RSA_METHOD my_rsa_struct = {<br></div></div></div></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail-" style="font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:medium"><div class="gmail-ii gmail-gt" style="font-size:0.875rem;margin:8px 0px 0px;padding:0px"><div class="gmail-a3s gmail-aXjCH" style="overflow:hidden;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:small;line-height:1.5;font-family:Arial,Helvetica,sans-serif"><div><div>"MY RSA method",</div></div></div></div></div><div class="gmail-" style="font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:medium"><div class="gmail-ii gmail-gt" style="font-size:0.875rem;margin:8px 0px 0px;padding:0px"><div class="gmail-a3s gmail-aXjCH" style="overflow:hidden;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:small;line-height:1.5;font-family:Arial,Helvetica,sans-serif"><div><div> NULL,</div></div></div></div></div><div class="gmail-" style="font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:medium"><div class="gmail-ii gmail-gt" style="font-size:0.875rem;margin:8px 0px 0px;padding:0px"><div class="gmail-a3s gmail-aXjCH" style="overflow:hidden;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:small;line-height:1.5;font-family:Arial,Helvetica,sans-serif"><div><div> NULL,</div></div></div></div></div><div class="gmail-" style="font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:medium"><div class="gmail-ii gmail-gt" style="font-size:0.875rem;margin:8px 0px 0px;padding:0px"><div class="gmail-a3s gmail-aXjCH" style="overflow:hidden;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:small;line-height:1.5;font-family:Arial,Helvetica,sans-serif"><div><div> MyRSAPrivEnc,</div></div></div></div></div><div class="gmail-" style="font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:medium"><div class="gmail-ii gmail-gt" style="font-size:0.875rem;margin:8px 0px 0px;padding:0px"><div class="gmail-a3s gmail-aXjCH" style="overflow:hidden;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:small;line-height:1.5;font-family:Arial,Helvetica,sans-serif"><div><div> MyRSAPrivDec,</div></div></div></div></div><div class="gmail-" style="font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:medium"><div class="gmail-ii gmail-gt" style="font-size:0.875rem;margin:8px 0px 0px;padding:0px"><div class="gmail-a3s gmail-aXjCH" style="overflow:hidden;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:small;line-height:1.5;font-family:Arial,Helvetica,sans-serif"><div><div> NULL, </div></div></div></div></div><div class="gmail-" style="font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:medium"><div class="gmail-ii gmail-gt" style="font-size:0.875rem;margin:8px 0px 0px;padding:0px"><div class="gmail-a3s gmail-aXjCH" style="overflow:hidden;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:small;line-height:1.5;font-family:Arial,Helvetica,sans-serif"><div><div> NULL,</div></div></div></div></div><div class="gmail-" style="font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:medium"><div class="gmail-ii gmail-gt" style="font-size:0.875rem;margin:8px 0px 0px;padding:0px"><div class="gmail-a3s gmail-aXjCH" style="overflow:hidden;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:small;line-height:1.5;font-family:Arial,Helvetica,sans-serif"><div><div> NULL, </div></div></div></div></div><div class="gmail-" style="font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:medium"><div class="gmail-ii gmail-gt" style="font-size:0.875rem;margin:8px 0px 0px;padding:0px"><div class="gmail-a3s gmail-aXjCH" style="overflow:hidden;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:small;line-height:1.5;font-family:Arial,Helvetica,sans-serif"><div><div> NULL,</div></div></div></div></div><div class="gmail-" style="font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:medium"><div class="gmail-ii gmail-gt" style="font-size:0.875rem;margin:8px 0px 0px;padding:0px"><div class="gmail-a3s gmail-aXjCH" style="overflow:hidden;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:small;line-height:1.5;font-family:Arial,Helvetica,sans-serif"><div><div> 0, </div></div></div></div></div><div class="gmail-" style="font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:medium"><div class="gmail-ii gmail-gt" style="font-size:0.875rem;margin:8px 0px 0px;padding:0px"><div class="gmail-a3s gmail-aXjCH" style="overflow:hidden;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:small;line-height:1.5;font-family:Arial,Helvetica,sans-serif"><div><div> NULL,</div></div></div></div></div><div class="gmail-" style="font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:medium"><div class="gmail-ii gmail-gt" style="font-size:0.875rem;margin:8px 0px 0px;padding:0px"><div class="gmail-a3s gmail-aXjCH" style="overflow:hidden;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:small;line-height:1.5;font-family:Arial,Helvetica,sans-serif"><div><div> NULL,</div></div></div></div></div><div class="gmail-" style="font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:medium"><div class="gmail-ii gmail-gt" style="font-size:0.875rem;margin:8px 0px 0px;padding:0px"><div class="gmail-a3s gmail-aXjCH" style="overflow:hidden;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:small;line-height:1.5;font-family:Arial,Helvetica,sans-serif"><div><div> NULL,</div></div></div></div></div><div class="gmail-" style="font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:medium"><div class="gmail-ii gmail-gt" style="font-size:0.875rem;margin:8px 0px 0px;padding:0px"><div class="gmail-a3s gmail-aXjCH" style="overflow:hidden;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:small;line-height:1.5;font-family:Arial,Helvetica,sans-serif"><div><div> NULL</div></div></div></div></div></blockquote><div class="gmail-" style="font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:medium"><div class="gmail-ii gmail-gt" style="font-size:0.875rem;direction:ltr;margin:8px 0px 0px;padding:0px"><div class="gmail-a3s gmail-aXjCH" style="overflow:hidden;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:small;line-height:1.5;font-family:Arial,Helvetica,sans-serif"><div dir="ltr"><div>};<br></div><div><br></div><div>However, the routine load_tpm_private_key  does not get invoked during private key encryption and decryption. Private key encryption and decryption gets routed to the above overloaded routines namely " MyRSAPrivEnc " and " MyRSAPrivDec". But  load_tpm_private_key never gets invoked.  Is there a flag  to force the same ? I have tried it using openssl 1.0.2 version. All other engine calls work as expected, but not this one. </div><div><br></div><div>We have also tried to debug in ENGINE_load_private_key in eng_pkey.c file. We do not see this function getting invoked. In this function, the private key callback set above gets invoked.</div><div> </div><div>Please suggest if we are missing something here.</div><div><br></div><div>Regards,</div><div>Jayalakshmi</div><div><br></div><div><br></div></div></div></div></div></div>