Проблема с закрытым ключом в Service Broker - PullRequest
1 голос
/ 19 июня 2009

Мы пытаемся установить связь между двумя экземплярами SQL в одном SQL Engine через Service Broker, следуя инструкциям из MSDN. Чтобы упростить задачу, мы отправляем диалог с Encryption = OFF, поэтому нам не нужно иметь дело с главным ключом, сертификатом ... и он работает на локальной рабочей станции.

DECLARE @InitDlgHandle UNIQUEIDENTIFIER;

ОБЪЯВИТЬ @RequestMsg NVARCHAR (100);

НАЧАЛО СДЕЛКИ;

НАЧАТЬ ДИАЛОГ @InitDlgHandle FROM SERVICE [// InstDB / 2InstSample / InitiatorService] ОБСЛУЖИВАТЬ N '// TgtDB / 2InstSample / TargetService' НА КОНТРАКТЕ [// BothDB / 2InstSample / SimpleContract] С ШИФРОВАНИЕ = ВЫКЛ;

SELECT @RequestMsg = N'Message for Target service. ';

ОТПРАВИТЬ НА РАЗГОВОР @InitDlgHandle ТИП СООБЩЕНИЯ [// BothDB / 2InstSample / RequestMessage] (@RequestMsg);

SELECT @RequestMsg AS SentRequestMsg;

совершение сделки; GO

Однако после перехода на сервер с тем же сценарием целевая БД продолжает показывать «Не удалось найти закрытый ключ, сообщение не может быть доставлено» в трассировке SQL после того, как initDB отправит сообщение.

У меня такой вопрос, поскольку мы установили шифрование = ВЫКЛ. Почему в целевой БД отсутствует сертификат?

Мы используем SQL 2005 SP2, Windows 2003

Ценится за любой ввод.

1 Ответ

1 голос
/ 14 июля 2009

Говоря о опоздании на вечеринку ...
Не видел этот пост раньше. Я не знаю, если это все еще имеет какое-либо отношение, но вот, вероятно, причина:

Присутствие REMOTE SERVICE BINDING превзойдет ENCRYPTION = OFF. Это позволяет отделить обязанности разработчика от обязанностей администратора. Если приложению требуется шифрование, тогда разработчик указывает ENCRYPTION = ON, и администратор должен предоставить УДАЛЕННОЕ ОБСЛУЖИВАНИЕ ОБСЛУЖИВАНИЯ. Если приложению не требуется шифрование, разработчик указывает ENCRYPTION = OFF, и администратор может предоставить УДАЛЕННОЕ ОБСЛУЖИВАНИЕ ОБСЛУЖИВАНИЯ, если сайт развертывания решит, что шифрование необходимо, даже если приложение не требует его.

A Полное описание того, как работает диалог безопасности и аутентификации можно найти на моем сайте.

...