code: func Encode(header *Header, c *ClaimSet, key *rsa.PrivateKey) (string, error) {
  	sg := func(data []byte) (sig []byte, err error) {
  		h := sha256.New()
  		h.Write(data)
  		return rsa.SignPKCS1v15(rand.Reader, key, crypto.SHA256, h.Sum(nil))
  	}
  	return EncodeWithSigner(header, c, sg)
  }
docs: // Encode encodes a signed JWS with provided header and claim set.
  // This invokes EncodeWithSigner using crypto/rsa.SignPKCS1v15 with the given RSA private key.