Статус: Участник
Группы: Участники
Зарегистрирован: 12.11.2015(UTC) Сообщений: 18 Откуда: Москва Сказал(а) «Спасибо»: 6 раз
|
Приветствую! Этсновая Подскажите пожалуйста, интерфейс ISelfManagementService когда планируется вытащить в отдельный сервис? Сейчас у меня версия DSS 1.0.1660.1322 (пока самая свежая).
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 12.11.2015(UTC) Сообщений: 18 Откуда: Москва Сказал(а) «Спасибо»: 6 раз
|
Не хочется плодит новую тему, вопрос несколько похожий, но уже на счет интерфейса CryptoPro.DSS.Common.UserManagementService.IUserManagementService. Поднимаю сервис через точку ".../cert". С поднятием защищенного соединения вроде проблем нет; при вызове метода GetUser() прилетает исключение: "Запрос HTTP запрещен для схемы аутентификации клиентов "Anonymous" (она же The HTTP request is unauthorized with client authentication scheme 'Anonymous'). Внутреннее исключение: Удаленный сервер возвратил ошибку: (403) Запрещено. Что имеем: Код:
var umsEndpoint = (from endpoint in endpoints where endpoint.Address.ToString().Contains("cert") select endpoint).First();
umsChannelFactory = new ChannelFactory<IUserManagementService>(umsEndpoint.Binding, umsEndpoint.Address);
umsChannelFactory.Credentials.SupportInteractive = false;
var store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
var filteredCerts = store.Certificates.Find(X509FindType.FindBySerialNumber, ConfigurationManager.AppSettings["umsCertSN"].Replace(" ", ""), false);
if (filteredCerts.Count == 0) throw new ArgumentException();
var selectedCert = filteredCerts[0];
umsChannelFactory.Credentials.ClientCertificate.Certificate = selectedCert;
umsChannelFactory.Credentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;
umsChannelFactory.Credentials.ServiceCertificate.Authentication.TrustedStoreLocation = StoreLocation.LocalMachine;
umsChannelFactory.Credentials.ServiceCertificate.Authentication.RevocationMode = X509RevocationMode.NoCheck;
umsChannelFactory.Credentials.ServiceCertificate.Authentication.CertificateValidationMode = X509CertificateValidationMode.None;
umsChannelFactory.Open();
var channel = umsChannelFactory.CreateChannel();
var user = channel.GetUser(UserManagementService.IdentifierType.PhoneNumber, "");
Мой стэк: Код:
Exception rethrown at [0]:
в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
в CryptoPro.DSS.Common.UserManagementService.IUserManagementService.GetUser(IdentifierType type, String identifierValue)
Стэк сервера: Код:
Server stack trace:
в System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication(HttpWebRequest request, HttpWebResponse response, WebException responseException, HttpChannelFactory`1 factory)
в System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory`1 factory, WebException responseException, ChannelBinding channelBinding)
в System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
в System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
в System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
в System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
в System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
в System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Пытался полечиться отсюда, но без результатов: Хм, только сейчас подумал, а это может быть ответом от сервера, мол сертификат не принят?
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 12.11.2015(UTC) Сообщений: 18 Откуда: Москва Сказал(а) «Спасибо»: 6 раз
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 14.10.2011(UTC) Сообщений: 147 Поблагодарили: 31 раз в 30 постах
|
Добрый день!
1. Если в браузере открыть страницу https://host/stsapp/UserManagement.svc/cert - сертификат запрашивается? 2. В сертификате (EKU), с которым подключаетесь к сервису, есть OID "Проверка подлинности клиента" (1.3.6.1.5.5.7.3.2) ? |
|
1 пользователь поблагодарил Георгий Садофьев за этот пост.
|
epsgar оставлено 09.06.2016(UTC)
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 12.11.2015(UTC) Сообщений: 18 Откуда: Москва Сказал(а) «Спасибо»: 6 раз
|
Автор: Yoda Добрый день!
1. Если в браузере открыть страницу https://host/stsapp/UserManagement.svc/cert - сертификат запрашивается? 2. В сертификате (EKU), с которым подключаетесь к сервису, есть OID "Проверка подлинности клиента" (1.3.6.1.5.5.7.3.2) ? 1. Неа (но видимо должен) 2. Да Эт самое, а при установке\настройке DSS я мог этот момент упустить (например в админке сертификат запрашивается) и не настроить?
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 12.11.2015(UTC) Сообщений: 18 Откуда: Москва Сказал(а) «Спасибо»: 6 раз
|
После некоторых изменений в IIS теперь по ссылке "https://host/stsapp/UserManagement.svc/cert" из браузера красуется: Предоставленные учетные данные не дают права на просмотр этого каталога или страницы.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 14.10.2011(UTC) Сообщений: 147 Поблагодарили: 31 раз в 30 постах
|
Каких "некоторых" изменений? А что если теперь из кода постучаться? |
|
1 пользователь поблагодарил Георгий Садофьев за этот пост.
|
epsgar оставлено 09.06.2016(UTC)
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 12.11.2015(UTC) Сообщений: 18 Откуда: Москва Сказал(а) «Спасибо»: 6 раз
|
Автор: Yoda Каких "некоторых" изменений? А что если теперь из кода постучаться? О, теперь из кода прилетело исключение "ID4011: обработчик SecurityTokenHandler не зарегистрирован для типа маркера проверки "System.IdentityModel.Tokens.X509WindowsSecurityToken"." Не успел еще много погуглить. Некоторые изменения: У виртуальной директории STS (которая stsapp) настроены one2one client cert auth. Роли нужные для IIS вродь есть, Base64 сертификата в конфигурации прописан. P.S. Спасибо мастер)
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 14.10.2011(UTC) Сообщений: 147 Поблагодарили: 31 раз в 30 постах
|
Ничего хорошего( 1. Уберите из кода umsChannelFactory.Credentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation 2. Под "one2one client cert auth" что подразумевается? Отображение на виндовую учётку? Если да, то этого не нужно настраивать. Можете в файлике C:\Windows\System32\inetsrv\config\applicationHost.config поискать (только очень аккуратно ничего не изменяя) строку UserManagement.svc/cert В идеале в файле должна быть такая секция: Код:
<location path="Default Web Site/STS/UserManagement.svc/cert">
<system.webServer>
<security>
<access sslFlags="Ssl, SslNegotiateCert, SslRequireCert" />
</security>
</system.webServer>
</location>
|
|
1 пользователь поблагодарил Георгий Садофьев за этот пост.
|
epsgar оставлено 09.06.2016(UTC)
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 12.11.2015(UTC) Сообщений: 18 Откуда: Москва Сказал(а) «Спасибо»: 6 раз
|
Секция для пути "Default Web Site/STS/UserManagement.svc/cert" есть, выглядит в точности. Правильно понимаю, что из коробки уже всё настроено на IIS и дополнительно ничего прикручивать для UserManagement.svc не нужно?
Уточню: при доступе к "https://host/stsapp/UserManagement.svc/cert" из браузера должно вываливаться окошко выбора серта? Но это же страааааааанно
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close