Skip to main content

signing_key

Function signing_key 

Source
pub fn signing_key<'a>(
    hostname: &str,
    document: &'a DidDocument,
) -> Result<&'a str, SigningKeyError>
Expand description

The document’s #atproto signing key, checked to be a public key atproto actually verifies commits with.

The document is the server’s own answer, so the string in publicKeyMultibase is attacker-supplied in the sense that matters here: nothing above this point constrains it, and [didbot_identity::document::DidDocument] carries it as an ordinary String.

Both of atproto’s curves are accepted, and only those: didbot-key mints secp256k1 alone, but the server being claimed is not this crate’s to constrain and half the network signs with P-256. Nothing here is implemented in this module – both readers are didbot-key’s, which is where the multibase, multicodec and point-encoding rules already live.