mirror of
https://github.com/open-policy-agent/opa.git
synced 2026-08-12 19:32:48 -06:00
e43ef0a979
Earlier this evening I tried to run the Go [modernize](https://pkg.go.dev/golang.org/x/tools/gopls/internal/analysis/modernize) analyzer on OPA. That didn't go as planned: - https://github.com/golang/go/issues/73661 - https://github.com/golang/go/issues/73663 While we wait for that to be fixed, I figured an old-fashioned search-and-replace across the repo may work for at least the `interface{}` to `any` conversion. That should help make it easier to see the other fixes as applied by the modernize tool once it has had those issues resolved. Signed-off-by: Anders Eknert <anders@styra.com>
40 lines
1.1 KiB
Go
40 lines
1.1 KiB
Go
package verify
|
|
|
|
import (
|
|
"crypto/ecdsa"
|
|
"crypto/rsa"
|
|
|
|
"github.com/open-policy-agent/opa/internal/jwx/jws/sign"
|
|
)
|
|
|
|
// Verifier provides a common interface for supported alg verification methods
|
|
type Verifier interface {
|
|
// Verify checks whether the payload and signature are valid for
|
|
// the given key.
|
|
// `key` is the key used for verifying the payload, and is usually
|
|
// the public key associated with the signature method. For example,
|
|
// for `jwa.RSXXX` and `jwa.PSXXX` types, you need to pass the
|
|
// `*"crypto/rsa".PublicKey` type.
|
|
// Check the documentation for each verifier for details
|
|
Verify(payload []byte, signature []byte, key any) error
|
|
}
|
|
|
|
type rsaVerifyFunc func([]byte, []byte, *rsa.PublicKey) error
|
|
|
|
// RSAVerifier implements the Verifier interface
|
|
type RSAVerifier struct {
|
|
verify rsaVerifyFunc
|
|
}
|
|
|
|
type ecdsaVerifyFunc func([]byte, []byte, *ecdsa.PublicKey) error
|
|
|
|
// ECDSAVerifier implements the Verifier interface
|
|
type ECDSAVerifier struct {
|
|
verify ecdsaVerifyFunc
|
|
}
|
|
|
|
// HMACVerifier implements the Verifier interface
|
|
type HMACVerifier struct {
|
|
signer sign.Signer
|
|
}
|