Skip to content

Commit b6a923b

Browse files
authored
Build: Use Azure for Windows code-signing
GitHub: #7
1 parent b39611c commit b6a923b

1 file changed

Lines changed: 17 additions & 40 deletions

File tree

.github/workflows/build-and-release.yml

Lines changed: 17 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,13 @@ jobs:
6868
steps:
6969
- uses: actions/checkout@v4
7070

71+
- name: Azure login
72+
uses: azure/login@v1
73+
with:
74+
client-id: ${{ secrets.AZURE_CLIENT_ID }}
75+
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
76+
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
77+
7178
- name: Create Temp Directory
7279
run: mkdir dist
7380
shell: cmd
@@ -82,46 +89,16 @@ jobs:
8289
shell: cmd
8390
working-directory: dist
8491

85-
- name: Setup Certificate
86-
run: |
87-
echo "${{ secrets.SM_CLIENT_CERT_FILE_B64 }}" | base64 --decode > /d/Certificate_pkcs12.p12
88-
shell: bash
89-
90-
- name: Set variables
91-
id: variables
92-
run: |
93-
dir
94-
echo "::set-output name=version::${GITHUB_REF#refs/tags/v}"
95-
echo "::set-output name=KEYPAIR_NAME::gt-standard-keypair"
96-
echo "::set-output name=CERTIFICATE_NAME::gt-certificate"
97-
echo "SM_HOST=${{ secrets.SM_HOST }}" >> "$GITHUB_ENV"
98-
echo "SM_API_KEY=${{ secrets.SM_API_KEY }}" >> "$GITHUB_ENV"
99-
echo "SM_CLIENT_CERT_FILE=D:\\Certificate_pkcs12.p12" >> "$GITHUB_ENV"
100-
echo "SM_CLIENT_CERT_PASSWORD=${{ secrets.SM_CLIENT_CERT_PASSWORD }}" >> "$GITHUB_ENV"
101-
echo "C:\Program Files (x86)\Windows Kits\10\App Certification Kit" >> $GITHUB_PATH
102-
echo "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools" >> $GITHUB_PATH
103-
echo "C:\Program Files\DigiCert\DigiCert Keylocker Tools" >> $GITHUB_PATH
104-
shell: bash
105-
106-
- name: Setup Keylocker KSP on windows
107-
run: |
108-
curl -X GET https://one.digicert.com/signingmanager/api-ui/v1/releases/Keylockertools-windows-x64.msi/download -H "x-api-key:%SM_API_KEY%" -o Keylockertools-windows-x64.msi
109-
msiexec /i Keylockertools-windows-x64.msi /quiet /qn
110-
smksp_registrar.exe list
111-
smctl.exe keypair ls
112-
C:\Windows\System32\certutil.exe -csp "DigiCert Signing Manager KSP" -key -user
113-
shell: cmd
114-
115-
- name: Certificates Sync
116-
run: |
117-
smctl windows certsync
118-
shell: cmd
119-
120-
- name: Signing using Signtool
121-
run: |
122-
signtool.exe sign /sha1 ${{ secrets.SM_CODE_SIGNING_CERT_SHA1_HASH }} /tr http://timestamp.digicert.com /td SHA256 /fd SHA256 installer-wrapper.exe
123-
signtool.exe verify /v /pa installer-wrapper.exe
124-
working-directory: dist
92+
- name: Sign with Artifact Signing
93+
uses: azure/artifact-signing-action@v1
94+
with:
95+
endpoint: https://neu.codesigning.azure.net/
96+
signing-account-name: essential
97+
certificate-profile-name: spark-universe
98+
files: dist\installer-wrapper.exe
99+
file-digest: SHA256
100+
timestamp-rfc3161: http://timestamp.acs.microsoft.com
101+
timestamp-digest: SHA256
125102
- name: Rename executable
126103
env:
127104
VERSION: ${{ github.ref_name }}

0 commit comments

Comments
 (0)