rustfs-signer 0.0.3

Digital signature generation and verification for RustFS, ensuring data integrity and authenticity.
Documentation

RustFS

RustFS Signer - Request Signing & Authentication


📖 Overview

RustFS Signer provides AWS-compatible request signing and authentication for the RustFS distributed object storage system. It implements AWS Signature Version 4 (SigV4) signing algorithm, pre-signed URLs, and various authentication methods to ensure secure API access.

Note: This is a security-critical submodule of RustFS that provides essential authentication capabilities for the distributed object storage system. For the complete RustFS experience, please visit the main RustFS repository.

✨ Features

🔐 AWS-Compatible Signing

  • SigV4 Implementation: Full AWS Signature Version 4 support
  • Pre-signed URLs: Temporary access URLs with expiration
  • Chunked Upload: Streaming upload with signature validation
  • Multi-part Upload: Signature validation for large files

🛡️ Authentication Methods

  • Access Key/Secret: Traditional AWS-style authentication
  • STS Token: Temporary security token support
  • IAM Role: Role-based authentication
  • Anonymous Access: Public read access support

🚀 Performance Features

  • Signature Caching: Avoid repeated signature calculations
  • Batch Signing: Sign multiple requests efficiently
  • Streaming Support: Sign data streams without buffering
  • Hardware Acceleration: Use hardware crypto when available

🔧 Advanced Features

  • Custom Headers: Support for custom and vendor headers
  • Regional Signing: Multi-region signature support
  • Clock Skew Handling: Automatic time synchronization
  • Signature Validation: Server-side signature verification

📦 Installation

Add this to your Cargo.toml:

[dependencies]
rustfs-signer = "0.0.3"

🔧 Usage

📋 Requirements

  • Rust: 1.85.0 or later
  • Platforms: Linux, macOS, Windows
  • Dependencies: Cryptographic libraries (ring, rustls)
  • Compatibility: AWS S3 API compatible

🌍 Related Projects

This module is part of the RustFS ecosystem:

📚 Documentation

For comprehensive documentation, visit:

🔗 Links

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

📄 License

Licensed under the Apache License, Version 2.0. See LICENSE for details.