Skip to content

Commit b018f09

Browse files
nl6720jelly
authored andcommitted
templates/public/download.html: update checksum and signature list and verification
Link to *sum.txt files on archlinux.org, just like with the GPG signatures, as the mirrors cannot be trusted. Add the GnuPG verification command from https://wiki.archlinux.org/title/Installation_guide#Verify_signature. It would be better if we do not duplicate it in both archweb and the wiki.
1 parent ed1336c commit b018f09

File tree

2 files changed

+39
-22
lines changed

2 files changed

+39
-22
lines changed

Diff for: releng/models.py

+3
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ def iso_url(self):
4949
def tarball_url(self):
5050
return "iso/%s/archlinux-bootstrap-%s-x86_64.tar.gz" % (self.version, self.version)
5151

52+
def dir_url(self):
53+
return "iso/%s" % (self.version)
54+
5255
def magnet_uri(self):
5356
query = [
5457
('dn', "archlinux-%s-x86_64.iso" % self.version),

Diff for: templates/public/download.html

+36-22
Original file line numberDiff line numberDiff line change
@@ -95,35 +95,49 @@ <h3>HTTP Direct Downloads</h3>
9595

9696
<p>In addition to the BitTorrent links above, install images can also be
9797
downloaded via HTTP from the mirror sites listed below. Please
98-
ensure the download image matches the checksum from the sha256sums.txt or
99-
b2sums.txt file in the same directory as the image.</p>
98+
ensure the download image matches the checksum from the <code>sha256sums.txt</code> or <code>b2sums.txt</code> file linked below.</p>
10099

101-
<p><code>b2sum -c b2sums.txt</code></p>
100+
<h4 id="checksums">Checksums and signatures</h4>
101+
<p>File integrity checksums and PGP signatures for the latest releases can be found below:</p>
102102

103-
<p>The release signing key can be downloaded with WKD:</p>
104-
105-
<p><code>sq network wkd fetch {{ release.wkd_email }} -o release-key.pgp</code></p>
103+
<ul>
104+
<li>ISO
105+
<ul>
106+
<li><a href="https://archlinux.org/{{ release.iso_url }}.sig"
107+
title="ISO PGP signature">PGP signature</a></li>
108+
{% if release.pgp_key %}<li><strong>PGP fingerprint:</strong> {% pgp_key_link release.pgp_key %}</li>{% endif %}
109+
{% if release.sha256_sum %}<li><strong>SHA256:</strong> {{ release.sha256_sum }}</li>{% endif %}
110+
{% if release.b2_sum %}<li><strong>BLAKE2b:</strong> {{ release.b2_sum }}</li>{% endif %}
111+
{% if release.sha1_sum %}<li><strong>SHA1:</strong> {{ release.sha1_sum }}</li>{% endif %}
112+
{% if release.md5_sum %}<li><strong>MD5:</strong> {{ release.md5_sum }}</li>{% endif %}
113+
</ul>
114+
</li>
115+
<li>Bootstrap tarball
116+
<ul>
117+
<li><a href="https://archlinux.org/{{ release.tarball_url }}.sig"
118+
title="Bootstrap tarball PGP signature">PGP signature</a></li>
119+
</ul>
120+
{% if release.sha256_sum %}<li><a href="https://archlinux.org/{{ release.dir_url }}/sha256sums.txt">sha256sums.txt</a></li>{% endif %}
121+
{% if release.b2_sum %}<li><a href="https://archlinux.org/{{ release.dir_url }}/b2sums.txt">b2sums.txt</a></li>{% endif %}
122+
{% if release.sha1_sum %}<li><a href="https://archlinux.org/{{ release.dir_url }}/sha1sums.txt">sha1sums.txt</a></li>{% endif %}
123+
{% if release.md5_sum %}<li><a href="https://archlinux.org/{{ release.dir_url }}/md5sums.txt">md5sums.txt</a></li>{% endif %}
124+
</li>
125+
</ul>
106126

107-
<p>With this key the signature can be verified like this:</p>
127+
<h5>Download verification</h4>
108128

109-
<p><code>sq verify --signer-file release-key.pgp --detached archlinux-{{ release.version }}-x86_64.iso.sig archlinux-{{ release.version }}-x86_64.iso</code></p>
129+
<p>Verify the BLAKE2b checksums as follows: <pre><code>$ b2sum -c b2sums.txt</code></pre></p>
110130

111-
<h4 id="checksums">Checksums</h4>
131+
<p>To verify the PGP signature using Sequoia, first download the release signing key from WKD:<br/>
132+
<pre><code>$ sq network wkd fetch {{ release.wkd_email }} -o release-key.pgp</code></pre>
112133

113-
<p>File integrity checksums for the latest releases can be found below:</p>
134+
With this signing key, verify the signature:
135+
<pre><code>$ sq verify --signer-file release-key.pgp --detached archlinux-{{ release.version }}-x86_64.iso.sig archlinux-{{ release.version }}-x86_64.iso</code></pre></p>
114136

115-
<ul>
116-
<li><a href="https://archlinux.org/{{ release.iso_url }}.sig"
117-
title="ISO PGP signature">ISO PGP signature</a></li>
118-
<li><a href="https://archlinux.org/{{ release.tarball_url }}.sig"
119-
title="Bootstrap tarball PGP signature">Bootstrap tarball PGP signature</a></li>
120-
{% if release.pgp_key %}<li><strong>PGP fingerprint:</strong> {% pgp_key_link release.pgp_key %}</li>{% endif %}
121-
{% if release.wkd_email %}<li><strong>WKD Lookup: </strong><code>gpg --auto-key-locate clear,wkd -v --locate-external-key {{ release.wkd_email }}</code></li>{% endif %}
122-
{% if release.sha256_sum %}<li><strong>SHA256:</strong> {{ release.sha256_sum }}</li>{% endif %}
123-
{% if release.b2_sum %}<li><strong>BLAKE2b:</strong> {{ release.b2_sum }}</li>{% endif %}
124-
{% if release.sha1_sum %}<li><strong>SHA1:</strong> {{ release.sha1_sum }}</li>{% endif %}
125-
{% if release.md5_sum %}<li><strong>MD5:</strong> {{ release.md5_sum }}</li>{% endif %}
126-
</ul>
137+
<p>Alternatively, using GnuPG, download the signing key from WKD:
138+
<pre><code>$ gpg --auto-key-locate clear,wkd -v --locate-external-key {{ release.wkd_email }}</code></pre>
139+
Verify the signature:
140+
<pre><code>$ gpg --keyserver-options auto-key-retrieve --verify archlinux-{{ release.version }}-x86_64.iso.sig archlinux-{{ release.version }}-x86_64.iso</code></pre></p>
127141

128142
{% cache 600 download-mirrors %}
129143
<div id="download-mirrors">

0 commit comments

Comments
 (0)