如何从 GoDaddy 导入证书进行 Java 代码签名? [关闭]

2024-03-01

我需要能够使用 CA 的证书对 jar 文件进行签名。

我按照 GoDaddy 文档中有关如何执行此操作的说明进行操作:http://support.godaddy.com/help/article/4780/signing-java-code http://support.godaddy.com/help/article/4780/signing-java-code

但是,步骤 3 需要导入从 GoDaddy 网站获取的证书文件。根据文档,命令是:

keytool -import -trustcacerts -keystore codesignstore -storepass <yourstorepwd> -alias codesigncert -file mycert.cer

尽管我成功提交了 CSR(由 keytool 生成)并获得了响应,但我无法弄清楚如何获取 mycert.cer 文件。有一个选项可以下载 PEM 文件。但运行上述命令后,我收到错误“keytool错误:java.lang.Exception:回复中的证书链不完整”。我已经尝试过多次,并仔细检查我使用的是正确的密钥库。我什至尝试过一次使用 SSH-1 重新加密,另一次使用 SSH-2 重新加密。据此人介绍(https://stackoverflow.com/questions/20793254/signing-a-jar-the-signers-certificate-chain-is-not-validated?rq=1 https://stackoverflow.com/questions/20793254/signing-a-jar-the-signers-certificate-chain-is-not-validated?rq=1),他们至少能够成功导入 PEM 文件。但我不确定这是否是正确的方法。

GoDaddy 的技术支持绝对是糟糕的。与我交谈过的大多数技术人员根本不熟悉 keytool,我花了好几次尝试给他们打电话,然后他们才将我转到他们的 SSL 部门 (480-505-8852),这至少比一般的要好一些支持。

如果我使用 Internet Explorer 或 Firefox,我相信我可以自动生成 CSR,而不是通过关键工具创建 CSR。然后我将通过网络浏览器导出证书。通过阅读其他各种在线文档,我相信我可以使用 openssl 转换为 keytool 的正确格式。我还不确定这将如何运作的细节,但我没有看到任何其他选择。

有没有人成功做到这一点或有任何关于如何继续的指示?我在这里发现了类似的问题(使用 GoDaddy 的 spc 文件签署 java 小程序 https://stackoverflow.com/questions/4369576/signing-a-java-applet-with-an-spc-file-from-godaddy),但答案只是让我注意到 GoDaddy 的糟糕文档。如果可以的话,我会使用另一个 CA,但我已经付了钱并完成了漫长的验证过程。


解决方法是联系 GoDaddy 并让他们重新颁发您组织的证书。在证书设置过程中,您必须选择 SHA-1 协同设计证书而不是 SHA-2。仅当您的证书有效期未延长至 2016 年时,选择 SHA-1 的选项才可用(见下文),因此确保他们了解您的最终目标是将 SHA-2 证书重新创建为 SHA-1,以便他们知道向您出售具有正确有效期的证书。

我今天用 SHA-2 证书换取了 SHA-1,并且GoDaddy 的 Java 代码签名说明 http://support.godaddy.com/help/article/4780/signing-java-code工作完美。

GoDaddy 告诉我 Keytool 可能无法导入从其 SHA-2(2048 长度)协同设计证书生成的证书响应链。我保留对 Keytool 的判断,因为当按照 @mogsie 的答案从 pem 文件中删除 GoDaddy 的根 SHA1 证书时,它可以很好地导入 SHA-2 证书。

GoDaddy 在授予协同设计证书时会自动使用 SHA-2,该证书将延续到 2017 年,因为 Microsoft 不会接受低于 SHA-2 的证书2016 年 1 月 1 日 http://social.technet.microsoft.com/wiki/contents/articles/1760.windows-root-certificate-program-technical-requirements-version-2-0.aspx,因此,如果您在市场上寻找 SHA-1 证书,它将具有短期有效期。

通过 Java Keytool 更新(我使用的是 1.6)或者 GoDaddy 的 Sha256withRSA 自签名证书得到广泛信任,该问题可能会消失。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 GoDaddy 导入证书进行 Java 代码签名? [关闭] 的相关文章

随机推荐

  • 如何在不同线程中使用实体框架? [复制]

    这个问题在这里已经有答案了 我有一个实体框架dbContext以及对数据库进行一些操作的方法 如何正确地从多个线程调用它以避免死锁 连接错误等 我尝试了不同的方法 但也有很多例外 public void Foo Bar bar using
  • 什么是惰性分配?

    对象的延迟分配是什么意思以及它有什么用 延迟分配简单地意味着直到实际需要资源时才分配资源 这对于单例对象来说很常见 但严格来说 只要尽可能晚地分配资源 就有一个延迟分配的例子 通过延迟分配资源直到您真正需要它 您可以减少启动时间 如果您从未
  • 近似保序霍夫曼码

    我正在做算法和数据结构课程的作业 我无法理解给出的说明 我会尽力解释这个问题 我给出的输入是一个正整数n其次是n正整数 表示有序字符集中符号的频率 或权重 第一个目标是构造一棵树 为有序字符集中的每个字符提供近似的保序霍夫曼代码 我们要通过
  • Config.h - 没有这样的文件或目录

    文件 safe read c 包含lib config h 这个文件放在哪里 我在库中找到了许多具有此名称的文件 但我不知道哪个是正确的 UPDATE 我的文件有 include
  • 使用 dplyr 跨多行修改值的更有效方法

    在学习了 R 中数据转换的基础知识后 我现在正在数据集上进行练习 我确实有四个具有相同值的变量 我想将数值修改为字符串 我在这个网站上找到了函数 case when 并将其应用到每一列 但我真的很想做得更快 数据看起来像这样 climate
  • 有哪些可用于 gtk+ 开发的 IDE [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • MySQL 查询缓存:最大缓存大小限制为 128 MB?

    我的应用程序是数据库密集型的 因此我非常努力地确保应用程序和 MySQL 数据库尽可能高效地协同工作 目前 我正在调整 MySQL 查询缓存 使其符合服务器上运行的查询的特征 query cache size是可以存储在缓存中的最大数据量
  • openpyxl - 在现有合并单元格的 Excel 文件中添加新行

    Before https i stack imgur com 20JFY png After https i stack imgur com 9d7m6 png 所以 我试图在 Excel 表中添加 6 行 我用过 openpyxl wor
  • 如何在java或clojure中等待进程结束

    当我未启动的进程结束时 如何通知我 它们是恢复其退出代码和 或输出的方法吗 执行监视的进程将以 root 管理员身份运行 您可以通过调用列出所有当前进程并解析输出的 shell 命令来检查进程当前是否正在从 java 运行 在linux u
  • 如何使用 jQuery 销毁内联 CKEditor

    假设这是我的代码 div class editor div This is working for me editor click function this ckeditor This is the problem editor on f
  • 在 C# 源代码中打破长字符串的最佳方法

    我想知道在 C 源代码中打破长字符串的 最佳实践 是什么 是这个字符串吗 string1 string2 string3 在编译期间或运行时连接 它是在编译时完成的 这与 string1string2string3 完全相同 假设您有 st
  • Django 相当于每个用户的最新条目

    我很惊讶这个问题没有被提出 在网上找不到太多 Using Entry objects latest created at 我可以恢复所有 Entry 对象的最新条目 但是如果我想要每个用户的最新条目 这类似于 SQL 最新记录查询 但是我如
  • 执行内联powershell脚本

    我正在尝试从任务计划程序调用内联 powershell 脚本 以便在触发特定事件时发送电子邮件 我无法在任务计划程序操作窗口中使用本机 发送电子邮件 操作 因为 SMTP 服务器需要 SSL 并且无法在操作窗口中指定此操作 因此 我希望 启
  • 同步集合线程安全

    我有 System Collections Generic SynchronizedCollection 共享集合 我们的代码使用 Net 4 0任务库来跨越线程并将同步集合传递给线程 到目前为止 线程尚未向集合中添加或删除项目 但是新的要
  • Java 中什么时候方法调用可以更改参数,什么时候不可以更改参数? [复制]

    这个问题在这里已经有答案了 这是在java中 我尝试在这里寻找 谷歌搜索这个问题的答案 但找不到足够的答案 所以如果这是重复的 我深表歉意 我对更改您输入的参数的方法背后的规则感到困惑 例如 考虑以下示例 public static voi
  • logback每小时回滚时删除MaxHistory之前的日志

    我使用下面的附加程序 我可以看到回滚每小时发生一次 但我提到了
  • 如何测试包含 gets.chomp 的函数?

    我有一个使用 gets chomp 的简单函数 如下所示 def welcome user puts Welcome What would you like to do action gets chomp end 我想用它来测试它ruby是
  • RAND_MAX 宏:有符号还是无符号?

    我查阅了 C 标准 从 1999 年开始 它只说RAND MAX应该至少为 32767 但没有说明该宏是否应扩展为有符号整数或无符号整数 单一 UNIX 规范 link 1 http pubs opengroup org onlinepub
  • fileprivate 和 private 扩展名之间的区别?

    斯威夫特3 0 我知道fileprivate访问级别修饰符限制对声明它的源文件的函数 属性的使用 并且private 仅限于声明的词法范围 但似乎这条规则不适用于延期 例如 此代码有效 class Foo fileprivate exten
  • 如何从 GoDaddy 导入证书进行 Java 代码签名? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要能够使用 CA 的证书对 jar 文件进行签名 我按照 GoDaddy 文档中有关如何执行此操作