【问题标题】:Safari Extension Developer Certificate - WindowsSafari 扩展开发者证书 - Windows
【发布时间】:2013-04-07 07:47:24
【问题描述】:

我正在尝试开始 Safari 扩展开发,但我不断收到“没有 Safari 扩展开发者证书”错误。

我在这里按照 openssl 说明进行操作: making CSR certificates in Windows (7)

我将 CSR 文件上传到 developer.apple.com,下载了生成的文件并将其安装在个人和受信任的根证书颁发机构商店中。扩展构建器中没有任何反应。

这里的最高反应让我想到: Safari doesn't detect my Extension Certificate

它说“在另一台机器上,您没有与证书关联的私钥”。

我看到 openssl 命令为我生成了一个私钥文件。我需要在 Safari 的某个地方或操作系统的其他地方使用它吗?

我已经尝试了一整天,但我感觉我在这里遗漏了一些明显的东西。你能建议它是什么吗?

【问题讨论】:

  • 您要在 Windows 上执行此操作? Apple 对其开发人员证书页面进行了重大更改,包括删除所有 Windows 说明。在这一点上,我认为 Windows 不支持开发 Safari 扩展,除非您在 Apple 进行更改之前下载了证书。
  • 我最终能够解决它。我打算在这里发布解决方案,但我从来没有考虑过。如果我有空闲时间,我会在这周尝试。
  • 请发布解决方案。 ..我需要它
  • 我希望 Apple 保留原始的 Windows 说明,或者有人将它们存档。作为参考点仍然有用。
  • 这可能有点毫无意义。刚刚收到 Apple 电子邮件,Safari 开发程序将被合并到 Apple (iOS/Mac) 开发程序中,每年只需 99 美元,用于发布/发布官方 Safari 扩展(到图库)。这也适用于扩展更新。以这个价格,还不如买一台 Mac 并构建 iOS 和/或 Mac 应用程序。

标签: openssl certificate safari-extension csr


【解决方案1】:

好的,这是一个演练。

在其中两个步骤中,系统会要求您创建密码。您可以选择一个空的 - 只需按 Enter。

  1. 获取 OpenSSL。这里有几个选项,我有我的here。我下载了第一个东西(精简版)和 Visual C++ Redistributables(你可能已经有了它们,如果你需要它们,OpenSSL 安装程序会警告你)。我在 C:\OpenSSL 中安装了 OpenSSL,并选择将 OpenSSL DLL 复制到 OpenSSL 二进制目录。
  2. 在标准 Windows 终端中运行此命令:

    set OPENSSL_CONF=c:\OpenSSL\bin\openssl.cfg

  3. 然后这个(至于细节,我只输入了我的姓名和电子邮件,但苹果可能不需要这些):

    c:\OpenSSL\bin\openssl.exe req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout privateKey.key

  4. 在 developer.apple.com 的证书部分上传新文件 CSR.csr。作为回报,您将获得一个名为 safari_extension.cer 的文件。
  5. 运行这个:

    c:\OpenSSL\bin\openssl x509 -in safari_extension.cer -inform DER -out safari_extension_PEM.cer -outform PEM

  6. 还有这个:

    c:\OpenSSL\bin\openssl pkcs12 -export -in safari_extension_PEM.cer -inkey privateKey.key -out bundle.p12

  7. 双击 safari_extension.cer。将其安装在个人证书存储中。

  8. 双击 bundle.p12。安装在同一家商店。

就是这样。打开 Safari,它应该知道证书。

【讨论】:

  • 如果您只需要更新证书,是否有更快/更简单的方法?还是必须通过所有这些步骤才能更新?顺便说一句,我注意到 windows 有一个名为 CertUtil 的内置工具,您可以通过键入 certutil 来运行它,不能使用它来代替安装额外的软件吗?
  • 这有点复杂,但它有效。我用的是windows7 64位。不确定这是否值得一提,但如果您运行的是 64 位版本的 Windows,请确保下载 64 位版本的 C++ redist 和 64 位 OPENSSL。您需要将您的目录调整为 OpenSSL-Win64(或任何名称)。注意:确保在管理员模式下运行 CMD!同样在第 6 步中,系统会提示您输入密码,您可以通过在命令中添加 -password pass:1234 来绕过它。另请注意,生成的 *_PEM 和 *.cer 需要位于您运行这些命令的目录中
  • 我也有 64 位 Windows 7,我不需要下载 64 位版本的可执行文件。我也不需要以管理员身份运行 CMD。如果我的解决方案对某人不起作用,他们可以尝试 Tyler 的修正,但它应该以目前的形式工作。
  • 我在 Apple Developer 中没有看到上传选项(第 4 步)。这不再起作用了吗?
  • @user984003 我不确定。他们把它作为他们新的令人兴奋的苹果开发者计划的一部分,你必须付费,所以也许他们稍微改变了一些。我看到一个标题为“证书、标识符和配置文件”here,但我不确定上传按钮是否存在——我的公司目前不支持任何 Safari 扩展,所以我没有程序。
【解决方案2】:
猜你喜欢
  • 2016-12-28
  • 1970-01-01
  • 1970-01-01
  • 2019-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-24
  • 1970-01-01
相关资源
最近更新 更多