BizTalk 2013 - AS2 SelfSigned
При попытке отправить сообщения EDIFACT по протоколу AS2 я получаю следующие записи в журнале событий, касающиеся подписи:
Объявление 1)
Источник: BizTalk Server EDI
Код события: 8132
Общие сведения: ошибка BTS MIME обнаружена при попытке закодировать сообщение. Ошибка: Возникло исключение типа "Microsoft.BizTalk.Component.MIMEException"., HResult:-1061152225
Объявление 2)
Источник: BizTalk Server
Код события: 5720
Общие сведения: при выполнении конвейера отправки произошла ошибка: "Microsoft.BizTalk.EdiInt.DefaultPipelines.AS2Send, Microsoft.BizTalk.Edi.EdiIntPipelines, версия =3.0.1.0, культура = нейтральная, PublicKeyToken=31bf3856ad364e35" источник: "кодировщик AS2" Порт отправки: URI-код 001HCC.Snd Port.AS2-OW.TEST: https://ourPartner.com/receiveas22017/BTSHTTPReceive.dll Причина. Кодировщику MIME не удалось подписать сообщение, так как в сертификате включена защита закрытого ключа. или закрытый ключ не существует. Отключите защиту закрытого ключа, чтобы BizTalk мог использовать сертификат для подписи.
Объявление 3)
Источник: BizTalk Server
Код события: 5754
Общие сведения: сообщение, отправленное адаптеру "HTTP" на порт отправки "001HCC.Snd Port.AS2-OW.TEST" с URI "https: // ourPartner.com/receiveas22017/BTSHTTPReceive.dll", приостановлено. Сведения об ошибке: при выполнении конвейера отправки произошла ошибка: "Microsoft.BizTalk.EdiInt.DefaultPipelines.AS2Send, Microsoft.BizTalk.Edi.EdiIntPipelines, версия =3.0.1.0, культура = нейтральная, PublicKeyToken=31bf3856ad364e35" источник: "кодировщик AS2 "Порт отправки: "001HCC.SndPort.AS2-OW.TEST" URI: "https:// ourPartner.com/receiveas22017/BTSHTTPReceive.dll"Причина: кодировщику MIME не удалось подписать сообщение, поскольку сертификат имеет закрытую защиту ключа или закрытый ключ не существует. Отключите защиту закрытого ключа, чтобы BizTalk мог использовать сертификат для подписи.
Идентификатор сообщения: {A53EB31E-34B4-4489-8809-C3CF0AA4E1FD} Идентификатор экземпляра: {C09270AF-5A27-4449-A89B-CF6F149D7714}
Объявление 4)
Источник: XLANG/s
Код события: 10001
Общие: запись в журнале событий движка xlang/s: не удалось создать сервис qbq.quibis.Generic.Processes.AcknowledgementGenerator.Тип исключения: ServiceCreationException Ниже приведена трассировка стека, которая идентифицирует расположение, где произошло исключение в Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._serviceCreator(Guid& instanceId, Object objCurrMsg) в Microsoft.XLANGs.Core.ResourceContainer._allocidResource, UInt32 hashKey, ResourceCreator resCreator, Object creationContext) в Microsoft.XLANGs.Core.ResourceContainer.Dispense(Guid& key, ResourceCreator resCreator, Object creationContext) в Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession. & Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._tryReceiveOneMessage(Boolean& loggedError, Guid& instanceId, IBTMessage currMsg) в Microsoft.BizTalk.XLANGs.BTXEngine. BTXEngine.BTXSession.ReceiveMessages (сообщения IBTMessage [], IntI firstIdx, число Int32) в Microsoft.BizTalk.XLANGs.BTXEngin e.AppDomains.AppDomainRoot.Microsoft.XLANGs.BizTalk.: Не удалось загрузить файл или сборку 'qbq.quibis.Generic.Processes, версия = 1.0.0.0, Culture = нейтральный, PublicKeyToken = d7f6a42d27d4b3ed' или одну из ее зависимостей. Система не может найти указанный файл.
Тип исключения: FileNotFoundException
Источник: mscorlib
Целевой сайт: Void GetTypeByName (System.String, Boolean, Boolean, Boolean, System.Runtime.CompilerServices.StackCrawlMarkHandle, IntPtr, Boolean, System.Runtime.CompilerServices. на System.RuntimeTypeHandle.GetTypeByName (имя String, Boolean, Boolean throwOnError IgnoreCase, булевой reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, булевой loadTypeFromPartialName, типа ObjectHandleOnStack) в System.RuntimeTypeHandle.GetTypeByName (имя String, Boolean, Boolean throwOnError IgnoreCase, булевой reflectionOnly, StackCrawlMark & stackMark, IntPtr pPrivHostBinder, логическое значение loadTypeFromPartialName) в System.RuntimeType.GetType (строковое имя типа, логическое throwOnError, логическое игнорирование Case, логическое отражение.BTXEngine.BTXServiceStaticState.Resolve () a t Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession.
Сообщение отправляется из одной в другую тестовую среду на отдельных серверах.
Первая среда состоит из Windows Server 2012 R2 64x, IIS7, BizTalk v. 3.11.266.2, последнего пакета адаптеров R2 CU4 (KB 3167705). Другой состоит из Windows Server 2008 R2 64x, IIS7, BizTalk v. 3.10.350.2, последнего пакета адаптеров CU4 (KB 3185629).
IIS пула приложений настроен на IIS Enable 32-bit, Load User Profile: True. Сообщения отправляются с использованием Стороны, которая включает в себя SelfSigned Certificate V3, сгенерированный в Windows Server 2008 с SHA256. При импорте надежная защита сертификатов была отключена, и использовались следующие настройки: локальная политика безопасности> локальные политики> параметры безопасности> системная криптография: принудительная защита надежных ключей для пользовательских ключей, хранящихся на компьютере> ввод пользователя не требуется (…)
Можно ли найти причину этих сообщений об ошибках? Не могли бы вы предложить какие-либо рекомендации, которые могли бы помочь мне решить эту проблему?
2 ответа
Ваша проблема заключается в следующем: "Кодировщику MIME не удалось подписать сообщение, поскольку в сертификате включена защита закрытого ключа или отсутствует закрытый ключ. Отключите защиту закрытого ключа, чтобы BizTalk мог использовать сертификат для подписи".
При импорте закрытого ключа есть флажок, который говорит что-то вроде "требуется пароль". Это не должно быть проверено.
Возможно, у вас нет настройки частного сертификата. Вам нужно будет создать сертификат и получить закрытый и открытый ключ. Отправьте открытый ключ своему торговому партнеру. Вы можете использовать OpenSSL для создания вашего сертификата.