aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/github.com/hashicorp/terraform/plugin/discovery/signature.go
blob: 7bbae50c384082639b8b4292f32dcf4702ac9a97 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package discovery

import (
	"bytes"
	"strings"

	"golang.org/x/crypto/openpgp"
)

// Verify the data using the provided openpgp detached signature and the
// embedded hashicorp public key.
func verifySig(data, sig []byte, armor string) (*openpgp.Entity, error) {
	el, err := openpgp.ReadArmoredKeyRing(strings.NewReader(armor))
	if err != nil {
		return nil, err
	}

	return openpgp.CheckDetachedSignature(el, bytes.NewReader(data), bytes.NewReader(sig))
}