Статус: Новичок
Группы: Участники
Зарегистрирован: 21.04.2015(UTC) Сообщений: 6  Сказал(а) «Спасибо»: 2 раз
|
Автор: maxdm  Пример WCF-сервиса входит в новую сборку КриптоПро .NET SDK, выложим в течение месяца. alfa версию можно скачать, заменив в урлах со страницы дистрибутивов номер версии на prerelease. Спасибо за примеры, проверили проекты Service.Code вместе с клиентом Client.Code, вроде все работает. Заметил что там есть примеры клиентского приложения с использованием конфигурационного файла, но нет такого же примера для сервиса. Попробовали сами составить конфигурационный файл для сервиса, но не получилось (много вариантов перепробовали - ошибки разные). Правильно понимаю, Вы включите пример реализации сервиса через Web.config в полной (не альфа) версии примеров NET SDK?
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 05.08.2013(UTC) Сообщений: 67  Откуда: Новосибирск Сказал(а) «Спасибо»: 2 раз Поблагодарили: 2 раз в 2 постах
|
Автор: ConfUser  Автор: maxdm  Пример WCF-сервиса входит в новую сборку КриптоПро .NET SDK, выложим в течение месяца. alfa версию можно скачать, заменив в урлах со страницы дистрибутивов номер версии на prerelease. Спасибо за примеры, проверили проекты Service.Code вместе с клиентом Client.Code, вроде все работает. Заметил что там есть примеры клиентского приложения с использованием конфигурационного файла, но нет такого же примера для сервиса. Попробовали сами составить конфигурационный файл для сервиса, но не получилось (много вариантов перепробовали - ошибки разные). Правильно понимаю, Вы включите пример реализации сервиса через Web.config в полной (не альфа) версии примеров NET SDK? Я выкачал последние версии, но там отсутсвуют файлы *.csproj. Вы их восстанавливали? Так же нет конфигурационного файла для сервиса :-( ЗЫ С наступающим!
|
|
|
|
|
|
Статус: Активный участник
Группы: Администраторы, Участники Зарегистрирован: 28.04.2010(UTC) Сообщений: 140  Откуда: Крипто-Про Поблагодарили: 15 раз в 14 постах
|
Некоторые ссылки по СМЭВ 3.* можно посмотреть в этой ветке форума. Примет сервиса, настраиваемого через файл конфигурации, скоро добавим.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,415  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 728 раз в 629 постах
|
|
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 05.08.2013(UTC) Сообщений: 67  Откуда: Новосибирск Сказал(а) «Спасибо»: 2 раз Поблагодарили: 2 раз в 2 постах
|
Автор: maxdm  В prerelease обновил. Скачал x64-rus в prelease, установил. Разархивировал WCF.zip, зашёл в папку SMEV, там только sln файлы, без csproj. Я не то запускаю?
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,415  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 728 раз в 629 постах
|
|
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,415  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 728 раз в 629 постах
|
|
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 05.08.2013(UTC) Сообщений: 67  Откуда: Новосибирск Сказал(а) «Спасибо»: 2 раз Поблагодарили: 2 раз в 2 постах
|
Смотрю реализацию клиента и настройку его через конфиг. При отправке сообщения получаю ошибку: Цитата:Additional information: Identity check failed for outgoing message. The expected DNS identity of the remote endpoint was 'localhost' but the remote endpoint provided DNS claim 'ХХХ"'. If this is a legitimate remote endpoint, you can fix the problem by explicitly specifying DNS identity 'ХХХ' as the Identity property of EndpointAddress when creating channel proxy. Данную ошибку в случае настройки кодом обходили следующими строками: Код:
string serverCommonName = serverCert.GetNameInfo(X509NameType.SimpleName, false);
var endpointAddress = new EndpointAddress(new Uri(serviceAddress), EndpointIdentity.CreateDnsIdentity(serverCommonName));
В случае с конфигом что нужно в него внести? Указал для точки Код:
<identity>
<dns value="localhost" />
</identity>
Не помогло :(
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 05.08.2013(UTC) Сообщений: 67  Откуда: Новосибирск Сказал(а) «Спасибо»: 2 раз Поблагодарили: 2 раз в 2 постах
|
Посмотрел на формируемый EndpointAddress в обоих случах, совпадают. Значит что-то другое
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 05.08.2013(UTC) Сообщений: 67  Откуда: Новосибирск Сказал(а) «Спасибо»: 2 раз Поблагодарили: 2 раз в 2 постах
|
Заработало, модификация: Код:
public SMEVClient(string portName)
{
if (string.IsNullOrEmpty(portName))
{
throw new ArgumentException("Не задано имя конечной точки.");
}
// Создаем фабрику каналов
var factory = new ChannelFactory<IService>(portName);
string serverCommonName = factory.Credentials.ServiceCertificate.DefaultCertificate.GetNameInfo(X509NameType.SimpleName, false);
var endpointAddress = new EndpointAddress(factory.Endpoint.Address.Uri, EndpointIdentity.CreateDnsIdentity(serverCommonName));
factory.Endpoint.Address = endpointAddress;
factory.Endpoint.Contract.ProtectionLevel = ProtectionLevel.Sign;
// Создаем канал к сервису
dbDataChannel = factory.CreateChannel();
}
Странно, что Endpoint.Address как-то не так инициализируется и не установлено Endpoint.Contract.ProtectionLevel
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close