N Developer Preview 中有关其网络安全配置的文档提供了以下说明:
证书锁定是通过通过公钥的哈希(X.509 证书的SubjectPublicKeyInfo)提供一组证书来完成的。只有当证书链包含至少一个固定的公钥时,证书链才有效。
他们显示的 XML 已损坏(缺少结束标记),但在其他方面表明哈希是 SHA256 和编码的 base64:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config>
<domain includeSubdomains="true">example.com</domain>
<pin-set expiration="2018-01-01">
<pin digest="SHA-256">7HIpactkIAq2Y49orFOOQKurWxmmSFZhBCoQYcRhJ3Y=</pin>
<!-- backup pin -->
<pin digest="SHA-256">fwza0LRMXouZHRC8Ei+4PyuldPDcf3UKgO/04cDM1oE=</pin>
</domain-config>
</network-security-config>
我们如何创建这样的哈希?
我尝试了这个 gist中的方法,但openssl x509 -inform der -pubkey -noout
不喜欢我的 CRT 文件。我无法轻易确定问题出在 CRT 文件、说明、我的版本openssl
或其他内容中。
有没有人知道创建这个哈希的好方法?