Files
attest/signerverifier/aws.go

25 lines
752 B
Go
Raw Permalink Normal View History

2024-04-19 09:08:31 -05:00
package signerverifier
import (
"context"
"fmt"
"github.com/aws/aws-sdk-go-v2/config"
"github.com/secure-systems-lab/go-securesystemslib/dsse"
awssigner "github.com/sigstore/sigstore/pkg/signature/kms/aws"
)
// using AWS KMS.
func GetAWSSigner(ctx context.Context, keyARN string, region string) (dsse.SignerVerifier, error) {
keyPath := fmt.Sprintf("awskms:///%s", keyARN)
sv, err := awssigner.LoadSignerVerifier(ctx, keyPath, config.WithRegion(region))
2024-04-19 09:08:31 -05:00
if err != nil {
return nil, fmt.Errorf("error loading aws signer verifier: %w", err)
}
cs, _, err := sv.CryptoSigner(context.Background(), func(_ error) {})
2024-04-19 09:08:31 -05:00
if err != nil {
return nil, fmt.Errorf("error getting aws crypto signer: %w", err)
}
return NewECDSASignerVerifier(cs)
2024-04-19 09:08:31 -05:00
}