Skip to content

Commit fad01e7

Browse files
committed
feat(release): sign with Microsoft-trusted certificate
I purchased a code signing certificate from SSL.com. Use this certificate for signing instead of our self-signed certificate. MSIX installers on Windows require a trusted certificate. This change will allow us to publish quick-lint-js.msix on winget [1], as our .msix file will now be trusted. The new certificate has the same private RSA key as the old certificate. Verify for yourself: $ openssl x509 -in quick-lint-js.crt -modulus -noout Modulus=B82AAC5B78639913729B35DAFF5BEA11[snip]34216460047 $ openssl x509 -in old/quick-lint-js.cer -inform der -modulus -noout [snip; same data as above] * Replace quick-lint-js.cer with the new certificate. * Switch from .cer (x509 DER) to .crt (x509 PEM). I had problems getting the full chain stored in a .cer file. (It took me 3 hours to realize this mistake...) * Use SSL.com's timestamp signing service instead of DigiCert's. [1] microsoft/winget-pkgs#55794
1 parent 296b9a2 commit fad01e7

File tree

10 files changed

+195
-16
lines changed

10 files changed

+195
-16
lines changed

dist/certificates/README.md

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,11 @@ documentation](../../docs/CODE_SIGNING.md).
88

99
## Files
1010

11-
* `quick-lint-js.cer`: Self-signed certificate (public key). Use this file to
12-
verify signatures of quick-lint-js on macOS.
13-
* SHA1: dc4f675b74b3a86c1f59fbdac17538b7d996db99
11+
* `quick-lint-js.crt`: CA-signed certificate (public key). Use this file to
12+
verify signatures of quick-lint-js on macOS and Windows.
13+
* SHA1 for leaf: 15764dadd7d55ae74a614e7932896478251b7375
1414
* `quick-lint-js.gpg.key`: GPG key (public key). Use this file to verify GPG
1515
signatures of quick-lint-js.
16-
* `DigiCertAssuredIDRootCA_comb.crt.pem`: DigiCert's certificate. Use this file
17-
to verify timestamp signatures. Downloaded from
18-
<https://knowledge.digicert.com/generalinformation/INFO4231.html>.
19-
* `DigiCertTrustedRootG4.crt`: DigiCert's certificate. Use this file
20-
to verify timestamp signatures. Downloaded from
21-
<https://www.digicert.com/kb/digicert-root-certificates.htm>.
16+
* `SSL_COM_ROOT_CERTIFICATION_AUTHORITY_RSA.crt`: SSL.com's certificate. Use
17+
this file to verify timestamp signatures and `quick-lint-js.crt`. Downloaded
18+
from <https://www.ssl.com/how-to/install-ssl-com-ca-root-certificates/>.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIF2DCCBMCgAwIBAgIRAOQnBJX2jJHW0Ox7SU6k3xwwDQYJKoZIhvcNAQELBQAw
3+
fjELMAkGA1UEBhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMu
4+
QS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEiMCAG
5+
A1UEAxMZQ2VydHVtIFRydXN0ZWQgTmV0d29yayBDQTAeFw0xODA5MTEwOTI2NDda
6+
Fw0yMzA5MTEwOTI2NDdaMHwxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQ
7+
MA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTEwLwYD
8+
VQQDDChTU0wuY29tIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBMIIC
9+
IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA+Q/doyt9y9Aq/uxnhabnLhu6
10+
d+Hj9a+k7PpKXZHEV0drGHdrdvL9k+Q9D8IWngtmw1aUnheDhc5W7/IW/QBi9SIJ
11+
VOhlF05BueBPRpeqG8i4bmJeabFf2yoCfvxsyvNB2O3Q6Pw/YUjtsAMUHRAOSxng
12+
u07shmX/NvNeZwILnYZVYf16OO3+4hkAt2+hUGJ1dDyg+sglkrRueiLH+B6h47Ld
13+
kTGrKx0E/6VKBDfphaQzK/3i1lU0fBmkSmjHsqjTt8qhk4jrwZe8jPkd2SKEJHTH
14+
BD1qqSmTzOu4W+H+XyWqNFjIwSNUnRuYEcM4nH49hmylD0CGfAL0XAJPKMuucZ8P
15+
Osgz/hElNer8usVgPdl8GNWyqdN1eANyIso6wx/vLOUuqfqeLLZRRv2vA9bqYGjq
16+
hRY2a4XpHsCz3cQk3IAqgUFtlD7I4MmBQQCeXr9/xQiYohgsQkCz+W84J0tOgPQ9
17+
gUfgiHzqHM61dVxRLhwrfxpyKOcAtdF0xtfkn60Hk7ZTNTX8N+TD9l0WviFz3pIK
18+
+KBjaryWkmo++LxlVZve9Q2JJgT8JRqmJWnLwm3KfOJZX5es6+8uyLzXG1k8K8zy
19+
GciTaydjGc/86Sb4ynGbf5P+NGeETpnr/LN4CTNwumamdu0bc+sapQ3EIhMglFYK
20+
TixsTrH9z5wJuqIz7YcCAwEAAaOCAVEwggFNMBIGA1UdEwEB/wQIMAYBAf8CAQIw
21+
HQYDVR0OBBYEFN0ECQei9Xp9UlMSkpXuOIAlDaZZMB8GA1UdIwQYMBaAFAh2zcsH
22+
/yT2xc3tu5C84oQ3RnX3MA4GA1UdDwEB/wQEAwIBBjA2BgNVHR8ELzAtMCugKaAn
23+
hiVodHRwOi8vc3NsY29tLmNybC5jZXJ0dW0ucGwvY3RuY2EuY3JsMHMGCCsGAQUF
24+
BwEBBGcwZTApBggrBgEFBQcwAYYdaHR0cDovL3NzbGNvbS5vY3NwLWNlcnR1bS5j
25+
b20wOAYIKwYBBQUHMAKGLGh0dHA6Ly9zc2xjb20ucmVwb3NpdG9yeS5jZXJ0dW0u
26+
cGwvY3RuY2EuY2VyMDoGA1UdIAQzMDEwLwYEVR0gADAnMCUGCCsGAQUFBwIBFhlo
27+
dHRwczovL3d3dy5jZXJ0dW0ucGwvQ1BTMA0GCSqGSIb3DQEBCwUAA4IBAQAflZoj
28+
VO6FwvPUb7npBI9Gfyz3MsCnQ6wHAO3gqUUt/Rfh7QBAyK+YrPXAGa0boJcwQGzs
29+
W/ujk06MiWIbfPA6X6dCz1jKdWWcIky/dnuYk5wVgzOxDtxROId8lZwSaZQeAHh0
30+
ftzABne6cC2HLNdoneO6ha1J849ktBUGg5LGl6RAk4ut8WeUtLlaZ1Q8qBvZBc/k
31+
pPmIEgAGiCWF1F7u85NX1oH4LK739VFIq7ZiOnnb7C7yPxRWOsjZy6SiTyWo0Zur
32+
LTAgUAcab/HxlB05g2PoH/1J0OgdRrJGgia9nJ3homhBSFFuevw1lvRU0rwrROVH
33+
13eCpUqrX5czqyQR
34+
-----END CERTIFICATE-----

