【问题标题】:Decrypt apple-app-site-association in browser在浏览器中解密 apple-app-site-association
【发布时间】:2018-02-14 05:20:09
【问题描述】:

我正在构建一个工具来验证使用 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"
                     ]
        }
    ]
}
}

非常感谢任何帮助!

【问题讨论】:

    标签: javascript ios openssl deep-linking pkcs#7


    【解决方案1】:

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

    以下是解码 CMS/PKCS#7 文件的示例:

    【讨论】:

    • 您应该提供一些代码来使用 PKIjs。否则,这可能只是评论而不是答案。
    猜你喜欢
    • 1970-01-01
    • 2020-08-28
    • 1970-01-01
    • 1970-01-01
    • 2017-02-16
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多