apple-app-site-association通用链接签名问题

时间:2015-11-17 13:24:10

标签: ios iphone xcode openssl ios-universal-app

我正在进行通用链接,我有四个文件,如下所述(我的域名通过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/

中提醒的所有积分

到目前为止

  

您的文件应验证并使用openssl smime -verify -inform DER -noverify

返回其内容

然后我试着像下面那样验证它

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

我不知道哪个证书/密钥/文件放在哪里!我刚才尝试过,然后我得到了以下错误

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:

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

1 个答案:

答案 0 :(得分:1)

好的,它解决了。

我使用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 - >拥有3个链证书

     

certificate.cer - >有一个ssl提供者证书

     

privatefilekey.key - >是密钥文件