How to sign an InfoPath form template with VeriSign certificate?

VeriSign code-signing certificate comes as 2 files including 1 certificate file (.spc) and 1 private key file (.pvk). The following describes what we had to go through at my customer to digitally sign the InfoPath form template which has the Full Trust level set.

1. Download pvk2pfx.exe tool and run the tool to generate pfx file

http://msdn2.microsoft.com/en-us/library/aa906332.aspx

pvk2pfx -pvk mypvkfile.pvk -pi mypasswd -spc myspcfile.spc -pfx mypfxfile.pfx -f

2. Import pfx file into Current User's Personal Certificate store

Start->Run, mmc

From File, select add/remove snap-in

Add Certificates, when prompted, select Current user account

In the Personal node, select Certificates

In the details pane, select All Tasks->Import, go through the wizards to import the pfx file from step 1 and install to Personal store.

Now the VeriSign certificate should appear in the Personal Certificates store.

3. Sign the InfoPath form template

Open the form template in design mode.

From tools->Form Options->Security and Trust

Select Full Trust and Check Sign the form template

Click Select Certificate, now you should see the VeriSign certificate. Select it and click OK.

4. Republish the form template to the SharePoint form library.

5. Open the form from within SharePoint form library as the end user and now you should be prompted with warning about the publisher. Check "Always trust documents from this publisher" and click Open. The form should open.