<div dir="ltr"><div>$ openssl rand -base64 48 | awk '{print "-----BEGIN SESSION TICKET KEY-----"; print; print "-----END SESSION TICKET KEY-----"}' >> ticket.key.new && cat ticket.key >> ticket.key.new && mv ticket.key.new ticket.key<br>
</div><div><br></div>There is no difference b/w binary and PEM form here, but I prefer to see config files in printable characters.<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Sep 30, 2013 at 6:50 PM, Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru" target="_blank">mdounin@mdounin.ru</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<div class="im"><br>
On Sat, Sep 28, 2013 at 10:37:39PM +0400, kyprizel wrote:<br>
<br>
> On Sat, Sep 28, 2013 at 10:14 PM, Piotr Sikora <<a href="mailto:piotr@cloudflare.com">piotr@cloudflare.com</a>> wrote:<br>
><br>
> > Hi,<br>
> ><br>
> > > My patch was designed not to use multiple keyfiles and keynames in nginx<br>
> > > config so it's able to rotate keys with simple logic, only updating<br>
> > keyfile.<br>
> ><br>
> > IMHO, that makes the key rollover much harder than it should be, that<br>
> > is: you need to regenerate keyfile with number of older keys + new one<br>
> > vs just add new key (and optionally remove some of the old ones).<br>
> ><br>
> ><br>
> That depends on key distribution scheme - you can distribute only new keys<br>
> and store old keys on nginx server only.<br>
> But with your patch you should also rotate "default" key in nginx config<br>
> and it complicates the logic (in my schema) a bit.<br>
> Anyway - I'm not sure if keyname is meaningful parameter in periodic key<br>
> rotation scheme. For me - it is not.<br>
<br>
</div>I agree that logic suggested by Piotr looks a bit too complicated.<br>
On the other hand, the one in your patch doesn't looks easy for<br>
automation as well.  I don't think it would be trivial to generate<br>
keys in PEM format (feel free to prove I'm wrong), and rotate them<br>
once they are in a single file.<br>
<br>
BTW, just in case somebody haven't seen this before, here is a<br>
link for relevant Apache directive which uses 48-byte binary file:<br>
<br>
<a href="http://httpd.apache.org/docs/2.4/mod/mod_ssl.html#sslsessionticketkeyfile" target="_blank">http://httpd.apache.org/docs/2.4/mod/mod_ssl.html#sslsessionticketkeyfile</a><br>
<div class="im HOEnZb"><br>
--<br>
Maxim Dounin<br>
<a href="http://nginx.org/en/donation.html" target="_blank">http://nginx.org/en/donation.html</a><br>
<br>
</div><div class="HOEnZb"><div class="h5">_______________________________________________<br>
nginx-devel mailing list<br>
<a href="mailto:nginx-devel@nginx.org">nginx-devel@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-devel" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-devel</a><br>
</div></div></blockquote></div><br></div>