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
consensus_digest (str) – digest of the consensus
valid_after (datetime) – the valid-after time
fresh_until (datetime) – the fresh-until time
valid_until (datetime) – the valid-until time
additional_digests (list(DetachedSignatureAdditionalDigest)) – additional digests
additional_signatures (list(DetachedSignatureAdditionalSignature)) – additional signatures
direcory_signatures (list(NetworkStatusConsensusDirectorySignature)) – directory signatures
-
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).
-
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