To save people time with similar deployment issues, I have been giving an answer from an Escalation Engineer in Redmond, part of the Office Team.
<------------------------------------------------------------------------------------>
In order to sign a form, you need the private key for the certificate. This private key is not installed when you install a certificate on a machine, for the very simple reason that it would allow anyone to sign with your certificate. That would be bad. :-)
When you create a certificate with the self-cert utility, it automatically installs the private key for the certificate so it can be used to sign code. However, you cannot then move that private key to another machine. You can use these steps from the Infopath 2003 SDK to use the "makecert" utility to create a certificate with a private key stored in a .pvk file that can then be ported.
To create a certificate with the Makecert.exe utility, a trusted root certificate authority must be created first. To create the certificate authority:
Open the Command Prompt, type the following, and then press ENTER:
makecert -n "CN=TrustedRootCA" -r -cy authority -a sha1 -sky signature -m 1 -sv certRoot.pvk certRoot.cer -ss ROOT
The Create Private Key Password dialog box is displayed. Click None.
A Security Warning message is displayed stating "You are about to install a certificate from a certification authority (CA) claiming to represent: TrustedRootCA". Click Yes to install the certificate to the Trusted Root Certification Authorities store.
To create a certificate that can be used for signing, type the following, and then press ENTER:
makecert -n "CN=TestCert" -cy end -a sha1 -sky signature -m 1 -iv Certroot.pvk -ic certroot.cer -ss MY -sv MyKey.pvk MyCertificate.cer
The Create Private Key Password dialog box is displayed. Because this is just a debug and test certificate, it is recommended that you use a blank password to make the signing process simpler. To create a blank password, click None.
Once you have the PVK file, you can use the PVK Digital Certificates File Importer
http://www.microsoft.com/downloads/details.aspx?FamilyID=F9992C94-B129-46BC-B240-414BDFF679A7) to install the certificate with private key on the new machine.
NOTE: Certificates generated by MakeCert and SelfCert should be used for testing only. Although they are fully valid certificates, the code signer has not gone through the validation process that a commerical certificate provider like Thawte or Verisign performs, or even the internal valdiation that a corporation running their own Certificate Server would have implemented. Trusting self-signed certifcates potentially opens you up to malicious code.