mirror of
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git
synced 2025-10-13 11:11:30 -04:00
35 lines
681 B
Go
35 lines
681 B
Go
package sqscreds
|
|
|
|
import (
|
|
"encoding/base64"
|
|
"encoding/json"
|
|
)
|
|
|
|
type AwsCreds struct {
|
|
AwsAccessKeyId string `json:"aws-access-key-id"`
|
|
AwsSecretKey string `json:"aws-secret-key"`
|
|
}
|
|
|
|
func (awsCreds AwsCreds) Base64() (string, error) {
|
|
jsonData, err := json.Marshal(awsCreds)
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
return base64.StdEncoding.EncodeToString(jsonData), nil
|
|
}
|
|
|
|
func AwsCredsFromBase64(base64Str string) (AwsCreds, error) {
|
|
var awsCreds AwsCreds
|
|
|
|
jsonData, err := base64.StdEncoding.DecodeString(base64Str)
|
|
if err != nil {
|
|
return awsCreds, err
|
|
}
|
|
|
|
err = json.Unmarshal(jsonData, &awsCreds)
|
|
if err != nil {
|
|
return awsCreds, err
|
|
}
|
|
|
|
return awsCreds, nil
|
|
}
|