EldoS | Feel safer!

Software components for data protection, secure storage and transfer

Getting started with Encryption Decryption

Also by EldoS: CallbackDisk
Create virtual disks backed by memory or custom location, expose disk images as disks and more.
Posted: 01/26/2015 03:19:33
by Ken Ivanov (EldoS Corp.)

Hi Jaap,

Could you please let us know how exactly are you using the pipelines, in particular:

- are you using the higher-level 'Default' pipelines supplied with BizCrypto (BizCrypto.BizTalk.DefaultPipelines assembly) or are you building your own from lower-level pipeline components?

- are you building your BizTalk application via BizTalk Server Administration Console facilities or by preparing it in Visual Studio and then deploying to the server?

We've tried to reproduce your issue on a local test system, but to no avail. Basing on the symptoms you referenced, the problem has configuration-specific roots. BizTalk apparently fails to load the pipeline assemblies as it can't resolve some dependency.

Could you please try to build a very simple pipeline-driven application in the BizTalk Administration Console and check how it works for you. Depending on the outcome, we'll be able to move further and tune-up the application step by step to match your original requirements:

0. Create a brand new directory for storing test-related stuff (e.g. D:\Test\PipelinesTest\); then create 'in', 'out' and 'stuff' subdirectories within it.

1. Open the Administration Console.

2. Create a new BizTalk application by right-clicking on the Applications entry in the tree view and choosing New->Application.

3. Choose a name for your application and click OK.

4. Add the default pipelines assembly as a resource to your application by opening the associated Resources entry in the tree view, choosing Add->BizTalk Assemblies from the pop up menu, and selecting the BizCrypto.BizTalk.DefaultPipelines.dll assembly from the Assemblies\NET_45 directory of BizCrypto installation.

5. Add a receive port (e.g. ReceivePort_BizCryptoPipelinesTest) to the application and then add a receive location (e.g. Receive Location_BizCryptoPipelinesTest) to it. Configure the FILE adapter attached to the location by providing a path to take input files from (D:\Test\PipelinesTest\in\). Leave the default PassThruReceive as the receive pipeline.

6. Add a send port (e.g. SendPort_BizCryptoPipelinesTest) to the application. Configure the FILE adapter attached to the port by providing a path to put output files to (D:\Test\PipelinesTest\out\). Choose PKISigTransmit pipeline from the pipeline list (it should be populated there as you've added the pipeline assembly as a resource).

7. Configure the pipeline by modifying the following properties:
- SigningCertificates: put D:\Test\PipelinesTest\stuff\cert.pfx
- SigningCertificatesPassword: put 'password' (without quotes)
- TraceFilename: put D:\Test\PipelinesTest\stuff\log.txt
- TraceLevel: put 4
- TraceToEventLog: put False
- TraceToFile: put True

8. Copy the certificate file (cert.pfx) included in the BizCrypto installation to D:\Test\PipelinesTest\stuff\ directory.

Now please start your application and copy a sample file to the D:\Test\PipelinesTest\in directory. The file should be picked up by BizTalk and sent to the \out directory through the PKISigTransmit pipeline.

Posted: 01/26/2015 03:40:24
by Jaap van Popta (Basic support level)
Joined: 01/22/2015
Posts: 13

Hi Ken,

I already created kind of that situation, but recreated your suggested situation.

I get the error:

There was a failure executing the send pipeline: "BizCrypto.BizTalk.DefaultPipelines.PKISigTransmit, BizCrypto.BizTalk.DefaultPipelines, Version=, Culture=neutral, PublicKeyToken=cca2e44e2b320358" Source: "Unknown " Send Port: "SendPort_BizCryptoPipelinesTest" URI: "C:\BizCryptoTest\Out\%MessageID%.xml" Reason: The pipeline component BizCrypto.BizTalk.Pipelines.PKI.Sign,BizCrypto.BizTalk.Pipelines.PKI, Version=, Culture=neutral, PublicKeyToken=cca2e44e2b320358 can not be found. If the component name is fully qualified, this error may occur because the pipeline component can not be found in the assembly.
Posted: 01/26/2015 04:29:38
by Ken Ivanov (EldoS Corp.)

Thank you for trying that for us.

This looks very much like the pipeline assembly BizCrypto.BizTalk.Pipelines.PKI.dll was not found by BizTalk. The most likely reason for that is that the pipeline assembly itself or some of the dependent assemblies were not installed to the GAC properly. Let's try to pinpoint the exact reason step-by-step. It's a bit of extended version of the route I gave you in my very first suggestion.

1. Please go to the BizCrypto installation directory (normally C:\Program Files\EldoS\BizCrypto.BizTalk), then to its Assemblies\NET_45 (not NET_20) directory, and check that all of the following assemblies are there:

- BizCrypto.BizTalk.dll,
- BizCrypto.BizTalk.DefaultPipelines.dll,
- BizCrypto.BizTalk.Pipelines.dll,
- BizCrypto.BizTalk.Pipelines.PKI.dll,
- SecureBlackbox.dll,
- SecureBlackbox.PKI.dll.

If they are, could you please check the exact size of the BizCrypto.BizTalk.Pipelines.PKI.dll assembly for us?

2. Now, please go to the .NET 4.5 GAC directory (C:\Windows\Microsoft.NET\assembly\GAC_MSIL\) and check that all the following directories do exist and do contain subdirectories of the name v4.0_11.0.255.0__cca2e44e2b320358 (the name should look exactly like that) with proper DLL files in them:

- BizCrypto.BizTalk,
- BizCrypto.BizTalk.DefaultPipelines,
- BizCrypto.BizTalk.Pipelines,
- BizCrypto.BizTalk.Pipelines.PKI,
- SecureBlackbox,
- SecureBlackbox.PKI.

3. If the checks worked out well, please try to re-register the assemblies in the GAC by doing the following:

- open a cmd console under an administrative account;
- go to BizCrypto installation directory (C:\Program Files\EldoS\BizCrypto.BizTalk);
- run the following commands in order and check if the assemblies are reported as installed to the GAC:

AssemblyReg45.exe addref Assemblies\NET_45\BizCrypto.BizTalk.dll,
AssemblyReg45.exe addref Assemblies\NET_45\BizCrypto.BizTalk.DefaultPipelines.dll,
AssemblyReg45.exe addref Assemblies\NET_45\BizCrypto.BizTalk.Pipelines.dll,
AssemblyReg45.exe addref Assemblies\NET_45\BizCrypto.BizTalk.Pipelines.PKI.dll,
AssemblyReg45.exe addref Assemblies\NET_45\SecureBlackbox.dll,
AssemblyReg45.exe addref Assemblies\NET_45\SecureBlackbox.PKI.dll.

After running the commands, please restart the BizTalk host instance and your application and check if there are any changes in the application's behaviour.

Posted: 01/26/2015 04:52:51
by Jaap van Popta (Basic support level)
Joined: 01/22/2015
Posts: 13

Hi Ken,

1) They are all present in Install Dir:

