Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Verify Windows and Mac Signing signatures in all executables and installers #848

Merged
merged 92 commits into from
Dec 1, 2023

Conversation

andrew-m-leonard
Copy link
Contributor

Fixes adoptium/temurin-build#3494

For Temurin builds, verify that for Windows and Mac platforms all the following are correctly signed with a non-adhoc Signature:

  • Mac:
    • Within JMODs executable format files
    • jdk|jre/bin executable format files
    • *.pkg installers (also verify Notarized)
  • Windows:
    • Within JMODs all .exe/.dll executable files
    • jdk|jre/bin all .exe/.dll executable files
    • *.msi installers

Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Signed-off-by: Andrew Leonard <anleonar@redhat.com>
@andrew-m-leonard
Copy link
Contributor Author

run tests

Copy link
Contributor

@adamfarley adamfarley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@steelhead31 steelhead31 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@eclipse-temurin-bot
Copy link
Collaborator

 PR TESTER RESULT 

❎ Some pipelines failed or the job was aborted! ❎
See the pipeline-build-check below for more information...

@karianna
Copy link
Contributor

Digging into the pipeline failures - looks like Mac Os X signing failures e.g.,

Error: executable is 'adhoc' Signed: unpacked/jdk/expanded_java.management.jmod/lib/libmanagement.dylib
FAILURE: The following 194 executables are not signed correctly:
unpacked/jre/jdk-21.0.1+12-jre/Contents/Home/bin/jwebserver
unpacked/jre/jdk-21.0.1+12-jre/Contents/Home/bin/jfr
unpacked/jre/jdk-21.0.1+12-jre/Contents/Home/bin/rmiregistry

Copy link
Contributor

@karianna karianna left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Error: executable is 'adhoc' Signed: unpacked/jdk/expanded_java.management.jmod/lib/libmanagement.dylib
FAILURE: The following 194 executables are not signed correctly:
unpacked/jre/jdk-21.0.1+12-jre/Contents/Home/bin/jwebserver
unpacked/jre/jdk-21.0.1+12-jre/Contents/Home/bin/jfr
unpacked/jre/jdk-21.0.1+12-jre/Contents/Home/bin/rmiregistry

@andrew-m-leonard
Copy link
Contributor Author

Error: executable is 'adhoc' Signed: unpacked/jdk/expanded_java.management.jmod/lib/libmanagement.dylib FAILURE: The following 194 executables are not signed correctly: unpacked/jre/jdk-21.0.1+12-jre/Contents/Home/bin/jwebserver unpacked/jre/jdk-21.0.1+12-jre/Contents/Home/bin/jfr unpacked/jre/jdk-21.0.1+12-jre/Contents/Home/bin/rmiregistry

@karianna So yeah, the pr-tester does not Eclipse "Sign" the dylibs, so it's actually accurate, but we obviously don't want the pr-tester to fail! So I shall have to exclude the sign_verification from the pr-tester.

Signed-off-by: Andrew Leonard <anleonar@redhat.com>
@andrew-m-leonard
Copy link
Contributor Author

run tests

@andrew-m-leonard andrew-m-leonard dismissed karianna’s stale review November 30, 2023 08:48

Added check to not verify pr-tester as it does not sign binaries

@eclipse-temurin-bot
Copy link
Collaborator

 PR TESTER RESULT 

❎ Some pipelines failed or the job was aborted! ❎
See the pipeline-build-check below for more information...

@andrew-m-leonard
Copy link
Contributor Author

run tests

@eclipse-temurin-bot
Copy link
Collaborator

 PR TESTER RESULT 

✅ All pipelines passed! ✅

@andrew-m-leonard
Copy link
Contributor Author

@karianna checks look all good now

@andrew-m-leonard andrew-m-leonard merged commit 7b9559c into adoptium:master Dec 1, 2023
28 checks passed
luhenry pushed a commit to luhenry/adoptium-ci-jenkins-pipelines that referenced this pull request Feb 3, 2024
…allers (adoptium#848)

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Signing verifier job

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

* Don't verify pr-tester binaries as they are not signed

Signed-off-by: Andrew Leonard <anleonar@redhat.com>

---------

Signed-off-by: Andrew Leonard <anleonar@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
installer Issues that relate to our installer jobs or installer repo jenkins-pipeline
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Verify Windows & Mac Signatures are present on all necessary executables
5 participants