mirror of
https://github.com/versity/versitygw.git
synced 2026-01-10 13:27:21 +00:00
29 lines
720 B
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[:])
|
|
}
|