Skip to content

Add SHA256 HMAC signed URL support to blobstore#650

Open
kathap wants to merge 3 commits into
developfrom
add-sha256-hmac-signed-urls
Open

Add SHA256 HMAC signed URL support to blobstore#650
kathap wants to merge 3 commits into
developfrom
add-sha256-hmac-signed-urls

Conversation

@kathap
Copy link
Copy Markdown
Contributor

@kathap kathap commented May 28, 2026

Adds /signed/ location blocks to nginx blobstore configuration to support SHA256 HMAC signed URLs alongside existing MD5 signed URLs (/read/ and /write/).

This enables future migration to storage-cli for WebDAV blobstore clients, providing consistency with BOSH's existing SHA256 HMAC signing implementation.

Changes:

  • Added /signed/ location with secure_link_hmac (SHA256) verification
  • Applied to all three server blocks (internal, public, public TLS)
  • Supports GET, HEAD, and PUT methods
  • Uses existing blobstore.secure_link.secret property

Benefits:

  • Stronger cryptographic security (SHA256 HMAC vs MD5)
  • Unified signing method across BOSH and CAPI platforms
  • Enables removal of blobstore_url_signer service in future
  • Zero impact on existing deployments (additive change only)

This is a preparatory change for the storage-cli DAV signing integration. Legacy /read/ and /write/ endpoints remain unchanged and fully functional. No configuration changes required.

Adds /signed/ location blocks to nginx blobstore configuration to support
SHA256 HMAC signed URLs alongside existing MD5 signed URLs (/read/ and /write/).

This enables future migration to storage-cli for WebDAV blobstore clients,
providing consistency with BOSH's existing SHA256 HMAC signing implementation.

Changes:
- Added /signed/ location with secure_link_hmac (SHA256) verification
- Applied to all three server blocks (internal, public, public TLS)
- Supports GET, HEAD, and PUT methods
- Uses existing blobstore.secure_link.secret property

Benefits:
- Stronger cryptographic security (SHA256 HMAC vs MD5)
- Unified signing method across BOSH and CAPI platforms
- Enables removal of blobstore_url_signer service in future
- Zero impact on existing deployments (additive change only)

This is a preparatory change. Legacy /read/ and /write/ endpoints remain
unchanged and fully functional. No configuration changes required.
@kathap kathap marked this pull request as draft May 28, 2026 13:15
@kathap kathap marked this pull request as ready for review May 28, 2026 14:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant