Czy istnieje sposób użycia protokołu WCF SSL z programem NetTcPBinding, który nie wymaga zainstalowania certyfikatu klienta na komputerze klienta? (SSL V2, jeśli się nie mylę).Używanie certyfikatu Wcf SSl przez Tcp bez certyfikatu klienta (tylko po stronie serwera)
chcemy, aby certyfikat serwera znajdował się w zaufanym sklepie klienta w celu uwierzytelnienia i zaszyfrowania wiadomości za pomocą klucza publicznego serwera, co oznacza, że tylko komputer serwera będzie przechowywać certyfikat klucza prywatnego.
używamy NetTcpBinding, a nie customBinding po obu stronach. Jeśli można go zrobić, jaka jest jego odpowiednia konfiguracja? (w przypadku konfiguracji klienta &)
Z góry dziękuję.
Oto moje konie z wcf.
Server Config:
<configuration>
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="TcpSecureBinding">
<security mode="Transport">
<transport clientCredentialType="Certificate"/>
</security>
</binding>
</netTcpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceCredentialsBehavior">
<serviceDebug includeExceptionDetailInFaults="True" />
<serviceMetadata httpGetEnabled="true" />
<serviceAuthorization
principalPermissionMode="UseWindowsGroups">
</serviceAuthorization>
<serviceCredentials>
<windowsAuthentication includeWindowsGruops="true"
allowAnonymousLogons="false"/>
<clientCertificate>
<authentication certificateValidationMode="none"/>
</clientCertificate>
<serverCertificate
findValue="thumbprint"
storelocation="LocalMachine"
x509FindType="FindMyThumbprint"
storeName="My"/>
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="ServiceCredentialsBehavior"
name="ServiceModel.Calculator">
<endpoint address="net.tcp://localhost:8040/Calculator"
binding="netTcpBinding"
bindingConfiguration="TcpSecureBinding"
contract="ServiceModel.ICalculator" >
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
</service>
</services>
</system.serviceModel>
</configuration>
KLIENT config:
<configuration>
<system.serviceModel>
<client>
<endpoint address="net.tcp://localhost:8040/Calculator"
behaviorConfiguration="endpointCredentialBehavior"
binding="netTcpBinding"
bindingConfiguration="Binding1"
contract="ServiceModel.ICalculator">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
</client>
<behaviors>
<endpointBehaviors>
<behavior name="endpointCredentialBehavior">
</behavior>
</endpointBehaviors>
</behaviors>
<bindings>
<netTcpBinding>
<binding name="Binding1">
<security mode="Transport">
<transport clientCredentialType="Windows" />
</security>
</binding>
</netTcpBinding>
</bindings>
</system.serviceModel>
</configuration>
im dodając moje aktualne serwer & configs klienta. kolejne pytania:
na poziomie uwierzytelniania chcemy klienta do uwierzytelniania serwera cert Ther (myślę, że klucz publiczny serwera powinna być w sklepie trustedPeople), jest to możliwe?
czy polecasz nam używać Transport Security Or Message?
jeśli chcemy aby uwierzytelnić serwer klient & przez NTLM (clientCredentialType = Windows) to można to zrobić w uzupełnieniu do uwierzytelniania serwera cert lub tylko jeden z nich może być stosowana? do tej pory używaliśmy uwierzytelniania NTLM.
teraz im uzyskiwanie wyjątek: „Żądana aktualizacja nie jest obsługiwana przez«Net.TCP: // nazwa_serwera: 8040/**». Może to być spowodowane niedopasowane powiązań (na przykład bezpieczeństwa włączone klienta, a nie na serwerze). " Rozumiem, że wystąpił ten błąd, ponieważ klient korzysta z zabezpieczeń systemu Windows i serwera w certyfikacie om, , ale po zmianie zabezpieczeń klienta na certyfikat również otrzymuję komunikat o błędzie: "Certyfikat klienta nie jest dostarczany". ale nie chcę ustawiać certyfikatu klienta i to jest część mojego głównego problemu.
czytamy, że możemy użyć do uwierzytelniania cert serwera to tags:
<identity> <certificate encodedValue="encoded certificate"/> </identity>
, ale myślę, że to uwierzytelnianie przez tożsamości odbywa się za pomocą kodowanego certyfikatu kiedy preffer że identyfikacja CERT będzie wykonać poprzez przeszukanie klucza publicznego serwera w sklepie klienta (trustedPeople). czy te informacje są naprawdę prawdziwe? że te znaczniki tożsamości są alternatywą dla poszukiwania klucza publicznego w kliencie "s zaufanego sklepu?
nadzieję, że będzie w stanie pomóc w tym sposoby, dzięki jeszcze raz.
Jest to możliwe. Czego spróbowałeś do tej pory? – Bernard
Nie powinieneś potrzebować certyfikatu klienta, chyba że prosisz o jedno; Jak wygląda twoja powiązana konfiguracja? –
Czy ktoś może mi pomóc z naszym problemem? – AmirT