Có cách nào để sử dụng WCF SSL với NetTcpBinding không yêu cầu chứng chỉ ứng dụng khách được cài đặt trên máy khách không? (SSL V2 nếu tôi không nhầm).Sử dụng chứng chỉ Wcf SSl trên Tcp mà không có chứng chỉ ứng dụng khách (chỉ phía máy chủ)
chúng tôi muốn chứng chỉ máy chủ sẽ nằm trong cửa hàng tin cậy của khách hàng để xác thực và Mã hóa thông báo của máy chủ bằng khóa công khai của máy chủ, có nghĩa là chỉ máy chủ mới có chứng chỉ khóa riêng.
chúng tôi đang sử dụng NetTcpBinding và không customBinding ở cả hai bên. Nếu bo mạch của nó được thực hiện, cấu hình chính xác cho nó là gì? (trên máy khách & cấu hình máy chủ)
Xin cảm ơn trước.
đây là wcf của tôi Configs.
MÁY CHỦ 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>
KHÁCH HÀNG 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 thêm hiện tại máy chủ & configs khách hàng của tôi. khác câu hỏi:
ở cấp xác thực, chúng tôi muốn các khách hàng để xác thực cert ther máy chủ của (tôi nghĩ rằng khóa công khai của máy chủ phải ở trong cửa hàng trustedPeople), có thể như vậy?
bạn có khuyên chúng tôi sử dụng Bảo mật hoặc thông báo giao thông không?
nếu chúng tôi muốn xác thực máy khách & máy chủ của NTLM (clientCredentialType = Windows) có thể thực hiện ngoài xác thực chứng chỉ của máy chủ hoặc chỉ một trong số chúng có thể được áp dụng không? cho đến bây giờ, chúng tôi đã sử dụng xác thực NTLM.
ngay bây giờ im nhận được ngoại lệ: "Việc nâng cấp được yêu cầu không được hỗ trợ bởi 'net.tcp: // servername: 8040/**'. Điều này có thể là do các ràng buộc không phù hợp (ví dụ an ninh được kích hoạt trên khách hàng chứ không phải trên máy chủ). " tôi hiểu lỗi này xảy ra vì máy khách đang sử dụng Windows Security và máy chủ trong Chứng chỉ om, nhưng khi thay đổi bảo mật của khách hàng thành Chứng chỉ, bạn cũng gặp lỗi: "Chứng chỉ ứng dụng khách không được cung cấp". nhưng tôi không muốn đặt chứng chỉ của khách hàng và đó là một phần của vấn đề chính của tôi.
chúng ta đọc rằng chúng ta có thể sử dụng để xác thực máy chủ cert của thẻ này:
<identity> <certificate encodedValue="encoded certificate"/> </identity>
nhưng, tôi nghĩ rằng xác thực điều này bằng cách nhận diện được thực hiện bởi một giấy chứng nhận mã hóa khi chúng tôi preffer rằng xác của cert sẽ được thực hiện bằng cách tìm khóa công khai của máy chủ trong cửa hàng của khách hàng (trustPeople). thông tin này có thực sự đúng không? rằng các thẻ này về bản sắc là sự thay thế cho việc tìm kiếm khóa công khai trong ứng dụng "của cửa hàng tin cậy?
hy vọng bạn sẽ có thể hỗ trợ trong cách cư xử này, nhờ một lần nữa.
Có thể. Bạn đã thử những gì cho đến nay? – Bernard
Bạn không cần giấy chứng nhận ứng dụng khách trừ khi bạn yêu cầu một chứng chỉ cụ thể; cấu hình ràng buộc của bạn trông như thế nào? –
Ai đó có thể giúp tôi giải quyết vấn đề của chúng tôi không ?? – AmirT