Гость
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / сервис не находит сертификат / 25 сообщений из 36, страница 1 из 2
05.10.2010, 15:19
    #36882696
mrbrooks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
сгенерировал тестовый сертификат "motherfucker.cer" makecer (CN=motherfucker). установил его в хранилище "Личные".

пытаюсь прикрутить его к сервису через файл конфигурации так:
<serviceCertificate
findValue="motherfucker"
x509FindType="FindBySubjectName"
storeLocation="LocalMachine"
storeName="My" />

Однако служба пишет - мол такого сертификата не нахожу. Блин как же это. Через тузлу "Сертификаты" сам сертификат motherfucker на месте. Подскажите что делаю не так.
...
Рейтинг: 0 / 0
05.10.2010, 16:05
    #36882876
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
надо не в личные
...
Рейтинг: 0 / 0
05.10.2010, 16:20
    #36882923
mrbrooks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
Konst_Oneнадо не в личные
а куда?

просто я читаю "Основы Windows Communication Foundation для .NET". Дык авторы в своих примерах засылают туда. Какие то мутные черти. Куда лучше поместить сертификат, подскажите пж?
...
Рейтинг: 0 / 0
05.10.2010, 16:26
    #36882945
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
mrbrooksKonst_Oneнадо не в личные
а куда?

просто я читаю "Основы Windows Communication Foundation для .NET". Дык авторы в своих примерах засылают туда. Какие то мутные черти. Куда лучше поместить сертификат, подскажите пж?


читайте
...
Рейтинг: 0 / 0
05.10.2010, 16:27
    #36882947
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
если не поймёте, то намекну:

Если служба является службой Windows, службой, выполняющейся в режиме сервера без какого-либо пользовательского интерфейса от имени учетной записи сетевой службы, используйте хранилище локального компьютера . Обратите внимание, что для установки сертификатов в хранилище локального компьютера требуются привилегии администратора.
...
Рейтинг: 0 / 0
05.10.2010, 16:51
    #36883038
mrbrooks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
все сделал как на msdn. все равно не находит. оставлю до завтра. на свежую голову.
...
Рейтинг: 0 / 0
05.10.2010, 17:01
    #36883083
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
mrbrooks,

msdnDisabling Chain Trust
When creating a new service, you may be using a certificate that is not issued by a trusted root certificate, or the issuing certificate itself may not be in the Trusted Root Certification Authorities store. For development purposes only, you can temporarily disable the mechanism that checks the chain of trust for a certificate. To do this, set the CertificateValidationMode property to either PeerTrust or PeerOrChainTrust. Either mode specifies that the certificate can either be self-issued (peer trust) or part of a chain of trust. You can set the property on any of the following classes.

Class Property
X509ClientCertificateAuthentication
System.ServiceModel.Security.X509ClientCertificateAuthentication.CertificateValidationMode

X509PeerCertificateAuthentication
System.ServiceModel.Security.X509PeerCertificateAuthentication.CertificateValidationMode

X509ServiceCertificateAuthentication
System.ServiceModel.Security.X509ServiceCertificateAuthentication.CertificateValidationMode

IssuedTokenServiceCredential
System.ServiceModel.Security.IssuedTokenServiceCredential.CertificateValidationMode


You can also set the property using configuration. The following elements are used to specify the validation mode:

<authentication> of <serviceCertificate> Element


<peerAuthentication> Element


<messageSenderAuthentication> element
...
Рейтинг: 0 / 0
05.10.2010, 17:14
    #36883124
mrbrooks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
LR, Konst_One ссылался на то же - только по русски )
...
Рейтинг: 0 / 0
06.10.2010, 10:39
    #36884106
mrbrooks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
народ делаю так:

1. Создал сертификат ServiceCertificate c помощью makecert
2. Импортировал его в хранилище "Доверенные корневые центры сертификации"
3. Файл конфигурации службы:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<behaviors>
  <serviceBehaviors>
	<behavior name="MyBehavior">
	  <serviceMetadata httpGetEnabled="true"/>
	  <serviceCredentials>
		<serviceCertificate findValue="ServiceCertificate"
							x509FindType="FindBySubjectName"/>
		<clientCertificate>
		  <authentication certificateValidationMode="PeerTrust"/>
		</clientCertificate>
	  </serviceCredentials>
	</behavior>
  </serviceBehaviors>
</behaviors>
<bindings>
  <netTcpBinding>
	<binding name ="MyBinding">
	  <security mode="Transport">
		<transport clientCredentialType="Certificate"/>
		<message clientCredentialType="None"/>
	  </security>
	</binding>
  </netTcpBinding>
</bindings>

Пишет опять что не может найти сертификат, собака.
...
Рейтинг: 0 / 0
06.10.2010, 11:49
    #36884344
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
mrbrooksПишет опять что не может найти сертификат, собака.
А точное сообщение об ошибке как звучит? (возможно, нет доступа к закрытому ключу...)
...
Рейтинг: 0 / 0
06.10.2010, 16:39
    #36884987
mrbrooks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
LR,

На тот момент - так и было:

Не удается найти сертификат X.509 с помощью следующих условий поиска: StoreName, StoreLocation, FindType, FindValue.

Собственно генерировалось CannotFindCert. Проблему решил. Фича конечно была в хранилище.

Но вы, LR телепат :)
Следующая мессага была именно про ключ. Это меня добило особенно - ибо сертификат генерился с ключем -pe

Решал при помощи:
1. FindPrivateKey + cacls.key - не помогло
2. WinHttpCertCfg - не помогло

