如何为MacOS App Bundle和Linux可执行文件签名数字签名

时间:2018-11-27 11:12:19

标签: linux digital-signature

我有一个Java swing应用程序,并为三个平台Window(exe),macOS(.app)和linux(.sh)构建可执行文件。我也有一个.p12文件,需要签署三个平台可执行文件。

我已经通过osslsigncode在Windows上为exe文件签名,并且可以在exe文件的属性中作为数字签名选项卡进行检查。

现在,我面临的问题是我不知道如何将.p12文件签名到macOS可执行文件(.app)和linux可执行文件(.sh)。

我也感到困惑,我们可以将.p12文件签名到macOS和Linux构建服务器(如Windows数字签名)上的Linux可执行文件吗?

我已经使用Linux构建服务器为三个平台构建可执行文件

我也尝试使用openssl命令:

openssl rsautl -sign -inkey MyFile.p12 -passin pass:mypass > /path/to/my/sh/file

但出现错误:无法加载私钥

有什么建议吗?

谢谢。

快乐的编码..

1 个答案:

答案 0 :(得分:0)

您可以使用此命令从.p12(pfx)中提取私钥

openssl pkcs12 -in file.p12 -nocerts -out key.pem

然后您可以签名文件

openssl rsautl -sign -inkey key.pem -in yourfile -out sigfile

并使用

openssl pkeyutl -verify -pubin -inkey pubkey.pem -sigfile sigfile -in yourfile

进行验证

但您不应使用实际文件,而应签名/验证校验和,因此最好使用

sha512sum yourfile | openssl rsautl -sign -inkey yourkey -out sigfile
sha512sum yourfile | openssl pkeyutl -verify -pubin -inkey pubkey.pem -sigfile sigfile