gpt4 book ai didi

WCF BasicHttpBinding + 用户名密码验证器+x.509

转载 作者:太空宇宙 更新时间:2023-11-03 15:06:53 25 4
gpt4 key购买 nike

我使用带有自定义用户名验证的 wsHttpBinding 为客户端设置 WCF 服务,x.509,但没有 SSL

他们使用的是 PHP 并且完全无法通过 WS 安全性,因此我们的解决方案必须是添加另一个基本的 httpbinding。但是当我这样做时,它似乎需要 SSL。我的要求是绝对不使用 SSL。

我的 wshttpbinding 看起来像这样:

<wsHttpBinding>
<binding name="WSHttpBinding_ISearchService" closeTimeout="00:10:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" bypassProxyOnLocal="true" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" />
<security mode="Message" >
<message clientCredentialType="UserName"/>
</security>
</binding>

<serviceBehaviors>
<behavior name="My.Services.SearchServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />

<dataContractSerializer maxItemsInObjectGraph="2147483647" />

<serviceCredentials>
<serviceCertificate findValue="01000000000xxxxxxxxx" storeLocation="LocalMachine"
storeName="My" x509FindType="FindBySerialNumber" />
<userNameAuthentication userNamePasswordValidationMode="Custom"
customUserNamePasswordValidatorType="My.Services.UserNamePassValidator, SearchService" />
</serviceCredentials>

</behavior>
</serviceBehaviors>

在没有 SSL 的情况下使用 basichttpbinding 是否可以实现完全相同的配置?

最佳答案

BasicHttpBinding 要求 BasicHttpBinding.Security.Message.ClientCredentialType 等同于安全模式“消息”的 BasicHttpMessageCredentialType.Certificate 凭证类型。所以首先你不能使用 clientCredentialType="UserName".
您需要有客户端证书来加密消息和传输。 WCF SDK 示例实现了一个这样的场景,检查 here

关于WCF BasicHttpBinding + 用户名密码验证器+x.509,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5820876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com