dist/certificates/old/README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Outdated code signing certificates
2+
3+
This directory contains Public Key Infrastructure (PKI) certificates used for
4+
code-signing past quick-lint-js release. These certificates are no longer in
5+
use.
6+
7+
## Files
8+
9+
* `quick-lint-js.cer`: Self-signed certificate (public key). Use this file to
10+
verify signatures of quick-lint-js on macOS and Windows.
11+
* SHA1: dc4f675b74b3a86c1f59fbdac17538b7d996db99
12+
* `DigiCertAssuredIDRootCA_comb.crt.pem`: DigiCert's certificate. Use this file
13+
to verify timestamp signatures. Downloaded from
14+
<https://knowledge.digicert.com/generalinformation/INFO4231.html>.
15+
* `DigiCertTrustedRootG4.crt`: DigiCert's certificate. Use this file
16+
to verify timestamp signatures. Downloaded from
17+
<https://www.digicert.com/kb/digicert-root-certificates.htm>.
File renamed without changes.
Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIG4DCCBMigAwIBAgIQe9I+4+0JsXzec4vnmq1mODANBgkqhkiG9w0BAQsFADB4
3+
MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0b24x
4+
ETAPBgNVBAoMCFNTTCBDb3JwMTQwMgYDVQQDDCtTU0wuY29tIENvZGUgU2lnbmlu
5+
ZyBJbnRlcm1lZGlhdGUgQ0EgUlNBIFIxMB4XDTIyMDQxODE5MzIxMloXDTIzMDQx
6+
ODE5MzIxMlowaTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExEzAR
7+
BgNVBAcMClNhbiBDYXJsb3MxFzAVBgNVBAoMDk1hdHRoZXcgR2xhemFyMRcwFQYD
8+
VQQDDA5NYXR0aGV3IEdsYXphcjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC
9+
ggIBALgqrFt4Y5kTcps12v9b6hHrff/Wr2lBX1t+/qVUBV7398IDqma8WIOQJxy5
10+
4KdBt5GfsOEOR1oav9JGYSew+g23nUlVHfxmk82rb5xzPj5rxm60FJYs56PHTHQe
11+
OHEINKxlz4sGlcwBBpG3AmdmVKlvMmtGqeo11W061FEogmvrUz98D7F0eo7Lbcsv
12+
lRVe6pxmyu190huPy1KDridMfqoSHpAlL/20iZQgJnZakVxcS8/yc8OoX5BQQ9xk
13+
s3vLI+YJf7lNUNxGmKHVtECXBfHMEiYX5WuY+n+17Be9DSVTV+/Y38M50RzfHkpq
14+
gNHRuXRjMjmgeMSDXhA8A3ebWY3lUMWNCNrV5wyBAwG7keUKCIOIvcPvlrhf7JfM
15+
tNrRQ8cQHDOOlkyVEA7Wj81yYCfxX+ioelRQsFc/Pl4xl4HOO8OkKgST9p4N8fTJ
16+
QrLsUhVRVCAb1/z74IRNRLaJ2FtJmoKrFUJ8KtYv8u/8zyyMYXBgoi8Bel6jf4M7
17+
5XQEz2RB8Z2Uls4dJwxo+FiPAM2HAho573TDsRfOCv9/QoaTUpYNyuZ3DMv3XaYm
18+
ccPjVCarCC95MOZzxZi2M4KdCdKeTLlBYwXCbBCNQGQCNs/C9plPmqCOHP4OxLhc
19+
iBtK+m7CWcM+mSXDy5pxYgHj+jInSFHBo9ywA9V8k0IWRgBHAgMBAAGjggFzMIIB
20+
bzAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFFTC/hCVAJPNavXnwNfZsku4jwzj
21+
MFgGCCsGAQUFBwEBBEwwSjBIBggrBgEFBQcwAoY8aHR0cDovL2NlcnQuc3NsLmNv
22+
bS9TU0xjb20tU3ViQ0EtQ29kZVNpZ25pbmctUlNBLTQwOTYtUjEuY2VyMFEGA1Ud
23+
IARKMEgwCAYGZ4EMAQQBMDwGDCsGAQQBgqkwAQMDATAsMCoGCCsGAQUFBwIBFh5o
24+
dHRwczovL3d3dy5zc2wuY29tL3JlcG9zaXRvcnkwEwYDVR0lBAwwCgYIKwYBBQUH
25+
AwMwTQYDVR0fBEYwRDBCoECgPoY8aHR0cDovL2NybHMuc3NsLmNvbS9TU0xjb20t
26+
U3ViQ0EtQ29kZVNpZ25pbmctUlNBLTQwOTYtUjEuY3JsMB0GA1UdDgQWBBSlKHv1
27+
DggY2FL1M/NI2NekRB939jAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQAD
28+
ggIBAIIIQXuQ+OKElzCX4vUR1Pse41DSnBmowE7ELFvradvv4XVCfX1KnCgkOmRt
29+
CO2LOY7BEXWKWhEAmhZNIxplPV4h9DRNCHQrIPe0icd/viX00Sqae+QGXSBpLFk4
30+
00pvrLAd1/NC9uqVIuDzn99kjDNL2YSSxd7h5EyctrWRmBRfazfpk4GkGLtIF7VR
31+
MbFdNPnS2Y6jaVPAQ/m7aeMrEhoGvq5+txttuEajXItthVoWhDsuPc9VcU0Nel0w
32+
Cp5S9v2PqNkgvQFDQESDrDhSOcNVrATsxE+vgV/0FF6V0Fko5HGbLX+tls4n8wqh
33+
U62RwbulAtqKlD2ajAdRWotM4IOsO9FsZsZkeIQ8HHF6JPiylu1qO7uKcibtWtgA
34+
70dSAtaVDfcK9vjV0xE0tGX40a37KjdN0aF+wo0iaxkQE0WgEoJl/y+BMtI7T5O4
35+
wiXk4ElMbAI9uQOKhJ7xpcRBS6qRDN7NSEXhURcjfk7vj+aMM/I4+mnLpZow8mdr
36+
YRLO7DAzSiBYeEx4HKezt6KVH/nFNwNICEV/CspHEIzHPr2OdhxlIKYTvZqKhM0J
37+
NieRSvIUfdnOcvd3p+l7UmGfYlQOurJy4z+XYiSCskosHgD8MMaIeynGMlhGk2j9
38+
xsNTekO3ull2IGv5jgvmxBO29y7b3hZ1stKJyoOwG37Bud7J
39+
-----END CERTIFICATE-----
40+
-----BEGIN CERTIFICATE-----
41+
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
75+
PGb/O7KVq5qNncyU8O14UH/sZEejnQ==
76+
-----END CERTIFICATE-----
77+
-----BEGIN CERTIFICATE-----
78+
MIIF2DCCBMCgAwIBAgIRAOQnBJX2jJHW0Ox7SU6k3xwwDQYJKoZIhvcNAQELBQAw
79+
fjELMAkGA1UEBhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMu
80+
QS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEiMCAG
81+
A1UEAxMZQ2VydHVtIFRydXN0ZWQgTmV0d29yayBDQTAeFw0xODA5MTEwOTI2NDda
82+
Fw0yMzA5MTEwOTI2NDdaMHwxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQ
83+
MA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTEwLwYD
84+
VQQDDChTU0wuY29tIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBMIIC
85+
IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA+Q/doyt9y9Aq/uxnhabnLhu6
86+
d+Hj9a+k7PpKXZHEV0drGHdrdvL9k+Q9D8IWngtmw1aUnheDhc5W7/IW/QBi9SIJ
87+
VOhlF05BueBPRpeqG8i4bmJeabFf2yoCfvxsyvNB2O3Q6Pw/YUjtsAMUHRAOSxng
88+
u07shmX/NvNeZwILnYZVYf16OO3+4hkAt2+hUGJ1dDyg+sglkrRueiLH+B6h47Ld
89+
kTGrKx0E/6VKBDfphaQzK/3i1lU0fBmkSmjHsqjTt8qhk4jrwZe8jPkd2SKEJHTH
90+
BD1qqSmTzOu4W+H+XyWqNFjIwSNUnRuYEcM4nH49hmylD0CGfAL0XAJPKMuucZ8P
91+
Osgz/hElNer8usVgPdl8GNWyqdN1eANyIso6wx/vLOUuqfqeLLZRRv2vA9bqYGjq
92+
hRY2a4XpHsCz3cQk3IAqgUFtlD7I4MmBQQCeXr9/xQiYohgsQkCz+W84J0tOgPQ9
93+
gUfgiHzqHM61dVxRLhwrfxpyKOcAtdF0xtfkn60Hk7ZTNTX8N+TD9l0WviFz3pIK
94+
+KBjaryWkmo++LxlVZve9Q2JJgT8JRqmJWnLwm3KfOJZX5es6+8uyLzXG1k8K8zy
95+
GciTaydjGc/86Sb4ynGbf5P+NGeETpnr/LN4CTNwumamdu0bc+sapQ3EIhMglFYK
96+
TixsTrH9z5wJuqIz7YcCAwEAAaOCAVEwggFNMBIGA1UdEwEB/wQIMAYBAf8CAQIw
97+
HQYDVR0OBBYEFN0ECQei9Xp9UlMSkpXuOIAlDaZZMB8GA1UdIwQYMBaAFAh2zcsH
98+
/yT2xc3tu5C84oQ3RnX3MA4GA1UdDwEB/wQEAwIBBjA2BgNVHR8ELzAtMCugKaAn
99+
hiVodHRwOi8vc3NsY29tLmNybC5jZXJ0dW0ucGwvY3RuY2EuY3JsMHMGCCsGAQUF
100+
BwEBBGcwZTApBggrBgEFBQcwAYYdaHR0cDovL3NzbGNvbS5vY3NwLWNlcnR1bS5j
101+
b20wOAYIKwYBBQUHMAKGLGh0dHA6Ly9zc2xjb20ucmVwb3NpdG9yeS5jZXJ0dW0u
102+
cGwvY3RuY2EuY2VyMDoGA1UdIAQzMDEwLwYEVR0gADAnMCUGCCsGAQUFBwIBFhlo
103+
dHRwczovL3d3dy5jZXJ0dW0ucGwvQ1BTMA0GCSqGSIb3DQEBCwUAA4IBAQAflZoj
104+
VO6FwvPUb7npBI9Gfyz3MsCnQ6wHAO3gqUUt/Rfh7QBAyK+YrPXAGa0boJcwQGzs
105+
W/ujk06MiWIbfPA6X6dCz1jKdWWcIky/dnuYk5wVgzOxDtxROId8lZwSaZQeAHh0
106+
ftzABne6cC2HLNdoneO6ha1J849ktBUGg5LGl6RAk4ut8WeUtLlaZ1Q8qBvZBc/k
107+
pPmIEgAGiCWF1F7u85NX1oH4LK739VFIq7ZiOnnb7C7yPxRWOsjZy6SiTyWo0Zur
108+
LTAgUAcab/HxlB05g2PoH/1J0OgdRrJGgia9nJ3homhBSFFuevw1lvRU0rwrROVH
109+
13eCpUqrX5czqyQR
110+
-----END CERTIFICATE-----
111+
-----BEGIN CERTIFICATE-----
112+
MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBM
113+
MSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5D
114+
ZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBU
115+
cnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIyMTIwNzM3WhcNMjkxMjMxMTIwNzM3
116+
WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMg
117+
Uy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSIw
118+
IAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0B
119+
AQEFAAOCAQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rH
120+
UV+rpDKmYYe2bg+G0jACl/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LM
121+
TXPb865Px1bVWqeWifrzq2jUI4ZZJ88JJ7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVU
122+
BBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4fOQtf/WsX+sWn7Et0brM
123+
kUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0cvW0QM8x
124+
AcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNV
125+
HRMBAf8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNV
126+
HQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15y
127+
sHhE49wcrwn9I0j6vSrEuVUEtRCjjSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfL
128+
I9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1mS1FhIrlQgnXdAIv94nYmem8
129+
J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5ajZt3hrvJBW8qY
130+
VoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI
131+
03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw=
132+
-----END CERTIFICATE-----

