| 
	Статус: Участник
 Группы: Участники
 Зарегистрирован: 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) Сообщений: 150 Поблагодарили: 33 раз в 32 постах
 | 
            
		      
                Добрый день!
 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) Сообщений: 150 Поблагодарили: 33 раз в 32 постах
 | 
            
		      
                Каких "некоторых" изменений?А что если теперь из кода постучаться?
 | 
|  | 
    | 
              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) Сообщений: 150 Поблагодарили: 33 раз в 32 постах
 | 
            
		      
                Ничего хорошего( 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