9 struct ed25519_cert_extension ext[n_extensions];
13 const CERTEXT_SIGNED_WITH_KEY = 4;
14 const CERTEXT_FLAG_AFFECTS_VALIDATION = 1;
16 struct ed25519_cert_extension {
20 union un[ext_type] with length ext_length {
21 CERTEXT_SIGNED_WITH_KEY : u8 signing_key[32];
22 default: u8 unparsed[];
27 struct cert_revocation {
35 struct cert_extension ext[n_extensions];
39 struct crosscert_ed_rsa {
61 const LS_LEGACY_ID = 0x02;
62 const LS_ED25519_ID = 0x03;
64 // amended from tor.trunnel
65 struct link_specifier {
68 union un[ls_type] with length ls_len {
69 LS_IPV4: u32 ipv4_addr; u16 ipv4_port;
70 LS_IPV6: u8 ipv6_addr[16]; u16 ipv6_port;
71 LS_LEGACY_ID: u8 legacy_id[20];
72 LS_ED25519_ID: u8 ed25519_id[32];
73 default: u8 unrecognized[];