Expand description
§web-bot-auth library
web-bot-auth is a library provides a Rust implementation of HTTP Message Signatures as defined in
RFC 9421, with additional support
for verifying a web bot auth signed message.
§Features
- Message Signing: Generate HTTP message signatures using Ed25519 cryptography
- Message Verification: Verify signed HTTP messages against public keys
- Web Bot Auth: Specialized verification for automated agents with additional security requirements
Modules§
- components
- HTTP message components that can be present in a given signed / unsigned message, and all the logic to parse it from an incoming message.
Structs§
- Message
Signer - A struct that implements signing. The struct fields here are serialized into the
Signature-Inputheader. - Message
Verifier - A
MessageVerifierperforms the verifications needed for a signed message. - Parameter
Details - Parsed values from
Signature-Inputheader. - Signature
Timing - Micro-measurements of different parts of the process in a call to
verify(). Useful for measuring overhead. - WebBot
Auth Verifier - A verifier for Web Bot Auth messages specifically.
Enums§
- Algorithm
- Subset of HTTP signature algorithm implemented in this module. In the future, we may support more.
- Implementation
Error - Errors that may be thrown by this module.
- WebBot
Auth Error - Errors thrown when verifying a Web Bot Auth-signed message specifically.
Traits§
- Signed
Message - Trait that messages seeking verification should implement to facilitate looking up raw values from the underlying message.
- Unsigned
Message - Trait that messages seeking signing should implement to generate
Signature-InputandSignatureheader contents. - WebBot
Auth Signed Message - A trait that messages wishing to be verified as a
web-bot-authmethod specifically must implement.
Type Aliases§
- KeyRing
- A map from a thumbprint to the public key, to be used to map
keyids to public keys. - Public
Key - Represents a public key to be consumed during the verification.
- Thumbprint
- Represents a JSON Web Key base64-encoded thumpprint as implemented per RFC 7638