Colum,
You should not be regenerating your secret key so often, it's not doing you any favors and is just making it more difficult to help you.
The issue you are having is with how you are generating your expires and signature. I tested the call you posted in the forum that was giving you a 401 and the signature and expires did not line up. I'm not going to put your information here for your privacy, but the problem is definitely with your code and not with your API key or the API itself.
I hope that makes sense.
Thanks,
Joel.