aboutsummaryrefslogtreecommitdiff
path: root/presentations/images/key-rollover.dot
blob: 9b74ad3078102a3913e786e660b295b1e9b2406e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
// $Id$
//
// A pictoral attempt to explain how key rollover works.

digraph step0 {
   rotate=90;	size="11,8.5";	splines=true;	ratio=fill;
   alice	[ shape = record, label = "{Issuer key whatever|Subject key Alice}" ];
   bob1		[ shape = record, label = "{Issuer key Alice|Subject key Bob1}" ];
   carol1	[ shape = record, label = "{Issuer key Bob1|Subject key Carol}" ];
   claire1	[ shape = record, label = "{Issuer key Bob1|Subject key Claire}" ];
   charlie1	[ shape = record, label = "{Issuer key Bob1|Subject key Charlie}" ];
   dave		[ shape = record, label = "{Issuer key Carol|Subject key Dave}" ];
   danny	[ shape = record, label = "{Issuer key Carol|Subject key Danny}" ];
   dale		[ shape = record, label = "{Issuer key Claire|Subject key Dale}" ];
   donald	[ shape = record, label = "{Issuer key Claire|Subject key Donald}" ];
   doug		[ shape = record, label = "{Issuer key Charlie|Subject key Doug}" ];
   drew		[ shape = record, label = "{Issuer key Charlie|Subject key Drew}" ];
   alice -> bob1;
   bob1 -> carol1;
   bob1 -> claire1;
   bob1 -> charlie1;
   carol1 -> dave;
   carol1 -> danny;
   claire1 -> dale;
   claire1 -> donald;
   charlie1 -> doug;
   charlie1 -> drew;
}

digraph step1 {
   rotate=90;	size="11,8.5";	splines=true;	ratio=fill;
   alice	[ shape = record, label = "{Issuer key whatever|Subject key Alice}" ];
   bob1		[ shape = record, label = "{Issuer key Alice|Subject key Bob1}" ];
   bob2		[ shape = record, label = "{Issuer key Alice|Subject key Bob2}" ];
   carol1	[ shape = record, label = "{Issuer key Bob1|Subject key Carol}" ];
   claire1	[ shape = record, label = "{Issuer key Bob1|Subject key Claire}" ];
   charlie1	[ shape = record, label = "{Issuer key Bob1|Subject key Charlie}" ];
   dave		[ shape = record, label = "{Issuer key Carol|Subject key Dave}" ];
   danny	[ shape = record, label = "{Issuer key Carol|Subject key Danny}" ];
   dale		[ shape = record, label = "{Issuer key Claire|Subject key Dale}" ];
   donald	[ shape = record, label = "{Issuer key Claire|Subject key Donald}" ];
   doug		[ shape = record, label = "{Issuer key Charlie|Subject key Doug}" ];
   drew		[ shape = record, label = "{Issuer key Charlie|Subject key Drew}" ];
   alice -> bob1;
   alice -> bob2;
   bob1 -> carol1;
   bob1 -> claire1;
   bob1 -> charlie1;
   carol1 -> dave;
   carol1 -> danny;
   claire1 -> dale;
   claire1 -> donald;
   charlie1 -> doug;
   charlie1 -> drew;
}

digraph step2 {
   rotate=90;	size="11,8.5";	splines=true;	ratio=fill;
   alice	[ shape = record, label = "{Issuer key whatever|Subject key Alice}" ];
   bob1		[ shape = record, label = "{Issuer key Alice|Subject key Bob1}" ];
   bob2		[ shape = record, label = "{Issuer key Alice|Subject key Bob2}" ];
   carol1	[ shape = record, label = "{Issuer key Bob1|Subject key Carol}" ];
   carol2	[ shape = record, label = "{Issuer key Bob2|Subject key Carol}" ];
   claire1	[ shape = record, label = "{Issuer key Bob1|Subject key Claire}" ];
   claire2	[ shape = record, label = "{Issuer key Bob2|Subject key Claire}" ];
   charlie1	[ shape = record, label = "{Issuer key Bob1|Subject key Charlie}" ];
   charlie2	[ shape = record, label = "{Issuer key Bob2|Subject key Charlie}" ];
   dave		[ shape = record, label = "{Issuer key Carol|Subject key Dave}" ];
   danny	[ shape = record, label = "{Issuer key Carol|Subject key Danny}" ];
   dale		[ shape = record, label = "{Issuer key Claire|Subject key Dale}" ];
   donald	[ shape = record, label = "{Issuer key Claire|Subject key Donald}" ];
   doug		[ shape = record, label = "{Issuer key Charlie|Subject key Doug}" ];
   drew		[ shape = record, label = "{Issuer key Charlie|Subject key Drew}" ];
   alice -> bob1;
   alice -> bob2;
   bob1 -> carol1;
   bob1 -> claire1;
   bob1 -> charlie1;
   bob2 -> carol2;
   bob2 -> claire2;
   bob2 -> charlie2;
   carol1 -> dave;
   carol1 -> danny;
   claire1 -> dale;
   claire1 -> donald;
   charlie1 -> doug;
   charlie1 -> drew;
   carol2 -> dave;
   carol2 -> danny;
   claire2 -> dale;
   claire2 -> donald;
   charlie2 -> doug;
   charlie2 -> drew;
}

digraph step3 {
   rotate=90;	size="11,8.5";	splines=true;	ratio=fill;
   alice	[ shape = record, label = "{Issuer key whatever|Subject key Alice}" ];
   bob2		[ shape = record, label = "{Issuer key Alice|Subject key Bob2}" ];
   carol2	[ shape = record, label = "{Issuer key Bob2|Subject key Carol}" ];
   claire2	[ shape = record, label = "{Issuer key Bob2|Subject key Claire}" ];
   charlie2	[ shape = record, label = "{Issuer key Bob2|Subject key Charlie}" ];
   dave		[ shape = record, label = "{Issuer key Carol|Subject key Dave}" ];
   danny	[ shape = record, label = "{Issuer key Carol|Subject key Danny}" ];
   dale		[ shape = record, label = "{Issuer key Claire|Subject key Dale}" ];
   donald	[ shape = record, label = "{Issuer key Claire|Subject key Donald}" ];
   doug		[ shape = record, label = "{Issuer key Charlie|Subject key Doug}" ];
   drew		[ shape = record, label = "{Issuer key Charlie|Subject key Drew}" ];
   alice -> bob2;
   bob2 -> carol2;
   bob2 -> claire2;
   bob2 -> charlie2;
   carol2 -> dave;
   carol2 -> danny;
   claire2 -> dale;
   claire2 -> donald;
   charlie2 -> doug;
   charlie2 -> drew;
}


// Local Variables:
// compile-command: "dot -Tps2 key-rollover.dot | ps2pdf - key-rollover.pdf"
// End: