有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在travis构建期间使用gpg2导入私钥?

我正在尝试为我的一个项目升级Travis CI构建,以便从“xenial”dist迁移到“仿生”dist,由于gpg命令中的行为差异,我在构建期间无法导入签名密钥。 “xenial”区包括gpg v1。4.20我使用这样的命令将我的签名密钥导入Travis build worker的本地密钥环:

gpg --import signing.key

“仿生”区现在包括gpg v2。2.4,与上面相同的命令现在失败,因为 gpg要求指定密码短语。我相信这个新需求是由于gpg命令在Travis构建中作为“根”运行

我可以用gpg v2重现这种行为。2.27在Fedora 34机器上。i、 例如,如果我以非root用户的身份运行gpg,gpg --import signing.key命令运行良好,不需要密码短语,但如果我以root用户的身份运行同一命令,gpg会在shell中显示一个对话框,询问我密码短语

我是否可以在Travis build中以root用户身份运行gpg来导入签名密钥,而无需指定密码短语

这是使用maven在maven Central上签名和部署JAR的java项目的一部分。其他人如何使用gpg v2实现这一点。x

提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    经过更多实验,我发现“批处理”选项允许导入成功,而无需指定密码短语:

    gpg  batch  import signing.key
    

    我发誓,我在提出上述问题之前尝试过这个选项,但也许我无意中尝试了与其他选项结合使用:)