我设法创建了一个自签名service
到SSL
的网络IIS
。它的设置首先设置为客户端证书为无,并且不需要SSL
。那时候可以访问网页浏览器和移动网络参考。
但是当我将SSL设置设置为必需时,它们现在都被禁止了。我在SSL配置的设置中缺少什么?
WebConfig
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="constring" providerName="System.Data.SqlClient" connectionString="Data Source = source;Initial Catalog = dbname; User ID = user; Password = pw" />
</connectionStrings>
<appSettings>
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
</appSettings>
<system.web>
<compilation targetFramework="4.5" />
</system.web>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding maxReceivedMessageSize="10485760" name="SecureHttpBinding">
<readerQuotas maxStringContentLength="10485760"></readerQuotas>
<security mode="Transport">
<transport clientCredentialType="None"></transport>
</security>
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>
</configuration>
答案 0 :(得分:0)
要在网络浏览器中通过HTTPS访问网络服务,我按了this link for creating temporary client certificate,但我将步骤#5更改为此命令
makecert -sk MyKeyName -iv RootCaClientTest.pvk -n "CN=tempClientcert" -ic RootCaClientTest.cer -sr localmachine -ss my -sky exchange -pe
我将当前用户更改为 localmachine ,将签名更改为 exchange 以便它将在个人证书存储区中。当您再次访问该站点时,它将要求您提供客户端证书,您可以选择继续该证书。
通过网络参考(以某种方式禁止)访问visual studio xamarin中的服务的主要问题。
我找到了this link to solve the forbidden problem。您可以看到(c)MarkoOkram的第二篇文章作为解决方案。
“我通过在文件系统上保存Web浏览器.wsdl和.xsd文件来解决问题,将这些文件中的引用更改为匹配的文件。比我在visual studio中成功添加对该文件系统.wsdl文件的引用。” - (c)MarkoOkram
我下载了用WSDL编写的文件WSDL和XSD,然后将文件路径重新定位到各自的目录,就完成了。
更新:我还尝试导入singleWSDL,无需编辑xsd的
即可运行