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