@@ -174,19 +174,18 @@ jobs:
174
174
path : ${{ env.DIST_DIR }}/${{ env.PACKAGE_FILENAME }}
175
175
176
176
create-windows-installer :
177
- runs-on : windows-latest
177
+ runs-on : windows-sign-pc
178
178
needs : create-release-artifacts
179
179
180
180
defaults :
181
181
run :
182
182
shell : bash
183
183
184
184
env :
185
- INSTALLER_CERT_WINDOWS_PFX : " /tmp/cert.pfx "
185
+ INSTALLER_CERT_WINDOWS_CER : " /tmp/cert.cer "
186
186
# We are hardcoding the path for signtool because is not present on the windows PATH env var by default.
187
187
# Keep in mind that this path could change when upgrading to a new runner version
188
- # https://github.com/actions/runner-images/blob/main/images/win/Windows2022-Readme.md#installed-windows-sdks
189
- SIGNTOOL_PATH : " C:/Program Files (x86)/Windows Kits/10/bin/10.0.22621.0/x86/signtool.exe"
188
+ SIGNTOOL_PATH : " C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x86/signtool.exe"
190
189
191
190
steps :
192
191
- name : Checkout repository
@@ -211,14 +210,16 @@ jobs:
211
210
MSBuild.exe ./installer/cli.wixproj -p:SourceDir="$SOURCE_DIR" -p:OutputPath="${GITHUB_WORKSPACE}/${{ env.DIST_DIR }}" -p:OutputName="$PACKAGE_FILENAME" -p:ProductVersion="$WIX_TAG"
212
211
213
212
- name : Save Win signing certificate to file
214
- run : echo "${{ secrets.INSTALLER_CERT_WINDOWS_PFX }}" | base64 --decode > ${{ env.INSTALLER_CERT_WINDOWS_PFX }}
213
+ run : echo "${{ secrets.INSTALLER_CERT_WINDOWS_CER }}" | base64 --decode > ${{ env.INSTALLER_CERT_WINDOWS_CER }}
215
214
216
215
- name : Sign MSI
217
216
env :
218
217
MSI_FILE : ${{ steps.buildmsi.outputs.msi }} # this comes from .installer/cli.wixproj
219
218
CERT_PASSWORD : ${{ secrets.INSTALLER_CERT_WINDOWS_PASSWORD }}
219
+ CONTAINER_NAME : ${{ secrets.INSTALLER_CERT_WINDOWS_CONTAINER }}
220
+ # https://stackoverflow.com/questions/17927895/automate-extended-validation-ev-code-signing-with-safenet-etoken
220
221
run : |
221
- "${{ env.SIGNTOOL_PATH }}" sign -d "Arduino CLI" -f ${{ env.INSTALLER_CERT_WINDOWS_PFX }} -p ${{ env.CERT_PASSWORD }} -fd sha256 -tr http://timestamp.digicert.com -td SHA256 -v "${{ env.MSI_FILE }}"
222
+ "${{ env.SIGNTOOL_PATH }}" sign -d "Arduino CLI" -f ${{ env.INSTALLER_CERT_WINDOWS_CER }} -csp "eToken Base Cryptographic Provider" -k "[{{ ${{ env.CERT_PASSWORD }}}}]=${{ env.CONTAINER_NAME }}" -fd sha256 -tr http://timestamp.digicert.com -td SHA256 -v "${{ env.MSI_FILE }}"
222
223
223
224
- name : Upload artifacts
224
225
uses : actions/upload-artifact@v3
0 commit comments