Я борюсь с использованием веб-службы SOAP 1.2 через HTTPS, где я должен проходить аутентификацию с использованием сертификата.Итак, я получил * .p12 (PKCS12) клиентский сертификат (выданный КОМПАНИИ, выданный DOMAIN.COM), который подписан эмитентом (выдан DOMAIN.COM, выдан DOMAIN.COM).
MyФайл app.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<customBinding>
<binding name="DistributorServiceBinding">
<security authenticationMode="AnonymousForCertificate">
<issuedTokenParameters />
<localClientSettings />
<localServiceSettings />
<secureConversationBootstrap />
</security>
<textMessageEncoding messageVersion="Soap12" />
<httpsTransport />
</binding>
</customBinding>
</bindings>
<client>
<endpoint address="https://subdomain.domain.com/*/*/*"
binding="customBinding" bindingConfiguration="DistributorServiceBinding"
contract="*" name="DistributorServicePort" />
</client>
</system.serviceModel>
</configuration>
Когда я пытаюсь поместить некоторые данные через веб-службу, я получаю следующую ошибку:
Сертификат службы не предоставлен.Укажите сервисный сертификат в ServiceCredentials
И здесь у меня возникает первая проблема:
Какой сертификат мне следует установить здесь?Это тот, который я импортировал из файла * .p12, или это совершенно другой сертификат, который я должен получить от владельца сервиса?
Если данные отправляются в одну сторону - я только отправляю данные, но не получаю их - могу ли я отключить проверку сервисного сертификата?
Я пытался использовать сертификат из моего * .p12 файла, который выдается DOMAIN.COM и подписывает мой клиентский сертификат, но затем я получаю эту ошибку:
Проверка идентификации не удалась дляисходящее сообщение.Ожидаемый идентификатор DNS удаленной конечной точки был «SUBDOMAIN.DOMAIN.COM», но удаленная конечная точка предоставила DNS-запрос «DOMAIN.COM».Если это допустимая удаленная конечная точка, вы можете исправить проблему, явно указав DNS-идентификатор «DOMAIN.COM» в качестве свойства Identity EndpointAddress при создании прокси канала.
И вот моя вторая проблема:
- Должен ли я использовать упомянутый сертификат в качестве сервисного сертификата?Должно ли оно быть выдано SUBDOMAIN.DOMAIN.COM или * .DOMAIN.COM вместо DOMAIN.COM, поэтому является ли это ошибкой владельца WS?
- Должен ли я запросить сертификат, который выдается на * .DOMAIN.COM и используется владельцем на стороне службы?
Буду крайне признателен за любую помощь!