我正在进行通用链接,我有四个文件,如下所述(我的域名通过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:
我做错了&帮我解决这个问题
答案 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 - >是密钥文件