正确的网络安全配置以匹配子域

时间:2019-09-19 15:55:25

标签: android security network-programming

这是我当前的network_security_confg.xml

<network-security-config>
  <domain-config cleartextTrafficPermitted="false">
   <domain includeSubdomains="true">googleapis.com</domain>
     <pin-set>
      <pin digest="SHA-256">IaMANonsensePinThatDoesntExistThisShouldFail</pin>
     </pin-set>
   </domain>
  </domain-config>
 </network-security-config>

domain的网络安全配置的文档中,includeSubdomains属性的内容如下:

  

属性:

     
    

includeSubdomains

         
      

如果为“ true”,则此域规则匹配域和所有子域,包括子域的子域。否则,该规则仅适用于完全匹配。

    
  

在我当前的设置下,对firestore.googleapis.com的请求仍然有效。域规则似乎与子域不匹配。我希望所有请求都会失败,因为我提供的密码不正确,并且Firestore 是googleapis.com的子域

如果我更改配置以显式包括firestore.googleapis.com子域,即使作为googleapis.com <domain-config>的嵌套子域,请求也将按照我的预期失败。

<network-security-config>
  <domain-config cleartextTrafficPermitted="false">
   <domain includeSubdomains="true">googleapis.com</domain>
     <domain-config>
      <domain includeSubdomains="true">firestore.googleapis.com</domain>
      <pin-set>
       <pin digest="SHA-256">IaMANonsensePinThatDoesntExistThisShouldFail</pin>
      </pin-set>
     </domain-config>
   </domain>
  </domain-config>
 </network-security-config>

为什么我提供的图钉在第二种情况下适用,而在第一种情况下不适用?

0 个答案:

没有答案