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