Biztalk ESB Toolkit - All About Itinerary Designer Security
To select the X.509 certificate for an itinerary:
- In the Itinerary Designer Properties window, expand the Encryption Certificate property, and then click the Store Location drop-down list, and select the CurrentUser or LocalMachine. This associates the X.509 certificate store with the current user or the local computer.
- In the Properties window, click the Store Name drop-down list and select the value which corresponds to your certificate store.
- In the Properties window, click the ellipsis button (...) next to the Encryption Certificate property, and then select the X.509 certificate in the Select Certificate dialog box.

To remove the X.509 certificate from an itinerary:
Note: |
If you installed the BizTalk ESB Toolkit on an operating system that has 64-bit support, the subkey is HKEY_LOCAL_MACHINE\SOFTWARE\SysWOW64\Microsoft\BizTalk ESB Toolkit\2.0\Designer. |
Notice that you may find other ways to do this like the one described here. However I would strongly suggest using the above steps because that’s the way it was designed the certificate usage ON/OFF switch functionality.
<esb> |
You may have probably noticed that these attributes resemble the WCF Certificate Authentication Properties. The reason for this is simply because the Designer is actually using the same API that WCF uses in order to perform the certificate validation so you can use any of the values allowed in these settings according to WCF documentation. If you want to know more about this API and its usage you can read this post.
<property name="Password" type="FTP.Password" description="The password for the conection." encrypted="true" assembly="globalPropertySchemas" /> |
You will find in the following property element the “encrypted” attribute that marks this element for encryption. The same applies to any other element with this attribute set to “true”.
In case that there’s no Certificate set and the certificate registry value is set as “true”, you may not be able to set a sensitive property value because it will show up as disabled like in the following figure:

Once you have set the certificate or disabled the certificate usage as described in the above section, you may set these properties as expected.
Exporting the model with encrypted values
When you export the model to an xml itinerary you will get the encrypted data like the properties marked for encryption in “Endpoint Configuration” resolver property or any other extender property (including custom extenders) with the attribute “EncryptPropertyAttribute” on the sensitive property like the sample below:
[EncryptProperty(typeof(ItineraryModel))] |

After exporting the model, you will get the exported data like in the “endpointConfig” attribute value below, all the XmlEncryption section “<EncriptedData>…” with a reference to the X.509 certificate used for encryption.
Notice that you should install this same certificate on the server where the core ESB engine will process this itinerary in order to decrypt the sensitive information.