@@ -174,19 +174,18 @@ jobs:
174174          path : ${{ env.DIST_DIR }}/${{ env.PACKAGE_FILENAME }} 
175175
176176  create-windows-installer :
177-     runs-on : windows-latest  
177+     runs-on : windows-sign-pc  
178178    needs : create-nightly-artifacts 
179179
180180    defaults :
181181      run :
182182        shell : bash 
183183
184184    env :
185-       INSTALLER_CERT_WINDOWS_PFX : " /tmp/cert.pfx " 
185+       INSTALLER_CERT_WINDOWS_CER : " /tmp/cert.cer " 
186186      #  We are hardcoding the path for signtool because is not present on the windows PATH env var by default.
187187      #  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" 
190189
191190    steps :
192191      - name : Checkout repository 
@@ -211,14 +210,16 @@ jobs:
211210          MSBuild.exe ./installer/cli.wixproj -p:SourceDir="$SOURCE_DIR" -p:OutputPath="${GITHUB_WORKSPACE}/${{ env.DIST_DIR }}" -p:OutputName="$PACKAGE_FILENAME" -p:ProductVersion="$WIX_VERSION" 
212211
213212name : 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 }} 
215214
216215      - name : Sign MSI 
217216        env :
218217          MSI_FILE : ${{ steps.buildmsi.outputs.msi }}  #  this comes from .installer/cli.wixproj
219218          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
220221        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 }}" 
222223
223224name : Upload artifacts 
224225        uses : actions/upload-artifact@v3 
0 commit comments