apple-app-site-association 通用 link 签名问题

apple-app-site-association universal link signing issue

我正在处理通用链接,我有四个文件,如下所述(我的域通过它们进行了 SSL 认证),

ACertificate-1.cer
ACertificate-2.cer
ServerCertificate.cer
Private.key

和 Json 文件

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "ZY9H86N885.com.abc.Developementabc",
                "paths": ["*"]
            }
        ]
    }
}

使用以下命令我已经签署了 apple-app-site-association 文件

cat json | openssl smime -sign -inkey Private.key -signer ServerCertificate.cer -certfile ACertificate-1.cer -noattr -nodetach -outform DER > apple-app-site-association

我不知道第二个证书放在哪里ACertificate-2.cer,所以我就这样了。

并且我完成了 https://limitless-sierra-4673.herokuapp.com/

中提示的所有要点

到目前为止

Your file should validate and return its contents with openssl smime -verify -inform DER -noverify

然后我尝试如下验证它

openssl smime -verify -in apple-app-site-association -inform DER -content json -noverify -binary ServerCertificate.cer > /dev/null

我不知道把哪个 certificate/key/file 放在哪里!我只是按照上面的方法尝试,然后出现以下错误

Verification failure
139806288791456:error:04091068:rsa routines:INT_RSA_VERIFY:bad signature:rsa_sign.c:293:
139806288791456:error:21071069:PKCS7 routines:PKCS7_signatureVerify:signature failure:pk7_doit.c:1222:
139806288791456:error:21075069:PKCS7 routines:PKCS7_verify:signature failure:pk7_smime.c:410:

我哪里做错了 & 帮我解决这个问题

好的,解决了。

我使用 openssl 命令将这些链式证书合并为一个 certificate.crt,然后我使用以下命令签署了 apple 关联文件

sudo openssl smime -sign -signer my_combined_certificate.crt -inkey private.key -in json.txt -out apple-app-site-association

它起作用了,深层链接现在起作用了:)

更新 1

如果您有单独的文件而不是合并的文件,则可以使用以下命令对其进行签名。

cat file.json | openssl smime -sign -inkey privatefile.key -signer servercertificate.cer -certfile certficate.cer -noattr -nodetach -outform DER > apple-app-site-association

signer.cer

servercertificate.cer --> having 3 chain certificates

certificate.cer --> have one ssl provider certificate

privatefilekey.key -->is key file