【问题标题】:How to do Code-signing using appdmg tool?如何使用 appdmg 工具进行代码签名?
【发布时间】:2019-03-22 14:40:13
【问题描述】:

这里提到https://github.com/LinusU/node-appdmg 创建dmg。

我没有为“代码签名”添加任何示例。

有没有人用它来创建 dmg 可以帮助我知道在这两个占位符中提供什么?第二个是可选的,我仍然想知道。

{
  "title": "My App",
  "icon": "app.icns",
  "icon-size": 108,
  "background": "Resources/SplashScreen/dmg-background.png",
  "contents": [
    { "x": 450, "y": 150, "type": "link", "path": "/Applications" },
    { "x": 150, "y": 150, "type": "file", "path": "/My App.app" }
  ],
  "code-sign": [
     { "signing-identity" : ""},
     { "identifier" : ""}   
  ]
}

【问题讨论】:

    标签: macos code-signing dmg


    【解决方案1】:

    好吧,我从来没有使用过node-appdmg,但是文档说:

    code-sign (object, optional) - 用于对 DMG 进行代码签名的选项 signing-identity (string, required) - 用于签署结果 DMG 的身份

    identifier (string, optional) - 显式设置嵌入在代码签名中的唯一标识符字符串

    您可以使用以下命令列出代码签名身份:

    security find-identity -v -p codesigning

    1) 4E8D512C8480FAC679947D6E50190AE9BAB3E825 "3rd Party Mac Developer Application: Developer Name (DUCNFCN445)"
    2) 8B0EBBAE7E7230BB6AF5D69CA09B769663BC844D "Mac Developer: Developer Name (DUCNFCN445)"
    3) 4E8D512C8480AAC67995D69CA09B769663BC844D "iPhone Developer: App Developer (DUCNFCN445)"
    4) 65E24CDAF5B3E1E1480818CA4656210871214337 "Developer ID Application: App Developer (DUCNFCN445)"
       4 valid identities found
    

    所以你可以像这样指定一个身份:

    { "signing-identity" : "Developer ID Application: App Developer (DUCNFCN445)"},
    

    关于“标识符”,可以参考这个technical note。它说:

    签名标识符也嵌入在 DR 中,如果未明确提供,则默认为 Info.plist 中的 CFBundleIdentifier 以方便使用。就代码签名而言,标识符没有任何意义,除了作为使 DR 唯一的一种手段。

    您的 .dmg 将没有包标识符。就我而言,它似乎将其默认为 .dmg 的名称(因此,我的 .dmg 为 myproduct.dmg,而我的默认标识符为 myproduct)。

    签名后可以这样查看签名:

    codesign -dv /path/to/myproduct.dmg
    

    你会看到标识符:

    可执行文件=/path/to/myproduct.dmg

    标识符=我的产品

    格式=磁盘映像

    ...等

    【讨论】:

      【解决方案2】:

      格式错误,应该是:

      {
        "title": "My App",
        "icon": "app.icns",
        "icon-size": 108,
        "background": "Resources/SplashScreen/dmg-background.png",
        "contents": [
          { "x": 450, "y": 150, "type": "link", "path": "/Applications" },
          { "x": 150, "y": 150, "type": "file", "path": "/My App.app" }
        ],
        "code-sign": {
          "signing-identity" : "Developer ID Application: xxx",
          "identifier" : "<Your BundleID>"
        }
      }
      

      【讨论】:

        猜你喜欢
        • 2016-12-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-21
        相关资源
        最近更新 更多