]> git.lizzy.rs Git - plan9front.git/blob - sys/man/6/thumbprint
/sys/lib/rootstub
[plan9front.git] / sys / man / 6 / thumbprint
1 .TH THUMBPRINT 6
2 .SH NAME
3 thumbprint \- public key thumbprints
4 .SH DESCRIPTION
5 .PP
6 Applications in Plan 9 that use public keys for authentication,
7 for example by calling
8 .B tlsClient
9 and
10 .B okThumbprint
11 or
12 .B okCertificate
13 (see
14 .IR pushtls (2)),
15 check the remote side's public key by comparing against
16 thumbprints from a trusted list.
17 The list is maintained by people who set local policies
18 about which servers can be trusted for which applications,
19 thereby playing the role taken by certificate authorities
20 in PKI-based systems.
21 By convention, these lists are stored as files in
22 .B /sys/lib/tls/
23 and protected by normal file system permissions.
24 .PP
25 Such a thumbprint file comprises lines made up of
26 attribute/value pairs of the form
27 .IB attr = value
28 or
29 .IR attr .
30 The first attribute must be the application tag:
31 .B x509
32 for tls applications or
33 .B ssh
34 for ssh server fingerprints.
35 The second attribute must be a hash type of
36 .B sha1=
37 or
38 .BI sha256=
39 followed by the hex or base64 encoded hash of binary certificate
40 or public key.
41 All other attributes are treated as comments.
42 The file may also contain lines of the form
43 .B #include
44 .I file
45 .PP
46 For example, a web server might have thumbprint
47 .EX
48 x509 sha1=8fe472d31b360a8303cd29f92bd734813cbd923c cn=*.cs.bell-labs.com
49 .EE
50 .SH "SEE ALSO"
51 .IR pushtls (2)