<div dir="ltr">Okay so I have been trying to store session details in a file, haven't used BIO for now, but I guess my present method should work fine.<br>This is on the server side - <br><br><br><div>        FILE * filePtr;</div><div>        char fileString[128];</div><div>        sprintf(fileString, "/home/session_id");</div><div><br></div><div>        if ((filePtr = fopen(fileString,  "r")) != NULL)</div><div>        {</div><div>            session = PEM_read_SSL_SESSION(filePtr, NULL, NULL, NULL);</div><div>            int added =0;</div><div>            added = SSL_CTX_add_session(ctx, session);</div><div>            printf("\n::: %d :::\n", added);  /* it is returning 1 always which means that it succeeds */</div><div><br></div><div>            fclose(filePtr);</div><div>        }</div><div><br></div><div>        ssl = SSL_new(ctx);</div><div>        SSL_set_fd(ssl, clntfd);</div><div>        SSL_accept(ssl);</div><div>       </div><div> <br></div><div>        session = SSL_get1_session(ssl);</div><div>        FILE* filePtr2;</div><div><br></div><div>        char fileString2[128];</div><div>        sprintf(fileString2, "/home/session_id");</div><div><br></div><div>        if ((filePtr2 = fopen(fileString2,  "r+")) != NULL)</div><div>        {</div><div>                // write the data to the file</div><div>                PEM_write_SSL_SESSION(filePtr2, session);</div><div>                // close the file</div><div>                fclose(filePtr2);</div><div>        }</div><div><br></div><div><br></div><div>Everytime a new session is negotiated, the session_id file gets updated with the new session details. I am able to write and read from a file.</div><div>This means that the session should always be re-used, even if the session gets timed-out from the internal cache, it will get loaded from the external file, and the session must always be reused. BUT THIS IS NOT HAPPENING FOR NOW.<br></div><div>Any problem in the code!? Please let me know</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Feb 27, 2016 at 8:32 PM, Shubham Chauhan <span dir="ltr"><<a href="mailto:shubham13099@iiitd.ac.in" target="_blank">shubham13099@iiitd.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 dir="ltr">great!<br>Thanks, I'll give it a try, this looks promising enough :)</div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Sat, Feb 27, 2016 at 7:42 PM, Michel <span dir="ltr"><<a href="mailto:michel.sales@free.fr" target="_blank">michel.sales@free.fr</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div lang="FR" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Hi,<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Quoting Andy  about applink : "New code should rather abstain from using above mentioned subset of OpenSSL API (whatever using FILE*)".<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">So using the bio* version instead,<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">PEM_write_bio_SSL_SESSION( bio_st*, ssl_session_st*)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">PEM_read_bio_SSL_SESSION( bio_st*, ssl_session_st**, int (char*, int, int, void*) *, void* )<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">are declared and implemented using macros as you can see in</span> <span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">include\openssl\pem.h, starting line 156<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">(or search for "PEM_read/PEM_write functions")<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">You can use them as simply as (s_server.c, s_client.c ) :<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">SSL_SESSION *sess = PEM_read_bio_SSL_SESSION( pBIO, NULL, 0, NULL );<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">PEM_write_bio_SSL_SESSION( pBIO, SSL_get_session( pSSL ) );<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">They finally call :<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">PEM_ASN1_write_bio()<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">PEM_ASN1_read_bio()<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">about which more info can be found on <a href="http://www.umich.edu/~x509/ssleay/pem_io.html" target="_blank">http://www.umich.edu/~x509/ssleay/pem_io.html</a><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Hope this helps,<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Michel<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0cm 0cm 0cm"><p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">De :</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> openssl-users [mailto:<a href="mailto:openssl-users-bounces@openssl.org" target="_blank">openssl-users-bounces@openssl.org</a>] <b>De la part de</b> Shubham Chauhan<br><b>Envoyé :</b> vendredi 26 février 2016 12:51<br><b>À :</b> <a href="mailto:openssl-users@openssl.org" target="_blank">openssl-users@openssl.org</a><br><b>Objet :</b> [openssl-users] PEM_read and write SSL_SESSION<u></u><u></u></span></p></div><span><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">If anyone is familiar with the PEM_read_SSL_SESSION and PEM_write_SSL_SESSION functions, please let me know about the arguments and the usage of these functions, in a bit detailed fashion.<u></u><u></u></p><div><div><p class="MsoNormal">It'll be really helpful.<u></u><u></u></p></div><div><p class="MsoNormal">Thanks<br clear="all"><u></u><u></u></p></div></div></div></span></div></div><br></div></div><span class="HOEnZb"><font color="#888888">--<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/mailman/listinfo/openssl-users</a><br>
<br></font></span></blockquote></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div><div dir="ltr">Regards<br>Shubham Chauhan<br>2013099<br>B.Tech CSE</div></div>
</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Regards<br>Shubham Chauhan<br>2013099<br>B.Tech CSE</div></div>
</div>