Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Certificate 使用SPC文件在Linux上签名文件_Certificate_Key_Code Signing_Pem_Code Signing Certificate - Fatal编程技术网

Certificate 使用SPC文件在Linux上签名文件

Certificate 使用SPC文件在Linux上签名文件,certificate,key,code-signing,pem,code-signing-certificate,Certificate,Key,Code Signing,Pem,Code Signing Certificate,我有一个.key文件,从中生成了一个.csr文件,用于购买GoDaddy代码签名证书。我从戈达迪那里收到一个.spc文件 我使用以下命令将spc文件导出到pem: openssl pkcs7 -inform DER -in mycert.spc -print_certs -out certs.pem 然后,我打开certs.pem文件,将前两个证书复制到一个名为cert-chain.crt的文件中,并将最后一个(我的)复制到一个名为server.crt的文件中 我尝试使用以下命令对文件进行签

我有一个.key文件,从中生成了一个.csr文件,用于购买GoDaddy代码签名证书。我从戈达迪那里收到一个.spc文件

我使用以下命令将spc文件导出到pem:

openssl pkcs7 -inform DER -in mycert.spc -print_certs -out certs.pem 
然后,我打开certs.pem文件,将前两个证书复制到一个名为cert-chain.crt的文件中,并将最后一个(我的)复制到一个名为server.crt的文件中

我尝试使用以下命令对文件进行签名:

openssl smime -sign -in a.mobileconfig -out signed_a.mobileconfig -signer cert/server.crt -inkey cert/ios_apn.key -certfile cert/cert-chain.crt -outform der -nodetach
但我得到的是:

unable to load certificate
11911:error:0906D06C:PEM routines:PEM_read_bio:no start line:/SourceCache/OpenSSL098/OpenSSL098-41/src/crypto/pem/pem_lib.c:648:Expecting: TRUSTED CERTIFICATE

我做错了什么?我通常应该如何使用提供的SPC文件对a.mobileconfig文件进行签名?

您的证书采用DER格式,但openssl采用PEM格式。您应该在命令中添加
-inform der

openssl smime -sign -in a.mobileconfig -out signed_a.mobileconfig -signer cert/server.crt -inkey cert/ios_apn.key -certfile cert/cert-chain.crt -inform der -outform der -nodetach