Detached Signatures

class bushel.directory.detached_signature.DetachedSignature(raw_content)[source]

Detached signature documents are used as part of the consensus process for the Tor directory protocol version 3 (§3.10 [dir-spec]). Once an authority has computed and signed a consensus network status, it should send its detached signature to each other authority in an HTTP POST request. All of the detached signatures it knows for consensus status should be available at:

http://<hostname>/tor/status-vote/next/consensus-signatures.z

Assuming full connectivity, every authority should compute and sign the same consensus including any flavors in each period. Therefore, it isn’t necessary to download the consensus or any flavors of it computed by each authority; instead, the authorities only push/fetch each others’ signatures.

These documents are interesting for Tor Metrics as they allow detection of new consensus flavors automatically, allowing them to be archived as soon as they are available even if we are not yet able to parse them.

Variables
class bushel.directory.detached_signature.DetachedSignatureAdditionalDigest[source]

Additional signatures as found in DetachedSignature s, defined in the Tor directory protocol version 3 ([dir-spec] §3.10).

Variables
  • flavor (str) – flavor of the additional consensus

  • algname (str) – name of algorithm used for the digest

  • digest (str) – the digest of the document as signed

class bushel.directory.detached_signature.DetachedSignatureAdditionalSignature[source]

Additional signatures as found in DetachedSignature s, defined in the Tor directory protocol version 3 ([dir-spec] §3.10).

Variables
  • flavor (str) – flavor of the additional consensus

  • algname (str) – name of algorithm used for the digest

  • identity (str) – hex-encoded digest of the authority identity key of the signing authority

  • signing_key_digest (str) – hex-encoded digest of the current authority signing key of the signing authority

  • signature (bytes) – RSA signature of the OAEP+-padded SHA256 digest of the additional consensus