Нотаризация MacOS не удалась из-за того, что файлы COPYRIGHT и LICENSE в комплекте JRE, созданные jpackage, не подписаныJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Нотаризация MacOS не удалась из-за того, что файлы COPYRIGHT и LICENSE в комплекте JRE, созданные jpackage, не подписаны

Сообщение Anonymous »

Теперь я ожидаю, что Apple будет менять цели каждый раз, когда мы будем делать сборку выпуска, и ей придется возиться со сценариями упаковки.
Окружающая среда:
  • Java 21.0.4+8-LTS-274
  • MacOS Sequoia 15.1.1 (24B91)
Фрагменты скриптов

Код: Выделить всё

jpackage \
--dest /Users/alanwhite/git/drumscore/DrumScore/bundles \
--app-version "${APP_VERSION}" \
--copyright 'Copyright (c) 2024 Alan R. White' \
--name 'DrumScoreEditor' \
--vendor 'drumscore.scot' \
--input /Users/alanwhite/git/drumscore/DrumScore/autobuild/target/build \
--main-jar "DrumScoreEditor-${APP_VERSION}.jar" \
--main-class org.whiteware.DrumScoreEditor \
--java-options '--add-opens java.desktop/com.apple.eawt.event=ALL-UNNAMED' \
--file-associations /Users/alanwhite/git/drumscore/DrumScore/autobuild/filetypes.txt \
--resource-dir /Users/alanwhite/git/drumscore/DrumScore/package/macosx \
--mac-package-name 'Drum Score Editor' \
--mac-package-signing-prefix 'org.whiteware.DrumScoreEditor' \
--mac-sign \
--mac-signing-key-user-name 'Alan White (XXXXXXXX)' \
--add-modules java.base,java.desktop,java.datatransfer,java.prefs,java.xml,java.logging
Обнаруженное сегодня изменение Apple привело к необходимости запустить его на DMG, созданном jpackage. Сборки прошлой недели работали нормально, скрипты не менялись и т.д. и т.п.

Код: Выделить всё

codesign --force --options=runtime --timestamp -s "Developer ID Application: Alan White (XXXXXXX)" -v ../bundles/DrumScoreEditor$PLATVER.dmg
Затем мы отправляем xcrun notarytool, и это не удается, как показывают журналы:

Код: Выделить всё

    {
"severity": "error",
"code": null,
"path": "DrumScoreEditor_macOS_arm64_3.2.1.dmg/DrumScoreEditor.app/Contents/runtime/Contents/MacOS/libjli.dylib",
"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"
}
Проверяем это следующим образом:

Код: Выделить всё

➜  Contents codesign -vvv --deep --strict runtime/Contents/MacOS/libjli.dylib
runtime/Contents/MacOS/libjli.dylib: a sealed resource is missing or invalid
file modified: /Volumes/DrumScoreEditor/DrumScoreEditor.app/Contents/runtime/Contents/Home/legal/java.datatransfer/COPYRIGHT
file modified: /Volumes/DrumScoreEditor/DrumScoreEditor.app/Contents/runtime/Contents/Home/legal/java.datatransfer/LICENSE
file modified: /Volumes/DrumScoreEditor/DrumScoreEditor.app/Contents/runtime/Contents/Home/legal/java.desktop/COPYRIGHT
file modified: /Volumes/DrumScoreEditor/DrumScoreEditor.app/Contents/runtime/Contents/Home/legal/java.desktop/LICENSE
file modified: /Volumes/DrumScoreEditor/DrumScoreEditor.app/Contents/runtime/Contents/Home/legal/java.logging/COPYRIGHT
file modified: /Volumes/DrumScoreEditor/DrumScoreEditor.app/Contents/runtime/Contents/Home/legal/java.logging/LICENSE
file modified: /Volumes/DrumScoreEditor/DrumScoreEditor.app/Contents/runtime/Contents/Home/legal/java.prefs/COPYRIGHT
file modified: /Volumes/DrumScoreEditor/DrumScoreEditor.app/Contents/runtime/Contents/Home/legal/java.prefs/LICENSE
file modified: /Volumes/DrumScoreEditor/DrumScoreEditor.app/Contents/runtime/Contents/Home/legal/java.xml/COPYRIGHT
file modified: /Volumes/DrumScoreEditor/DrumScoreEditor.app/Contents/runtime/Contents/Home/legal/java.xml/LICENSE
А потом индивидуально проверяем...

Код: Выделить всё

codesign -vvv --strict runtime/Contents/Home/legal/java.datatransfer/COPYRIGHT
runtime/Contents/Home/legal/java.datatransfer/COPYRIGHT: code object is not signed at all
Все это не было проблемой на прошлой неделе, jdk не изменился, как лучше всего решить эту проблему, поскольку, похоже, взломать DMG, созданный jpackage, и подписать эти файлы неправильно, должен ли jpackage сделать это, должны ли они иметь подписи от провайдера idk, я лаю не на то дерево?
Спасибо, ребята.

Подробнее здесь: https://stackoverflow.com/questions/792 ... -jre-creat
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»