1

While trying to send EDIFACT messages through AS2 protocol I’m getting the following entries in the Event Log regarding signature:

Ad 1)

Source: BizTalk Server EDI
Event ID: 8132
General: A BTS MIME error was encountered when attempting to encode a message. Error: Exception of type 'Microsoft.BizTalk.Component.MIMEException' was thrown., HResult:-1061152225

Ad 2)

Source: BizTalk Server
Event ID: 5720
General: There was a failure executing the send pipeline: "Microsoft.BizTalk.EdiInt.DefaultPipelines.AS2Send, Microsoft.BizTalk.Edi.EdiIntPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Source: "AS2 encoder" Send Port: "001HCC.SndPort.AS2-OW.TEST" URI: "https://ourPartner.com/receiveas22017/BTSHTTPReceive.dll" Reason: The MIME encoder failed to sign the message because the certificate has private key protection turned on or the private key does not exist. Please disable private key protection to allow BizTalk to use a certificate for signing.

Ad 3)

Source: BizTalk Server
Event ID: 5754
General: A message sent to adapter "HTTP" on send port "001HCC.SndPort.AS2-OW.TEST" with URI "https:// ourPartner.com/receiveas22017/BTSHTTPReceive.dll" is suspended. Error details: There was a failure executing the send pipeline: "Microsoft.BizTalk.EdiInt.DefaultPipelines.AS2Send, Microsoft.BizTalk.Edi.EdiIntPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Source: "AS2 encoder" Send Port: "001HCC.SndPort.AS2-OW.TEST" URI: "https:// ourPartner.com/receiveas22017/BTSHTTPReceive.dll" Reason: The MIME encoder failed to sign the message because the certificate has private key protection turned on or the private key does not exist. Please disable private key protection to allow BizTalk to use a certificate for signing.
MessageId: {A53EB31E-34B4-4489-8809-C3CF0AA4E1FD} InstanceID: {C09270AF-5A27-4449-A89B-CF6F149D7714}

Ad 4)

Source: XLANG/s
Event ID: 10001
General: xlang/s engine event log entry: Failed while creating a qbq.quibis.Generic.Processes.AcknowledgementGenerator service.

Exception type: ServiceCreationException The following is a stack trace that identifies the location where the exception occured at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._serviceCreator(Guid& instanceId, Object objCurrMsg) at Microsoft.XLANGs.Core.ResourceContainer._allocateResource(Guid& key, UInt32 hashKey, ResourceCreator resCreator, Object creationContext) at Microsoft.XLANGs.Core.ResourceContainer.Dispense(Guid& key, ResourceCreator resCreator, Object creationContext) at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._dispenseService(Guid& instanceId, IBTMessage currMsg) at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._tryReceiveOneMessage(Boolean& loggedError, Guid& instanceId, IBTMessage currMsg) at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._receiveOneMessage(Guid& instanceId, Guid& serviceId, IBTMessage currentMsg) at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession.ReceiveMessages(IBTMessage[] messages, Int32 firstIdx, Int32 count) at Microsoft.BizTalk.XLANGs.BTXEngine.AppDomains.AppDomainRoot.Microsoft.XLANGs.BizTalk.ProcessInterface.IAppDomainStub.ReceiveMessages(Object objMsg) at Microsoft.XLANGs.BizTalk.CrossProcess.AppDomainStubProxy.Microsoft.XLANGs.BizTalk.ProcessInterface.IAppDomainStub.ReceiveMessages(Object msgs) Additional error information: Could not load file or assembly 'qbq.quibis.Generic.Processes, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d7f6a42d27d4b3ed' or one of its dependencies. The system cannot find the file specified.

Exception type: FileNotFoundException
Source: mscorlib
Target Site: Void GetTypeByName(System.String, Boolean, Boolean, Boolean, System.Runtime.CompilerServices.StackCrawlMarkHandle, IntPtr, Boolean, System.Runtime.CompilerServices.ObjectHandleOnStack) The following is a stack trace that identifies the location where the exception occured at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type) at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName) at System.RuntimeType.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark) at System.Type.GetType(String typeName, Boolean throwOnError) at Microsoft.BizTalk.XLANGs.BTXEngine.BTXServiceStaticState.Resolve() at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._createNewService(Guid& serviceId, Guid& instanceId, BTXServiceStaticState staticState) at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._createOrRehydrateRealService(Guid& instanceId, IBTMessage currMsg)

The message is sent from one to another test environments on separate servers.

The first environment consists of Windows Server 2012 R2 64x, IIS7, BizTalk v. 3.11.266.2, last Adapter Pack R2 CU4 (KB 3167705). The other consists of Windows Server 2008 R2 64x, IIS7, BizTalk v. 3.10.350.2, last Adapter Pack CU4 (KB 3185629).

The application pool IIS is set up on IIS Enable 32-bit, Load User Profile: True. The messages are sent using Party which includes SelfSigned Certificate V3 generated at Windows Server 2008 with SHA256. While importing the strong certificate protection was switched off and the following set up was in use: local security policy > local policies > security options > System cryptography: Force strong key protection for user keys stored on the computer > User input is not required (…)

Is it possible to find the cause of these error messages? Could you suggest any guidelines that could help me tackle the problem?

Dijkgraaf
  • 11,049
  • 17
  • 42
  • 54
LoginName
  • 11
  • 1

2 Answers2

0

You problem is: "The MIME encoder failed to sign the message because the certificate has private key protection turned on or the private key does not exist. Please disable private key protection to allow BizTalk to use a certificate for signing."

There's a check box when importing the Private Key that says something like 'require password'. That must not be checked.

Johns-305
  • 10,908
  • 12
  • 21
0

It may be that you don't have a private certificate setup. You'll need to create a certificate and obtain a private and public key. Send the public key to your trading partner. You can use OpenSSL to create your certificate.

Tom Bryant
  • 165
  • 1
  • 12