【问题标题】:automated "secure" code signing自动“安全”代码签名
【发布时间】:2012-08-13 08:57:21
【问题描述】:

我想在我们的构建服务器 (Jenkins) 中设置作业以自动签署生成的 jar。

出于显而易见的原因,我不想将证书和凭据放在版本控制中,甚至不希望在作业配置中读取。

理想情况下,我希望有某种“签名服务器”,构建服务器可以将 jar 发送到该服务器以进行签名。

根据文档,Eclipse 项目有一个system like that。但没有提及他们使用的技术。

那么有人知道“唱歌服务器”解决方案,还是解决此问题的不同方法?

【问题讨论】:

    标签: code-signing jar-signing


    【解决方案1】:

    我不确定现有的解决方案。但是,我认为您可以在一天内自行构建解决方案:

    机器 A 将运行 Jenkins 并拥有一个共享文件夹 机器 B 将运行任何具有签名密钥的应用程序/Web 服务器(例如 Apache + PHP)。

    作为 Jenkins 工作的一部分,您需要执行以下操作: a) 将 jar 复制到共享文件夹 b) 运行 shell 脚本“wget http://machineBURL /sign.php?filename=SomeJar.jar”

    在机器 B 上,您将拥有 PHP 脚本,它将获取传递的文件名,从共享文件夹中获取具有此文件名的 jar,对其进行签名并将其放回同一文件夹中。

    【讨论】:

      【解决方案2】:

      Eclispe WIKI 记录了sign process, 简称

      • 使用 scp 将 eclipse-master-${buildId}.zip 复制到使用 pserver 的 eclipse.org 签名暂存区。

      <exec dir="${packtmp}" executable="scp" output="signing.txt"> <arg line="${archiveName} dev.eclipse.org:${stagingDirectory}"/> </exec>

      • 在签名服务器上调用签名脚本 /usr/bin/sign。

      <exec dir="." executable="ssh" output="signing.txt" append="true"> <arg line="build.eclipse.org "cd ${stagingDirectory}; /usr/bin/sign ${stagingDirectory}/${archiveName} mail ${stagingDirectoryOutput}""/> </exec>

      • 轮询服务器以获取输出目录中的签名文件。

      <exec dir="." executable="scp" output="signing.txt" append="true"> <arg line="dev.eclipse.org:${stagingDirectory}/${buildId}-out/${archiveName} ${buildDirectory}/${buildLabel}"/> </exec>

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-01-22
        • 1970-01-01
        • 1970-01-01
        • 2014-04-21
        • 1970-01-01
        • 2021-08-06
        • 1970-01-01
        相关资源
        最近更新 更多