Стучусь головой о стену дальше.
...
Рейтинг: 0 / 0
06.10.2010, 18:14
    #36885351
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
mrbrooks,

А если просматривать сертификат с помощью Certs.msc, то в закладке "Общие", в самом низу, есть ли надпись "Есть закрытый ключ, соответствующий этому сертификату"? Должна быть.

на всякий случай, у меня "работающий" сертификат был сгенерен так - файл Certificate.cmd
Код: plaintext
1.
2.
3.
4.
5.
"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\certmgr" -del -r LocalMachine -s My -c -n MyServiceCert

"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\makecert.exe"  -sr LocalMachine -ss MY  -pe -sky exchange -n "CN=MyServiceCert" MyServiceCert.cer

pause
FindPrivateKey + cacls.key не применял (просто сказал в проводнике "Установить сертификат...", и все)
...
Рейтинг: 0 / 0
06.10.2010, 19:51
    #36885508
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
LRА если просматривать сертификат с помощью Certs.msc, то в закладке "Общие", в самом низу, есть ли надпись "Есть закрытый ключ, соответствующий этому сертификату"? Должна быть.
на всякий случай, в аттаче Certs.msc (в такой конфигурации оснастки есть ветка "Local computer" и эта надпись присутствует, в отличие от стандартной конф-ии для русскойХР certmgr.msc, где отображается лишь ветка "Текущий пользователь" и сертификат попадает в "Другие пользователи", там эта надпись не отображается...)
...
Рейтинг: 0 / 0
07.10.2010, 13:52
    #36887098
mrbrooks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
LR, спасибо. По поводу аттача - у меня в русской хрюше - есть локальный компьтер, по крайней мере через mmc я могу работать с сертификатами как локального так и текущего пользователя (есть еще и третий вариант - что то со службой)

Код: plaintext
"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\makecert.exe"  -sr LocalMachine -ss MY  -pe -sky exchange -n "CN=MyServiceCert" MyServiceCert.cer

это работает как надо. спасибо.

я то пытался ваять по примеру на msdn где есть два сертификата, первый самоподписывающий и второй, которого подписывает первый. со вторым и работал.

самозаверяющий сертификат корневого центра:
Код: plaintext
makecert.exe -n "CN=BaseCert" -r -sv BaseCert.pvk BaseCert.cer
сертификат, подписанный сертификатом корневого центра:
Код: plaintext
makecert.exe -sk ChildCert -iv BaseCert.pvk -pe -n "CN=ChildCert" -ic BaseCert.cer ChildCert.cer -sr localmachine -ss my
...
Рейтинг: 0 / 0
08.10.2010, 16:07
    #36889815
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
если хостится в IIS то права еще нужно дать права на чтение NETWORK_SERVICE (для net.tcp) и IIS_IUSRS (для http/https)
...
Рейтинг: 0 / 0
08.10.2010, 19:23
    #36890224
mrbrooks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
barrabas,
ну я то в целях тренировки мутил с авторазмещением.
хм. выходит в IIS можно хостить сервисы с привязками netTcpBinding?
полагал, что только производные от http.
...
Рейтинг: 0 / 0
09.10.2010, 23:07
    #36891147
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
mrbrooksbarrabas,
ну я то в целях тренировки мутил с авторазмещением.
хм. выходит в IIS можно хостить сервисы с привязками netTcpBinding?
полагал, что только производные от http.
в ws2008 можно, до нет
...
Рейтинг: 0 / 0
09.10.2010, 23:08
    #36891148
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
mrbrooksbarrabas,
ну я то в целях тренировки мутил с авторазмещением.
хм. выходит в IIS можно хостить сервисы с привязками netTcpBinding?
полагал, что только производные от http.
не тогда доступ должен быть у учётки из под которой служба запускается
...
Рейтинг: 0 / 0
11.10.2010, 10:06
    #36891951
mrbrooks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
barrabas
>в ws2008 можно, до нет
к сожалению ориентир будет на 2003

>не тогда доступ должен быть у учётки из под которой служба запускается
дык я пока вообще на localhost делаю. тренишен.
...
Рейтинг: 0 / 0
11.10.2010, 10:40
    #36892021
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
mrbrooks barrabas
>не тогда доступ должен быть у учётки из под которой служба запускается
дык я пока вообще на localhost делаю. тренишен.
и чего? один фиг у учётки под которой запускается сервис должны быть права чтение на приватный ключа (может конечно он есть по дефолту но не факт)
но чтоб найти файл pk в 2003 нужно помудится
...
Рейтинг: 0 / 0
11.10.2010, 11:26
    #36892139
mrbrooks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
>один фиг у учётки под которой запускается сервис должны быть права чтение на приватный ключа (может конечно он есть по дефолту но не факт)
не могли бы вы сказать - как проверить что используемая учетная запись имеет право на чтение приватного ключа?
...
Рейтинг: 0 / 0
11.10.2010, 11:27
    #36892144
mrbrooks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
я правильно понимаю что это делается на вкладке безопастность в свойствах сертификата?
...
Рейтинг: 0 / 0
11.10.2010, 12:34
    #36892366
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
в свойствах приватного ключа
...
Рейтинг: 0 / 0
11.10.2010, 12:35
    #36892370
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
в 2003 файл приватного ключа нужно искать с помощью проги findprivatekey
...
Рейтинг: 0 / 0
11.10.2010, 12:39
    #36892383
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сервис не находит сертификат
ключи лежат C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys
но какой файл к какому сертификату относится узнаёшь прогой
...
Рейтинг: 0 / 0
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / сервис не находит сертификат / 25 сообщений из 36, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]