Skip to content

Issue with notarizing Electron App #1774

Open
@timeowilliams

Description

Preflight Checklist

  • I have read the contribution documentation for this project.
  • I agree to follow the code of conduct that this project follows, as appropriate.
  • I have searched the issue tracker for a bug that matches the one I want to file, without success.

Issue Details

  • Electron Packager Version:
    18.3.5
  • Electron Version:
    33.0.1
  • Operating System:
    *macOS 14.5 Sonoma

Expected Behavior

I expected the electron app to have signed all of the electron frameworks without any issues from Apple.

Actual Behavior

Upon uploading the zip folder to Apple, I'm getting an error that there are a few binaries with invalid signatures/not signed.

Logs from Apple:

{
  "logFormatVersion": 1,
  "jobId": "660cb2fc-86cf-44c2-89c7-5672db290cbe",
  "status": "Invalid",
  "statusSummary": "Archive contains critical validation errors",
  "statusCode": 4000,
  "archiveFilename": "Deep Focus.zip",
  "uploadDate": "2024-10-18T00:10:21.567Z",
  "sha256": "d625c2c419b24b4aa4841c323399201203303fc2c8dea24a8b22aadd8b501e85",
  "ticketContents": null,
  "issues": [
    {
      "severity": "error",
      "code": null,
      "path": "Deep Focus.zip/Deep Focus.app/Contents/MacOS/Deep Focus",
      "message": "The signature of the binary is invalid.",
      "docUrl": "https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution/resolving_common_notarization_issues#3087735",
      "architecture": "arm64"
    },
    {
      "severity": "error",
      "code": null,
      "path": "Deep Focus.zip/Deep Focus.app/Contents/Frameworks/Electron Framework.framework/Electron Framework",
      "message": "The signature of the binary is invalid.",
      "docUrl": "https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution/resolving_common_notarization_issues#3087735",
      "architecture": "arm64"
    },
    {
      "severity": "error",
      "code": null,
      "path": "Deep Focus.zip/Deep Focus.app/Contents/Frameworks/ReactiveObjC.framework/ReactiveObjC",
      "message": "The signature of the binary is invalid.",
      "docUrl": "https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution/resolving_common_notarization_issues#3087735",
      "architecture": "arm64"
    },
    {
      "severity": "error",
      "code": null,
      "path": "Deep Focus.zip/Deep Focus.app/Contents/Frameworks/Squirrel.framework/Squirrel",
      "message": "The signature of the binary is invalid.",
      "docUrl": "https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution/resolving_common_notarization_issues#3087735",
      "architecture": "arm64"
    },
    {
      "severity": "error",
      "code": null,
      "path": "Deep Focus.zip/Deep Focus.app/Contents/Frameworks/Mantle.framework/Mantle",
      "message": "The signature of the binary is invalid.",
      "docUrl": "https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution/resolving_common_notarization_issues#3087735",
      "architecture": "arm64"
    }
  ]
}

To Reproduce

Please have the following certificates at hand to assist with the signing and notarization:
Developer ID Application
(Please create an Apple Developer account to get this certificate if not present)

  1. Clone repo
  2. Install and build (pnpm install or npm install) & then pnpm start then run node scripts/package.js
  3. Create a zip file of the created contents of Deep Focus.app.
  4. Notarize the application:
    xcrun notarytool submit Deep\ Focus.zip --keychain-profile "notary" --wait

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions