gpt4 book ai didi

android - 我们如何为 Android N 证书固定生成 X.509 证书的 SubjectPublicKeyInfo 的 Base64 编码的 SHA256 哈希?

转载 作者:IT老高 更新时间:2023-10-28 23:28:34 25 4
gpt4 key购买 nike

N Developer Preview 中有关其网络安全配置的文档提供了以下说明:

Certificate pinning is done by providing a set of certificates by hash of the public key (SubjectPublicKeyInfo of the X.509 certificate). A certificate chain is then only valid if the certificate chain contains at least one of the pinned public keys.

他们显示的 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>

我们如何创建这样的哈希?

我尝试了 this gist 中的方法,但 openssl x509 -inform der -pubkey -noout 不喜欢我的 CRT 文件。我无法轻易确定问题出在 CRT 文件、说明、我的 openssl 版本或其他问题上。

有没有人知道创建这个哈希的好方法?

最佳答案

openssl x509 -in cert.crt -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64

如果 cert.crt 是 DER 形式而不是 PEM 形式,您可能需要将 -inform der 添加到第一个命令。

关于android - 我们如何为 Android N 证书固定生成 X.509 证书的 SubjectPublicKeyInfo 的 Base64 编码的 SHA256 哈希?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36163093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com