![从 .bin 和 .der 文件生成 .p7b 文件](https://linux22.com/image/610135/%E4%BB%8E%20.bin%20%E5%92%8C%20.der%20%E6%96%87%E4%BB%B6%E7%94%9F%E6%88%90%20.p7b%20%E6%96%87%E4%BB%B6.png)
我正在使用 Debian 并且正在尝试加入带有证书的文件。
我尝试file.bin
+ cert.der
=> file.p7b
。为此,我尝试使用 openssl 命令:
openssl pkcs7 -in cert.der -in file.bin -out file.p7b
但它给了我一个错误:
unable to load PKCS7 object
27849:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:647:Expecting: PKCS7
我也试过了
openssl pkcs7 -inform der -in cert.der -in file.bin -out file.p7b
这给了我
unable to load PKCS7 object
28160:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1306:
28160:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:380:Type=PKCS7
答案1
我真正想要的是签署固件。经过一番研究,我找到了解决方案,我无法签署固件,因为我没有制造商的私钥,而且他们肯定不会给我。好吧,我可以用自己的私钥签署,但固件无法工作,因为调制解调器中的公钥不匹配。
如果我有私钥并且想要签名,我将必须使用下一个命令:
openssl smime –sign –in <unsigned_file.bin> –signer <sign_cert_file> –outform PEM –binary –inkey <sign_cert_pk_file> –out signed_file.p7b