package crypto import "crypto" // SigningMethod is an interface that provides a way to sign JWS tokens. type SigningMethod interface { // Alg describes the signing algorithm, and is used to uniquely // describe the specific crypto.SigningMethod. Alg() string // Verify accepts the raw content, the signature, and the key used // to sign the raw content, and returns any errors found while validating // the signature and content. Verify(raw []byte, sig Signature, key interface{}) error // Sign returns a Signature for the raw bytes, as well as any errors // that occurred during the signing. Sign(raw []byte, key interface{}) (Signature, error) // Used to cause quick panics when a crypto.SigningMethod whose form of hashing // isn't linked in the binary when you register a crypto.SigningMethod. // To spoof this, see "crypto.SigningMethodNone". Hasher() crypto.Hash }