Page 1 of 1

Fatal error: s2Member was unable to generate an RSA-SHA1...

PostPosted: January 1st, 2012, 9:26 am
by irishpolyglot
I am trying to enable secured access to my files and my streaming content. Direct links work fine, and secured links worked fine BEFORE I installed Cloudfront for a direct download. I enabled this to have videos streamed as well as have a separate download link to them.

However, since enabling Cloudfront, I am getting this error whenever I try to access a direct download (secured):
Code: Select all
Fatal error: s2Member was unable to generate an RSA-SHA1 signature. Please make sure your installation of PHP is compiled with OpenSSL: `openssl_sign()`. See: http://php.net/manual/en/function.openssl-sign.php in /home/irishpolyglot/speakfromday1.com/wp-content/plugins/s2member/includes/classes/utils-strings.inc.php on line 426

and the secured video link is giving this error within the video screen:
Code: Select all
Task queue failed at step 5 playlist could not be loaded error #1085

(Attempting to run from within JW Player using the secure link)

The only relevant thread I can find in the forum is here, but after he mentions that error he starts talking about a different error, as if he somehow solved it, without saying how. And there is no mention of the video streaming error; I've tried to search for it and information is sparse and unhelpful, so I'll just presume it's related to the same issue as not accessing the secured download, since the video works fine when I stream a direct link that is unsecured on Amazon S3.

When I try to select "Yes, automatically configure my Amazon® CloudFront Distributions & Amazon® S3 ACLs for me." in my Cloudfront settings, it returns the error:
Error code: -95. Error Message: Unable to delete existing Amazon® CloudFront Downloads Distro. Existing Amazon® CloudFront Distro cannot be deleted at this time. Still in a `pending` state after having been disabled by s2Member. Please wait 15 minutes, then try again. There is a certain process that s2Member must strictly adhere to when re-configuring your Amazon® CloudFront Distros. You may have to tick the auto-configure checkbox again, and re-run s2Member's auto-configuration routine many times, because s2Member will likely run into several `pending` challenges, as it works to completely re-configure your Amazon® CloudFront Distros for you. Thanks for your patience. Please wait 15 minutes, then try again.
several times, and then it works (asking to wait 30 minutes), but the "automatically configure..." option is unticked. To tick it again, it starts over again with the error message. Not sure if that's important.

I have also tried using a different key pair, and I am sure that I've pasted in the right code (from the pk-[***].pem file). I also have the latest version of the plugin.

Advice appreciated - I'll have no choice but to make everything publicly downloadable for my new site tomorrow until I can solve this problem. (Or at least remove any reference to Cloudfront and hopefully be back to my prior state of a direct download secured link working, and using non-secured for the streaming version).

Thanks for any advice...

Re: Fatal error: s2Member was unable to generate an RSA-SHA1

PostPosted: January 4th, 2012, 11:51 pm
by Jason Caldwell
Thanks for your inquiry.
This error indicates that OpenSSL is not compiled on your server.
Code: Select all
    Fatal error: s2Member was unable to generate an RSA-SHA1 signature. Please make sure your installation of PHP is compiled with OpenSSL: `openssl_sign()`. See: http://php.net/manual/en/function.openssl-sign.php in /home/irishpolyglot/speakfromday1.com/wp-content/plugins/s2member/includes/classes/utils-strings.inc.php on line 426
s2Member was unable to generate an RSA-SHA1 signature, because your server lacks this functionality, apparently. I would confirm this by running a simple PHP test file in your web space.

Code: Select all
<?php
if(function_exists("openssl_sign"))
  echo 'OpenSSL is compiled.';
else echo 'OpenSSL is NOT compiled.';
?>
If it's not compiled, and you can confirm that, you will need to contact your host and ask them to enable OpenSSL. Most web hosts come with this pre installed by default. If yours does not, can you please let us know who you're hosting with?

Re: Fatal error: s2Member was unable to generate an RSA-SHA1

PostPosted: January 13th, 2012, 3:00 am
by irishpolyglot
Sorry for the delay in replying, I could only code for the days after I wrote that message, and was travelling from the 4th.

I had definitely confirmed OpenSSL was operational as part of the set-up procedure, but confirmed this by using your code within my web space and it returned:
OpenSSL is compiled.

I'm on Dreamhost.

Re: Fatal error: s2Member was unable to generate an RSA-SHA1

PostPosted: January 14th, 2012, 11:37 pm
by Jason Caldwell
Thanks for the follow-up.
Hmm, I'm not aware of any issues with Dreamhost, and since you said the test came back positive, I'm at a loss currently. Something is preventing s2Member's routine against the openssl_sign() function from succeeding on your installation, I'm just not sure what yet.

Here are some things I'd be looking for.
1. Do all of these functions exist on your server.
Code: Select all
openssl_get_privatekey
openssl_sign

2. If so, is your Amazon® CloudFront Private Key configured properly with s2Member? It sounds like it is. If nothing gives, please send us a Dashboard login and we'll make an attempt to reproduce this on your installation. If you'd like to do that, please send those details privately through this contact form: http://www.s2member.com/contact/

Re: Fatal error: s2Member was unable to generate an RSA-SHA1

PostPosted: January 16th, 2012, 9:07 am
by Jason Caldwell
Details received. Thank you.
I'll investigate as soon as possible.

Re: Fatal error: s2Member was unable to generate an RSA-SHA1

PostPosted: January 18th, 2012, 4:18 am
by irishpolyglot
Hello. I haven't heard back from you since this, and I had to change the log in password details for security reasons. Please let me know when you are ready to have a look and I can set up the temporary passwords for you again.

Re: Fatal error: s2Member was unable to generate an RSA-SHA1

PostPosted: January 19th, 2012, 2:41 pm
by Jason Caldwell
Thanks for bringing this thread back to my attention. I'm so sorry for the delay. Yes, I received your email Benny. Please enable this Dashboard login for me again and I'll take a look for you today.

Re: Fatal error: s2Member was unable to generate an RSA-SHA1

PostPosted: January 19th, 2012, 5:09 pm
by irishpolyglot
OK, re-enabled!

Re: Fatal error: s2Member was unable to generate an RSA-SHA1

PostPosted: January 19th, 2012, 8:34 pm
by Jason Caldwell
Thank you. Investigating now.

Re: Fatal error: s2Member was unable to generate an RSA-SHA1

PostPosted: January 19th, 2012, 10:10 pm
by Jason Caldwell
Investigation completed. So far I've been unable to produce any errors, but email communication on this issue seems to indicate that a re-configuration of Amazon S3/CloudFront via s2Member's Dashboard panel was required to resolve this issue.

@Benny. Please check your email for full details, and just let me know if you continue to have trouble.

Re: Fatal error: s2Member was unable to generate an RSA-SHA1

PostPosted: January 19th, 2012, 11:28 pm
by irishpolyglot
Thanks a million for your help :) While I'm not really sure why I got errors and you didn't, at least it's working now. And as I said in the email, my other issue was it not being clear that the code provided was to be pasted into the actual blog post, and PHP/HTML plugins must be installed to permit this. A quick mention in the how-to in JW player settings will get around any such confusion in future!

All the best!

Re: Fatal error: s2Member was unable to generate an RSA-SHA1

PostPosted: January 19th, 2012, 11:38 pm
by Jason Caldwell
Thanks for the feedback. I really appreciate it. I'm glad to hear things are working now. Let us know if we can be of further assistance. We're here to help in any way we can.