dist/certificates/relic-config.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ keys:
1717
windows_key:
1818
token: file_token
1919
keyfile: quick-lint-js-PRIVATE.key
20-
x509certificate: quick-lint-js.cer
20+
x509certificate: quick-lint-js.crt
2121
timestamp: true
2222

2323
timestamp:
2424
urls:
25-
- http://timestamp.digicert.com
26-
cacert: DigiCertAssuredIDRootCA_comb.crt.pem
25+
- http://ts.ssl.com
26+
cacert: SSL_COM_ROOT_CERTIFICATION_AUTHORITY_RSA.crt
2727

2828
# quick-lint-js finds bugs in JavaScript programs.
2929
# Copyright (C) 2020 Matthew "strager" Glazar

dist/msix/AppxManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
<Identity
1111
Name="fa6b940b-8f96-4b46-8e21-703a63133e06"
12-
Publisher="CN=quick-lint-js"
12+
Publisher="CN=Matthew Glazar, O=Matthew Glazar, L=San Carlos, S=California, C=US"
1313
Version="2.4.0.0" />
1414

1515
<Properties>

dist/sign-release.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -851,9 +851,8 @@ func RelicVerifyDetachedFile(filePath string, detachedSignaturePath string) erro
851851

852852
func GetRelicVerifyCertOptions() []string {
853853
return []string{
854-
"--cert", filepath.Join(DistPath, "certificates/quick-lint-js.cer"),
855-
"--cert", filepath.Join(DistPath, "certificates/DigiCertAssuredIDRootCA_comb.crt.pem"),
856-
"--cert", filepath.Join(DistPath, "certificates/DigiCertTrustedRootG4.crt"),
854+
"--cert", filepath.Join(DistPath, "certificates/SSL_COM_ROOT_CERTIFICATION_AUTHORITY_RSA.crt"),
855+
"--cert", filepath.Join(DistPath, "certificates/quick-lint-js.crt"),
857856
"--cert", filepath.Join(DistPath, "certificates/quick-lint-js.gpg.key"),
858857
}
859858
}

0 commit comments

Comments
 (0)