- BizCrypto.BizTalk.dll, Size 62 KB
- BizCrypto.BizTalk.DefaultPipelines.dll, Size 428 KB
- BizCrypto.BizTalk.Pipelines.dll, Size 15 KB
- BizCrypto.BizTalk.Pipelines.PKI.dll, Size 40 KB
- SecureBlackbox.dll, Size 2874 KB
- SecureBlackbox.PKI.dll, Size 572 KB

2) In GAC
- BizCrypto.BizTalk, Present under v4.0_11.0.255.0__cca2e44e2b320358
- BizCrypto.BizTalk.DefaultPipelines, Present v4.0_11.0.255.0__cca2e44e2b320358
- BizCrypto.BizTalk.Pipelines, Present under v4.0_11.0.255.0__cca2e44e2b320358
- BizCrypto.BizTalk.Pipelines.PKI, Present under v4.0_11.0.255.0__cca2e44e2b320358
- SecureBlackbox, present under v4.0_11.0.255.0__dd7d30884001c5e2 (different)
- SecureBlackbox.PKI, present under v4.0_11.0.255.0__dd7d30884001c5e2 (different)

Note that SecureBlackBox dll's are present but under a diffent foldername.

3) Did that, all successfully installed to the GAC.
Restarted host instance.

Still the same Error
Posted: 01/26/2015 04:59:51
by Jaap van Popta (Basic support level)
Joined: 01/22/2015
Posts: 13

By the way, I asked a collegue of mine if he had the same issue (to rule out my personal incompetence :-)) he has the same issue.
Posted: 01/26/2015 06:54:54
by Jaap van Popta (Basic support level)
Joined: 01/22/2015
Posts: 13

Hi ken,

My collegue pointed me in the follwoing Direction:
Install everything that's onder NET_20 in the .NET 2.0 GAC (including BT2010 assemblies).

when I did that the scenario you supplied worked, so it looks like it's still looking in the old GAC.

I will now have a look at your suggestions regarding the implementation you suggested.

Grt, Jaap
Posted: 01/26/2015 07:18:46
by Ken Ivanov (EldoS Corp.)

Hi Jaap,

Thank you for keeping us updated. Could you please let us know some details of your system:

- What OS are you running (including 32/64 bit indicator)?
- Do/did you have older versions of BizTalk (2009, 2010) installed on those machines earlier (or in parallel to BTS 2013)?

I've also created a ticket in our Helpdesk system for you. Even though your installation problem seems to be solved, would you mind answering it, as it might help in pinpointing the exact reason?


Posted: 01/26/2015 07:27:18
by Jaap van Popta (Basic support level)
Joined: 01/22/2015
Posts: 13


I did send you the results and I'm happy to help to find the root couse. So if you have any further questions don't hesitate...

I'm running Windows server 2012 Standard 64 bit
I had previously BTS 2013 installed prior to the 2013 R2 I have now, but no earlier versions.

Posted: 01/26/2015 08:58:44
by Jaap van Popta (Basic support level)
Joined: 01/22/2015
Posts: 13


It looks like I have got the scenario up and running with the suggestions you gave me! So thanks a lot.

I am confident that you got yourself a new customer, i will recommend this solution to my customer.

Hope you will fix the GAC issue, if you still have any questions, please ask.

Posted: 01/26/2015 09:34:21
by Ken Ivanov (EldoS Corp.)


Great, thank you for confirming that. It should probably be us who should be thankful to you for helping us investigate the issue :).

Also by EldoS: CallbackProcess
A component to control process creation and termination in Windows and .NET applications.



Topic viewed 8199 times

Number of guests: 1, registered members: 0, in total hidden: 0


Back to top

As of July 15, 2016 EldoS Corporation will operate as a division of /n software inc. For more information, please read the announcement.

Got it!