使用BasicHttpBinding证书的带有HTTP和HTTP的WCF暴露服务在浏览器中仍然显示NotSecure

时间:2019-01-02 00:50:39

标签: c# wcf x509certificate wcf-binding wcf-security

我在BasicHttpBinding上公开了带有两个终结点的单个WCF服务。但是,一个用于http,另一个用于安全(SSL)。我使用以下方法成功实现了这一目标。

在IIS中,我还在站点SSL中配置了默认的开发证书,然后单击“ Require SSL”,然后单击“ Ignore / Accept”。

我的问题:

我看到当我在浏览器中使用https调用时,看到“不安全”警告,您单击继续,它显示为红色,但带有https。当我单击“不安全”按钮时,我看到证书无效。我需要在浏览器中做任何事情,还是服务器行为中的以下证书配置应该归结为端点行为?

enter image description here

 <services>
      <service behaviorConfiguration="myServiceBehavior" name="MyService">

         <endpoint address="" binding="basicHttpBinding" bindingConfiguration="" contract="IInvoiceService"/>
         <endpoint address="" binding="basicHttpBinding" bindingConfiguration="myBinding" contract="IInvoiceService"/>
      </service>
  </services>
    <bindings>
      <basicHttpBinding>
        <binding name="myBinding" >          
          <security mode="Transport">
           <transport clientCredentialType="Certificate"/>
          </security>
        </binding>        
      </basicHttpBinding>
</bindings>


<behaviors>
    <endpointBehaviors>
    <behavior name="graph">
        </behavior>
    </endpointBehaviors>
      <serviceBehaviors>
      <behavior name="myServiceBehavior">
       <serviceCredentials>
      <serviceCertificate findValue="localhost" storeLocation="LocalMachine"
        storeName="My" x509FindType="FindBySubjectName" />
      <userNameAuthentication userNamePasswordValidationMode="Windows" />
    </serviceCredentials>
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>

1 个答案:

答案 0 :(得分:1)

将证书添加到本地计算机的“受信任的人”(客户端正在访问其服务的客户端)存储中。一旦将其安装在受信任的人商店中,请双击它以查看是否还有其他错误。

Intent part3A = new Intent(Part2.this, Part3.class); btnNext.setOnClcikListener(){ //here call your intent from Part2 startActivity(part3A); } 使用此元素可以指定X.509证书,该证书将用于向客户端验证服务

  

使用邮件安全模式

。如果您使用的证书将定期更新,则其指纹将更改。在这种情况下,请使用主题名称作为x509FindType,因为可以使用相同的主题名称重新颁发证书。