Documentation
¶
Overview ¶
Package http provides HTTP handlers for transit key management and cryptographic operations.
Package http provides HTTP handlers for transit key management and cryptographic operations.
Package http provides HTTP handlers for transit key management and cryptographic operations.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CryptoHandler ¶
type CryptoHandler struct {
// contains filtered or unexported fields
}
CryptoHandler handles HTTP requests for transit encryption and decryption operations. It coordinates authentication, authorization, and audit logging with the TransitKeyUseCase.
func NewCryptoHandler ¶
func NewCryptoHandler( transitKeyUseCase transitUseCase.TransitKeyUseCase, auditLogUseCase authUseCase.AuditLogUseCase, logger *slog.Logger, ) *CryptoHandler
NewCryptoHandler creates a new crypto handler with required dependencies.
func (*CryptoHandler) DecryptHandler ¶
func (h *CryptoHandler) DecryptHandler(c *gin.Context)
DecryptHandler decrypts ciphertext using the version specified in the encrypted blob. POST /v1/transit/keys/:name/decrypt - Requires DecryptCapability. Returns 200 OK with plaintext bytes. SECURITY: Plaintext is zeroed after response.
func (*CryptoHandler) EncryptHandler ¶
func (h *CryptoHandler) EncryptHandler(c *gin.Context)
EncryptHandler encrypts plaintext data using the specified transit key. POST /v1/transit/keys/:name/encrypt - Requires EncryptCapability. Returns 200 OK with ciphertext in format "version:base64-ciphertext".
type TransitKeyHandler ¶
type TransitKeyHandler struct {
// contains filtered or unexported fields
}
TransitKeyHandler handles HTTP requests for transit key management operations. It coordinates authentication, authorization, and audit logging with the TransitKeyUseCase.
func NewTransitKeyHandler ¶
func NewTransitKeyHandler( transitKeyUseCase transitUseCase.TransitKeyUseCase, auditLogUseCase authUseCase.AuditLogUseCase, logger *slog.Logger, ) *TransitKeyHandler
NewTransitKeyHandler creates a new transit key handler with required dependencies.
func (*TransitKeyHandler) CreateHandler ¶
func (h *TransitKeyHandler) CreateHandler(c *gin.Context)
CreateHandler creates a new transit key with version 1. POST /v1/transit/keys - Requires WriteCapability on path /v1/transit/keys. Returns 201 Created with transit key metadata.
func (*TransitKeyHandler) DeleteHandler ¶
func (h *TransitKeyHandler) DeleteHandler(c *gin.Context)
DeleteHandler soft deletes a transit key by ID. DELETE /v1/transit/keys/:id - Requires DeleteCapability on path /v1/transit/keys/:id. Returns 204 No Content.
func (*TransitKeyHandler) RotateHandler ¶
func (h *TransitKeyHandler) RotateHandler(c *gin.Context)
RotateHandler creates a new version of an existing transit key. POST /v1/transit/keys/:name/rotate - Requires RotateCapability. Returns 200 OK with new version metadata.