Today when I was trying to publish a ClickOnce application that we use internally, I got the following error:
The signer's certificate is not valid for signing.
After looking around and some searching on Google, I was able to find the problem and resolve it. My problem was that the certificate I had been using to sign the ClickOnce deployments had expired. You can view the status of your certificate in Visual Studio, in the project properties window, on the signing tab.
To fix the problem just create a new certificate by clicking the button titled "Create Test Certificate..." It will prompt you for a password, which I left blank. Once you have the new certificate created you should be able to publish once again.