]> Cypherpunks.ru repositories - nncp.git/blob - doc/integrity.texi
OpenSSH signature support
[nncp.git] / doc / integrity.texi
1 @node Integrity
2 @cindex integrity check
3 @cindex authenticity check
4 @cindex OpenPGP
5 @cindex gpg
6 @cindex GnuPG
7 @cindex WKD
8 @cindex OpenSSH
9 @section Tarballs integrity check
10
11 You @strong{have to} verify downloaded tarballs authenticity to be sure
12 that you retrieved trusted and untampered software. There are two options:
13
14 @table @asis
15
16 @item @url{https://www.openpgp.org/, OpenPGP} @file{.asc} signature
17     Use @url{https://www.gnupg.org/, GNU Privacy Guard} free software
18     implementation.
19     For the very first time it is necessary to get signing public key and
20     import it. It is provided @url{.well-known/openpgpkey/nncpgo.org/hu/i4cdqgcarfjdjnba6y4jnf498asg8c6p.asc, here}, but you should
21     check alternate resources.
22
23 @verbatim
24 pub   rsa2048/0x2B25868E75A1A953 2017-01-10
25       92C2 F0AE FE73 208E 46BF  F3DE 2B25 868E 75A1 A953
26 uid   NNCP releases <releases at nncpgo dot org>
27 @end verbatim
28
29 @example
30 $ gpg --auto-key-locate dane --locate-keys releases at nncpgo dot org
31 $ gpg --auto-key-locate  wkd --locate-keys releases at nncpgo dot org
32 @end example
33
34 @item @url{https://www.openssh.com/, OpenSSH} @file{.sig} signature
35     @url{PUBKEY-SSH.pub, Public key} and its OpenPGP
36     @url{PUBKEY-SSH.pub.asc, signature} made with the key above.
37     Its fingerprint: @code{SHA256:FRiWawVNBkyS3jFn8uZ/JlT+PWKSFbhWe5XSixp1+SY}.
38
39 @example
40 $ ssh-keygen -Y verify -f PUBKEY-SSH.pub -I releases@@nncpgo.org -n file \
41     -s nncp-@value{VERSION}.tar.zst.sig < nncp-@value{VERSION}.tar.zst
42 @end example
43
44 @end table