Security level for admin approved code behind InfoPath form templates should be Fully trusted. Code Signing Certificate should be used to sign fully trusted InfoPath form templates before uploading to Central Admin.
Go to File and Select ‘Form Options‘ under Advanced options
Select ‘Security and Trust‘ in the left pane
Code Signing Certificate:
You can either use a self signed certificate generated by InfoPath by selecting ‘Create Certificate‘ button or buy one certificate from Verisign or Thawte or get one generated by your company’s sub authority.
Note: Certificate generated by InfoPath has validity of only 1 month. You can use this to get started with development. But should be later replaced.
If there are multiple Code Signing Certificates available, you get the option to pick a particular one by clicking ‘Select Certificate‘
Everything looks simple and straight until this point. But the issue I had is,
The Code Signing Certificate which I imported to Certificate Store does not show up in InfoPath template
Resolution:
Here are the 2 important things:
1. When you are importing you Certificate to your Certificate Store, load the Certificate snap-in under ‘My user account‘ not ‘Computer Account‘. (Run -. MMC -> File -> Add/Remove Snap-in -> Select Certificates -> Select ‘My user account’)
2. Certificate should have a private key. Make sure that you see this on your certificate – ‘You have a private key that corresponds to this certificate’ and you have the password to enter while importing certificate.
Once you make sure that you got both 1 & 2, certificate will show up in InfoPath. Save, Publish and upload to central admin.