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

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

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

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

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


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

Если служба является службой Windows, службой, выполняющейся в режиме сервера без какого-либо пользовательского интерфейса от имени учетной записи сетевой службы, используйте хранилище локального компьютера . Обратите внимание, что для установки сертификатов в хранилище локального компьютера требуются привилегии администратора.
...
Рейтинг: 0 / 0
сервис не находит сертификат
    #36883038
mrbrooks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все сделал как на msdn. все равно не находит. оставлю до завтра. на свежую голову.
...
Рейтинг: 0 / 0
сервис не находит сертификат
    #36883083
Фотография 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
сервис не находит сертификат
    #36883124
mrbrooks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LR, Konst_One ссылался на то же - только по русски )
...
Рейтинг: 0 / 0
сервис не находит сертификат
    #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
сервис не находит сертификат
    #36884344
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mrbrooksПишет опять что не может найти сертификат, собака.
А точное сообщение об ошибке как звучит? (возможно, нет доступа к закрытому ключу...)
...
Рейтинг: 0 / 0
сервис не находит сертификат
    #36884987
mrbrooks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LR,

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

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

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

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

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

Стучусь головой о стену дальше.
...
Рейтинг: 0 / 0
сервис не находит сертификат
    #36885351
Фотография 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
сервис не находит сертификат
    #36885508
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LRА если просматривать сертификат с помощью Certs.msc, то в закладке "Общие", в самом низу, есть ли надпись "Есть закрытый ключ, соответствующий этому сертификату"? Должна быть.
на всякий случай, в аттаче Certs.msc (в такой конфигурации оснастки есть ветка "Local computer" и эта надпись присутствует, в отличие от стандартной конф-ии для русскойХР certmgr.msc, где отображается лишь ветка "Текущий пользователь" и сертификат попадает в "Другие пользователи", там эта надпись не отображается...)
...
Рейтинг: 0 / 0
сервис не находит сертификат
    #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
сервис не находит сертификат
    #36889815
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если хостится в IIS то права еще нужно дать права на чтение NETWORK_SERVICE (для net.tcp) и IIS_IUSRS (для http/https)
...
Рейтинг: 0 / 0
сервис не находит сертификат
    #36890224
mrbrooks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
barrabas,
ну я то в целях тренировки мутил с авторазмещением.
хм. выходит в IIS можно хостить сервисы с привязками netTcpBinding?
полагал, что только производные от http.
...
Рейтинг: 0 / 0
сервис не находит сертификат
    #36891147
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mrbrooksbarrabas,
ну я то в целях тренировки мутил с авторазмещением.
хм. выходит в IIS можно хостить сервисы с привязками netTcpBinding?
полагал, что только производные от http.
в ws2008 можно, до нет
...
Рейтинг: 0 / 0
сервис не находит сертификат
    #36891148
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mrbrooksbarrabas,
ну я то в целях тренировки мутил с авторазмещением.
хм. выходит в IIS можно хостить сервисы с привязками netTcpBinding?
полагал, что только производные от http.
не тогда доступ должен быть у учётки из под которой служба запускается
...
Рейтинг: 0 / 0
сервис не находит сертификат
    #36891951
mrbrooks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
barrabas
>в ws2008 можно, до нет
к сожалению ориентир будет на 2003

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


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