diff --git a/.github/scripts/sign-exe.sh b/.github/scripts/sign-exe.sh
new file mode 100755
index 000000000..50b810423
--- /dev/null
+++ b/.github/scripts/sign-exe.sh
@@ -0,0 +1,15 @@
+set -e
+in_file=$1
+out_file=$2
+
+in_filename="$(basename -- $in_file)"
+echo "Copying $in_filename to remote machine..."
+scp -i $SSH_KEY $in_file $SSH_USER@vm-tools.spring.vmware.com:/opt/bamboo
+echo "Signing $in_filename..."
+ssh -i $SSH_KEY $SSH_USER@vm-tools.spring.vmware.com -- /build/apps/signing/signserver/signc -v --input=/opt/bamboo/$in_filename --keyid=authenticode_SHA2 --signmethod="winddk-8.1" --output=/opt/bamboo/$in_filename --hash sha256
+echo "Copying **signed** $in_filename back... (into $out_file)"
+scp -i $SSH_KEY $SSH_USER@vm-tools.spring.vmware.com:/opt/bamboo/$in_filename $out_file
+echo "Cleaning up remote machine..."
+ssh -i $SSH_KEY $SSH_USER@vm-tools.spring.vmware.com -- rm /opt/bamboo/$in_filename
+echo "Successfully signed $in_filename"
+
diff --git a/.github/workflows/experimental-eclipse-distro-build.yml b/.github/workflows/experimental-eclipse-distro-build.yml
index 6eda894bf..27bc6d6a2 100644
--- a/.github/workflows/experimental-eclipse-distro-build.yml
+++ b/.github/workflows/experimental-eclipse-distro-build.yml
@@ -79,4 +79,28 @@ jobs:
run: |
cd eclipse-distribution
KEYCHAIN=$RUNNER_TEMP/app-signing.keychain-db
- ./mvnw --batch-mode -U clean install -P${{ inputs.eclipse_profile }} -P${{ inputs.build_type }} -Pgitactions -Pgpg.sign -Dsigning.skip=true -Dmaven.repo.local=~/.m2/repository-signed -Dhttpclient.retry-max=20 -Dmaven.test.skip=true -Declipse.p2.mirrors=false -Dtycho.localArtifacts=ignore -Ds3service.https-only=true -Dp2.replaceQualifier=true -Dorg.eclipse.ecf.provider.filetransfer.httpclient.retrieve.readTimeout=1200000 -Dorg.eclipse.equinox.p2.transport.ecf.retry=5 -Dskip.eclipserun.proxies=false -Dskip.osx.signing=false -Dskip.win.signing=true -Dskip.osx.notarizing=false -Dtycho.equinox.resolver.uses=true
\ No newline at end of file
+ ./mvnw --batch-mode -U clean install -P${{ inputs.eclipse_profile }} -P${{ inputs.build_type }} -Pgitactions -Pgpg.sign -Dsigning.skip=true -Dmaven.repo.local=~/.m2/repository-signed -Dhttpclient.retry-max=20 -Dmaven.test.skip=true -Declipse.p2.mirrors=false -Dtycho.localArtifacts=ignore -Ds3service.https-only=true -Dp2.replaceQualifier=true -Dorg.eclipse.ecf.provider.filetransfer.httpclient.retrieve.readTimeout=1200000 -Dorg.eclipse.equinox.p2.transport.ecf.retry=5 -Dskip.eclipserun.proxies=false -Dskip.osx.signing=true -Dskip.win.signing=true -Dskip.osx.notarizing=true -Dtycho.equinox.resolver.uses=true
+ - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce
+ with:
+ name: win-zips
+ path: ${{ github.workspace }}/eclipse-distribution/org.springframework.boot.ide.product.${{ inputs.eclipse_profile }/target/products/*.win32.*.zip
+
+
+ sign-win-executable:
+ needs: eclipse-distro-build
+ runs-on: self-hosted
+ steps:
+ - uses: actions/download-artifact@cbed621e49e4c01b044d60f6c80ea4ed6328b281
+ with:
+ name: win-zips
+ - name: Sign EXE within zip files
+ id: sign
+ run: |
+ files=`ls *.zip`
+
+ for file in $files
+ do
+ echo "****************************************************************"
+ echo "*** Processing : ${file}
+ echo "****************************************************************"
+ done
diff --git a/eclipse-distribution/org.springframework.boot.ide.product.e428/pom.xml b/eclipse-distribution/org.springframework.boot.ide.product.e428/pom.xml
index 43953746a..bf43257d2 100644
--- a/eclipse-distribution/org.springframework.boot.ide.product.e428/pom.xml
+++ b/eclipse-distribution/org.springframework.boot.ide.product.e428/pom.xml
@@ -434,6 +434,7 @@
osx-dmg-creation
verify
+ ${skip.osx.notarizing}