// $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: