BizTalk Server 2009, RosettaNet Accelerator, & Client Certificates

 

By default, the RosettaNet Accelerator in BizTalk Server 2009 does not support sending Client Certificates via BATRNApp/RNIFSend.aspx. To achieve this functionality, you need to download the Elemica Connectivity Pack from MSDN. The Elemica Connectivity Pack contains a modified version of the Microsoft.Solutions.BTARN.RNIFSend.dll which can be tweaked to send your Client Certificate.

You can download the Elemica Connectivity Pack from MSDN at:

http://go.microsoft.com/fwlink/?LinkId=46195

How to customize our new Microsoft.Solutions.BTARN.RNIFSend.dll

1.       Run the BTARN30 Elemica Connectivity Packe.exe to extract the files.

2.       Next, Open the RNIFSend project

3.       Sign the project with a Strong Name (if you don’t know how to do this, check this article out http://msdn.microsoft.com/en-us/library/xc31ft41.aspx)

4.       Build the project (make sure the configuration is set to Release)

5.       Open IIS, expand websites and find the BTARNApp virtual directory…

6.       Right click it then click Explore to open the physical folder in Windows Explorer (by default it is located in \Program Files (x86)\Microsoft BizTalk 2009 Accelerator for RosettaNet\RNApp)

7.       Backup your RNApp directory

8.       Next, copy the Microsoft.Solutions.BTARN.RNIFSend.dll that you built in step 4 above to the \RNApp\bin directory (when prompted to overwrite, click Yes)

9.       Open the web.config file located in the RNApp directory

10.   Add the following key/value pair to the appSettings section (if the appSettings section doesn’t exist just add it) to the bottom (right before the </configuration> element). Make sure to change the certificate path/filename to the one you want to use.

  <appSettings>

    <add key=CertificateFile

value=D:\BizTalk Client Certificate\YourPublicCert.cer />

  </appSettings>

11.   Save the web.config file but make sure your certificate is in the path you specified. Also, please make sure the certificate you selected is capable of Client Authentication. You can check that in the Certificates MMC by right clicking your certificate then looking at the Certificate Purposes list.

12.   In IIS, assign the user that is used by the Host Instance (in the BizTalk Administration Console) to the IIS App Pool associated with your BTARNApp virtual directory

13.   Restart IIS

14.   Restart the BizTalk Host Instance

15.   Test it

Turn on Tracing to debug your BTARNApp

One of the coolest tools I found that helped me was turning on tracing to see what was actually going in and out of the BTARNApp web app. To turn on tracing just add the following code snippet to the RNApp/web.config file (you don’t need to copy the configuration elements):

<configuration>

 

<system.diagnostics>

    <trace autoflush=true />

    <sources>

      <source name=System.Net>

        <listeners>

          <add name=System.Net />

        </listeners>

      </source>

      <source name=System.Net.HttpListener>

        <listeners>

          <add name=System.Net />

        </listeners>

      </source>

      <source name=System.Net.Sockets>

        <listeners>

          <add name=System.Net />

        </listeners>

      </source>

      <source name=System.Net.Cache>

        <listeners>

          <add name=System.Net />

        </listeners>

      </source>

    </sources>

    <sharedListeners>

      <add name=System.Net type=System.Diagnostics.TextWriterTraceListener initializeData=c:\traces\BTARNApp.log traceOutputOptions=DateTime />

    </sharedListeners>

    <switches>

      <add name=System.Net value=Verbose />

      <add name=System.Net.Sockets value=Verbose />

      <add name=System.Net.Cache value=Verbose />

      <add name=System.Net.HttpListener value=Verbose />

    </switches>

  </system.diagnostics>

 

</configuration>

 

 

Leave a Reply