Вот мой текущий 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>
Почему мой предоставленный пин-код будет применен во втором сценарии, а не в первом