javascript - 在浏览器中解密 apple-app-site-association

标签 javascript ios openssl deep-linking pkcs#7

我正在构建一个工具来验证使用 Apple 的 apple-app-site-association 文件设置的深层链接。在某些情况下,这些文件是 pkcs7-mime 加密的。

目前有什么方法可以完全在客户端解密这些文件吗?我研究过 WebCrypto 和类似工具,但找不到解决方案。

基本上,我想在 JS 中复制以下 openssl 命令:

openssl smime -verify -inform DER -noverify -in apple-app-site-association.p7m

这应该会成功输出有效的 JSON,例如:

{
"applinks": {
    "apps": [],
    "details": [
        {
            "appID": "4MU37S3E4Q.com.couchsurfing.CouchSurfing",
            "paths": [
                        "NOT /people/*/*",
                        "NOT /users/*/*",
                        "NOT /events/*/*",
                        "NOT /events/past",
                        "NOT /events/attending",
                        "NOT /events/organizing",
                        "NOT /events/featured",
                        "NOT /users/confirmation",
                        "/users/*",
                        "/people/*",
                        "/events/*",
                        "/get_verified",
                        "/messages/*",
                        "/hosting",
                        "/mobile-hangouts"
                     ]
        }
    ]
}
}

非常感谢任何帮助!

最佳答案

您可以使用 PKIjs .这是一个纯 JavaScript 库,实现了 PKI 应用程序中使用的格式(签名、加密、证书请求、OCSP 和 TSP 请求/响应)。它基于 WebCrypto(Web 加密 API)构建,无需插件即可在现代浏览器中运行。

下面是一个解码 CMS/PKCS#7 文件的例子:

关于javascript - 在浏览器中解密 apple-app-site-association,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48780157/

相关文章:

javascript - 如何根据元素更改光标

javascript - 从 Node.js 中的不同 IP 发送 HTTP 请求

javascript - 如何在 Navigator Onsen UI 中推送或替换页面?

objective-c - 找不到与应用程序标识符 '' 匹配的有效配置文件

ios - 如何获取 TableView 中点击对象的索引?

ios - 从 url objective-c 调整图像大小

php - 基于 Javascript 的 SSL

curl - 如何从代码中禁用服务器 key 交换?

javascript - 用于配置应用程序的 node.js 命令行脚本

android - 在 Win32 上构建适用于 Android (ARMv7) 的 OpenSSL