Files
versitygw/tests/rest_scripts/command/payloadChunkedAWS.go

29 lines
720 B
Go

package command
import (
"encoding/hex"
"github.com/versity/versitygw/tests/rest_scripts/logger"
"strings"
)
type PayloadChunkedAWS struct {
*PayloadChunked
serviceString string
currentDateTime string
lastSignature string
emptyByteSignature string
signingKey []byte
}
func (c *PayloadChunkedAWS) getChunkedSTSSignature(chunkSignature string) string {
request := strings.Join([]string{"AWS4-HMAC-SHA256-PAYLOAD",
c.currentDateTime,
c.serviceString,
c.lastSignature,
c.emptyByteSignature,
chunkSignature}, "\n")
logger.PrintDebug("request: %s", request)
canonicalRequestHashBytes := hmacSHA256(c.signingKey, request)
return hex.EncodeToString(canonicalRequestHashBytes[:])
}