gpt4 book ai didi

android - SSL 主机名匹配如何在 JWS 上工作?

转载 作者:太空宇宙 更新时间:2023-11-03 13:34:37 25 4
gpt4 key购买 nike

当使用 Google SafetyNet for Android 时,文档建议您

Validate the SSL certificate chain and use SSL Hostname matching to ensure the leaf certification was issues to attest.android.com

现在这是如何工作的?我会假设我收到 JWS 消息检查证书和签名等,但会根据从 attest.android.com 获取的证书进行验证,但 attest.android.com 不是实时主机。

SSL 签名是否可以在事先不知道域的公钥的情况下进行验证?即我可以验证传入的 JWS 消息中的所有内容吗?我不明白这怎么可能,是吗?

最佳答案

不幸的是,文档并没有像您必须做的那样详细描述。

JWS 数据包括三个部分: header 、有效负载和签名。为简化起见, header 包含用于对有效负载进行签名的公钥证书,签名包含在末尾。

要验证 SafetyNet JWS,您首先需要提取 header 中嵌入的证书。这些证书具有可验证为公共(public)根证书的信任链,因此您应验证这些证书确实有效,并且它们已颁发给 attest.android.com

然后取出签名,并根据嵌入的证书对其进行验证。

如果您选中此项,则您可以信任负载。但在查看 basicIntegrityctsProfileMatch 之前,请确保 apkPackageNameapkDigestSha256apkCertificateDigestSha256 与您的应用相匹配,这样您就知道响应实际上来自您未修改的应用。

最理想的情况是,您的编程语言应该包括一个 JWS 库和一个 SSL 库,它们可以为您执行此操作,因此您不必自己编写。 public sample包含一个 Java 示例供您细读。

关于android - SSL 主机名匹配如何在 JWS 上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44262107/

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