|
- package signers
-
- import (
- "crypto/md5"
- "fmt"
- "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/auth/credentials"
- )
-
- type StsTokenSigner struct {
- credential *credentials.StdTokenCredential
- }
-
- func (signer *StsTokenSigner) GetAccessKeyId() (string, error) {
- return signer.credential.AccessKeyId, nil
- }
-
- func (signer *StsTokenSigner) GetAccessKeyFrom() (string, error) {
- return signer.credential.AccessKeyFrom, nil
- }
-
- func (*StsTokenSigner) GetName() string {
- return "MD5"
- }
-
- func (signer *StsTokenSigner) Sign(stringToSign, secretSuffix string) string {
- secret := signer.credential.AccessKeySecret + secretSuffix
- return Md5(stringToSign, secret)
- }
-
- func NewStsTokenSigner(credential *credentials.StdTokenCredential) *StsTokenSigner {
- return &StsTokenSigner{
- credential: credential,
- }
- }
-
- func Md5(source, secret string) string {
- data := []byte(fmt.Sprintf("%s##%s", secret, source))
- has := md5.Sum(data)
- md5str := fmt.Sprintf("%x", has)
- return md5str
- }
|