mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-10-31 02:08:13 +00:00 
			
		
		
		
	Merge pull request #129732 from dims/switch-to-v2.6.3-of-gopkg.in/go-jose/go-jose.v2
Switch to gopkg.in/go-jose/go-jose.v2 @ v2.6.3 and github.com/coreos/go-oidc @ v2.3.0
This commit is contained in:
		| @@ -1,4 +1,4 @@ | ||||
| = vendor/gopkg.in/square/go-jose.v2 licensed under: = | ||||
| = vendor/gopkg.in/go-jose/go-jose.v2 licensed under: = | ||||
| 
 | ||||
| 
 | ||||
|                                  Apache License | ||||
| @@ -203,4 +203,4 @@ | ||||
|    See the License for the specific language governing permissions and | ||||
|    limitations under the License. | ||||
| 
 | ||||
| = vendor/gopkg.in/square/go-jose.v2/LICENSE 3b83ef96387f14655fc854ddc3c6bd57 | ||||
| = vendor/gopkg.in/go-jose/go-jose.v2/LICENSE 3b83ef96387f14655fc854ddc3c6bd57 | ||||
							
								
								
									
										4
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								go.mod
									
									
									
									
									
								
							| @@ -22,7 +22,7 @@ require ( | ||||
| 	github.com/blang/semver/v4 v4.0.0 | ||||
| 	github.com/container-storage-interface/spec v1.9.0 | ||||
| 	github.com/coredns/corefile-migration v1.0.25 | ||||
| 	github.com/coreos/go-oidc v2.2.1+incompatible | ||||
| 	github.com/coreos/go-oidc v2.3.0+incompatible | ||||
| 	github.com/coreos/go-systemd/v22 v22.5.0 | ||||
| 	github.com/cpuguy83/go-md2man/v2 v2.0.4 | ||||
| 	github.com/cyphar/filepath-securejoin v0.3.5 | ||||
| @@ -86,7 +86,7 @@ require ( | ||||
| 	google.golang.org/grpc v1.65.0 | ||||
| 	google.golang.org/protobuf v1.35.1 | ||||
| 	gopkg.in/evanphx/json-patch.v4 v4.12.0 | ||||
| 	gopkg.in/square/go-jose.v2 v2.6.0 | ||||
| 	gopkg.in/go-jose/go-jose.v2 v2.6.3 | ||||
| 	k8s.io/api v0.0.0 | ||||
| 	k8s.io/apiextensions-apiserver v0.0.0 | ||||
| 	k8s.io/apimachinery v0.0.0 | ||||
|   | ||||
							
								
								
									
										8
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								go.sum
									
									
									
									
									
								
							| @@ -193,8 +193,8 @@ github.com/coredns/caddy v1.1.1 h1:2eYKZT7i6yxIfGP3qLJoJ7HAsDJqYB+X68g4NYjSrE0= | ||||
| github.com/coredns/caddy v1.1.1/go.mod h1:A6ntJQlAWuQfFlsd9hvigKbo2WS0VUs2l1e2F+BawD4= | ||||
| github.com/coredns/corefile-migration v1.0.25 h1:/XexFhM8FFlFLTS/zKNEWgIZ8Gl5GaWrHsMarGj/PRQ= | ||||
| github.com/coredns/corefile-migration v1.0.25/go.mod h1:56DPqONc3njpVPsdilEnfijCwNGC3/kTJLl7i7SPavY= | ||||
| github.com/coreos/go-oidc v2.2.1+incompatible h1:mh48q/BqXqgjVHpy2ZY7WnWAbenxRjsz9N1i1YxjHAk= | ||||
| github.com/coreos/go-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= | ||||
| github.com/coreos/go-oidc v2.3.0+incompatible h1:+5vEsrgprdLjjQ9FzIKAzQz1wwPD+83hQRfUIPh7rO0= | ||||
| github.com/coreos/go-oidc v2.3.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= | ||||
| github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= | ||||
| github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= | ||||
| github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= | ||||
| @@ -636,12 +636,12 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN | ||||
| gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= | ||||
| gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= | ||||
| gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= | ||||
| gopkg.in/go-jose/go-jose.v2 v2.6.3 h1:nt80fvSDlhKWQgSWyHyy5CfmlQr+asih51R8PTWNKKs= | ||||
| gopkg.in/go-jose/go-jose.v2 v2.6.3/go.mod h1:zzZDPkNNw/c9IE7Z9jr11mBZQhKQTMzoEEIoEdZlFBI= | ||||
| gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= | ||||
| gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= | ||||
| gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= | ||||
| gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= | ||||
| gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= | ||||
| gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= | ||||
| gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | ||||
| gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | ||||
| gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= | ||||
|   | ||||
| @@ -75,6 +75,7 @@ | ||||
|       "google.golang.org/api": "cloud dependency", | ||||
|       "google.golang.org/appengine": "cloud dependency", | ||||
|       "google.golang.org/genproto": "refer to #113366", | ||||
|       "gopkg.in/square/go-jose.v2":"obsolete, use gopkg.in/go-jose/go-jose.v2", | ||||
|       "gopkg.in/fsnotify.v1": "obsolete, use github.com/fsnotify/fsnotify", | ||||
|       "gopkg.in/yaml.v2": "prefer sigs.k8s.io/yaml", | ||||
|       "k8s.io/klog": "we have switched to klog v2, so avoid klog v1", | ||||
|   | ||||
| @@ -22,7 +22,7 @@ import ( | ||||
| 	"testing" | ||||
| 	"time" | ||||
|  | ||||
| 	"gopkg.in/square/go-jose.v2/jwt" | ||||
| 	"gopkg.in/go-jose/go-jose.v2/jwt" | ||||
| 	v1 "k8s.io/api/core/v1" | ||||
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
|   | ||||
| @@ -20,7 +20,7 @@ import ( | ||||
| 	"context" | ||||
| 	"testing" | ||||
|  | ||||
| 	"gopkg.in/square/go-jose.v2/jwt" | ||||
| 	"gopkg.in/go-jose/go-jose.v2/jwt" | ||||
|  | ||||
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||
| 	"k8s.io/apimachinery/pkg/fields" | ||||
|   | ||||
| @@ -24,7 +24,7 @@ import ( | ||||
| 	"testing" | ||||
| 	"time" | ||||
|  | ||||
| 	"gopkg.in/square/go-jose.v2/jwt" | ||||
| 	"gopkg.in/go-jose/go-jose.v2/jwt" | ||||
|  | ||||
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
|   | ||||
| @@ -23,7 +23,7 @@ import ( | ||||
| 	"time" | ||||
|  | ||||
| 	"github.com/google/uuid" | ||||
| 	"gopkg.in/square/go-jose.v2/jwt" | ||||
| 	"gopkg.in/go-jose/go-jose.v2/jwt" | ||||
|  | ||||
| 	"k8s.io/apiserver/pkg/audit" | ||||
| 	apiserverserviceaccount "k8s.io/apiserver/pkg/authentication/serviceaccount" | ||||
|   | ||||
| @@ -23,7 +23,7 @@ import ( | ||||
| 	"testing" | ||||
| 	"time" | ||||
|  | ||||
| 	"gopkg.in/square/go-jose.v2/jwt" | ||||
| 	"gopkg.in/go-jose/go-jose.v2/jwt" | ||||
|  | ||||
| 	v1 "k8s.io/api/core/v1" | ||||
| 	apierrors "k8s.io/apimachinery/pkg/api/errors" | ||||
|   | ||||
| @@ -27,8 +27,8 @@ import ( | ||||
|  | ||||
| 	"google.golang.org/grpc" | ||||
| 	"google.golang.org/grpc/credentials/insecure" | ||||
| 	jose "gopkg.in/square/go-jose.v2" | ||||
| 	"gopkg.in/square/go-jose.v2/jwt" | ||||
| 	jose "gopkg.in/go-jose/go-jose.v2" | ||||
| 	"gopkg.in/go-jose/go-jose.v2/jwt" | ||||
|  | ||||
| 	externaljwtv1alpha1 "k8s.io/externaljwt/apis/v1alpha1" | ||||
| 	"k8s.io/kubernetes/pkg/serviceaccount" | ||||
|   | ||||
| @@ -35,7 +35,7 @@ import ( | ||||
| 	"google.golang.org/grpc" | ||||
| 	"google.golang.org/grpc/credentials/insecure" | ||||
| 	"google.golang.org/protobuf/types/known/timestamppb" | ||||
| 	"gopkg.in/square/go-jose.v2/jwt" | ||||
| 	"gopkg.in/go-jose/go-jose.v2/jwt" | ||||
|  | ||||
| 	"k8s.io/kubernetes/pkg/serviceaccount" | ||||
|  | ||||
|   | ||||
| @@ -28,8 +28,8 @@ import ( | ||||
| 	"fmt" | ||||
| 	"strings" | ||||
|  | ||||
| 	jose "gopkg.in/square/go-jose.v2" | ||||
| 	"gopkg.in/square/go-jose.v2/jwt" | ||||
| 	jose "gopkg.in/go-jose/go-jose.v2" | ||||
| 	"gopkg.in/go-jose/go-jose.v2/jwt" | ||||
|  | ||||
| 	v1 "k8s.io/api/core/v1" | ||||
| 	utilerrors "k8s.io/apimachinery/pkg/util/errors" | ||||
|   | ||||
| @@ -25,7 +25,7 @@ import ( | ||||
| 	"strings" | ||||
| 	"testing" | ||||
|  | ||||
| 	jose "gopkg.in/square/go-jose.v2" | ||||
| 	jose "gopkg.in/go-jose/go-jose.v2" | ||||
|  | ||||
| 	v1 "k8s.io/api/core/v1" | ||||
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||
|   | ||||
| @@ -24,7 +24,7 @@ import ( | ||||
| 	"fmt" | ||||
| 	"time" | ||||
|  | ||||
| 	"gopkg.in/square/go-jose.v2/jwt" | ||||
| 	"gopkg.in/go-jose/go-jose.v2/jwt" | ||||
|  | ||||
| 	v1 "k8s.io/api/core/v1" | ||||
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||
|   | ||||
| @@ -27,7 +27,7 @@ import ( | ||||
| 	"net/url" | ||||
| 	"sync/atomic" | ||||
|  | ||||
| 	jose "gopkg.in/square/go-jose.v2" | ||||
| 	jose "gopkg.in/go-jose/go-jose.v2" | ||||
|  | ||||
| 	"k8s.io/apimachinery/pkg/util/errors" | ||||
| 	"k8s.io/apimachinery/pkg/util/sets" | ||||
|   | ||||
| @@ -30,7 +30,7 @@ import ( | ||||
|  | ||||
| 	restful "github.com/emicklei/go-restful/v3" | ||||
| 	"github.com/google/go-cmp/cmp" | ||||
| 	jose "gopkg.in/square/go-jose.v2" | ||||
| 	jose "gopkg.in/go-jose/go-jose.v2" | ||||
|  | ||||
| 	"k8s.io/kubernetes/pkg/routes" | ||||
| 	"k8s.io/kubernetes/pkg/serviceaccount" | ||||
|   | ||||
| @@ -145,7 +145,7 @@ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGX | ||||
| github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= | ||||
| github.com/cockroachdb/datadriven v1.0.2 h1:H9MtNqVoVhvd9nCBwOyDjUEdZCREqbIdCJD93PBm/jA= | ||||
| github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= | ||||
| github.com/coreos/go-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= | ||||
| github.com/coreos/go-oidc v2.3.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= | ||||
| github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= | ||||
| github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= | ||||
| github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= | ||||
| @@ -491,11 +491,11 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN | ||||
| gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= | ||||
| gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= | ||||
| gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= | ||||
| gopkg.in/go-jose/go-jose.v2 v2.6.3/go.mod h1:zzZDPkNNw/c9IE7Z9jr11mBZQhKQTMzoEEIoEdZlFBI= | ||||
| gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= | ||||
| gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= | ||||
| gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= | ||||
| gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= | ||||
| gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= | ||||
| gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | ||||
| gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | ||||
| gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= | ||||
|   | ||||
| @@ -10,7 +10,7 @@ godebug winsymlink=0 | ||||
|  | ||||
| require ( | ||||
| 	github.com/blang/semver/v4 v4.0.0 | ||||
| 	github.com/coreos/go-oidc v2.2.1+incompatible | ||||
| 	github.com/coreos/go-oidc v2.3.0+incompatible | ||||
| 	github.com/coreos/go-systemd/v22 v22.5.0 | ||||
| 	github.com/emicklei/go-restful/v3 v3.11.0 | ||||
| 	github.com/fsnotify/fsnotify v1.7.0 | ||||
| @@ -49,8 +49,8 @@ require ( | ||||
| 	google.golang.org/grpc v1.65.0 | ||||
| 	google.golang.org/protobuf v1.35.1 | ||||
| 	gopkg.in/evanphx/json-patch.v4 v4.12.0 | ||||
| 	gopkg.in/go-jose/go-jose.v2 v2.6.3 | ||||
| 	gopkg.in/natefinch/lumberjack.v2 v2.2.1 | ||||
| 	gopkg.in/square/go-jose.v2 v2.6.0 | ||||
| 	k8s.io/api v0.0.0 | ||||
| 	k8s.io/apimachinery v0.0.0 | ||||
| 	k8s.io/client-go v0.0.0 | ||||
|   | ||||
							
								
								
									
										8
									
								
								staging/src/k8s.io/apiserver/go.sum
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										8
									
								
								staging/src/k8s.io/apiserver/go.sum
									
									
									
										generated
									
									
									
								
							| @@ -145,8 +145,8 @@ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGX | ||||
| github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= | ||||
| github.com/cockroachdb/datadriven v1.0.2 h1:H9MtNqVoVhvd9nCBwOyDjUEdZCREqbIdCJD93PBm/jA= | ||||
| github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= | ||||
| github.com/coreos/go-oidc v2.2.1+incompatible h1:mh48q/BqXqgjVHpy2ZY7WnWAbenxRjsz9N1i1YxjHAk= | ||||
| github.com/coreos/go-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= | ||||
| github.com/coreos/go-oidc v2.3.0+incompatible h1:+5vEsrgprdLjjQ9FzIKAzQz1wwPD+83hQRfUIPh7rO0= | ||||
| github.com/coreos/go-oidc v2.3.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= | ||||
| github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= | ||||
| github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= | ||||
| github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= | ||||
| @@ -491,12 +491,12 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN | ||||
| gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= | ||||
| gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= | ||||
| gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= | ||||
| gopkg.in/go-jose/go-jose.v2 v2.6.3 h1:nt80fvSDlhKWQgSWyHyy5CfmlQr+asih51R8PTWNKKs= | ||||
| gopkg.in/go-jose/go-jose.v2 v2.6.3/go.mod h1:zzZDPkNNw/c9IE7Z9jr11mBZQhKQTMzoEEIoEdZlFBI= | ||||
| gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= | ||||
| gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= | ||||
| gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= | ||||
| gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= | ||||
| gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= | ||||
| gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= | ||||
| gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | ||||
| gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | ||||
| gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= | ||||
|   | ||||
| @@ -34,7 +34,7 @@ import ( | ||||
| 	"text/template" | ||||
| 	"time" | ||||
|  | ||||
| 	"gopkg.in/square/go-jose.v2" | ||||
| 	"gopkg.in/go-jose/go-jose.v2" | ||||
|  | ||||
| 	"k8s.io/apimachinery/pkg/util/wait" | ||||
| 	"k8s.io/apiserver/pkg/apis/apiserver" | ||||
|   | ||||
							
								
								
									
										4
									
								
								staging/src/k8s.io/cloud-provider/go.sum
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								staging/src/k8s.io/cloud-provider/go.sum
									
									
									
										generated
									
									
									
								
							| @@ -21,7 +21,7 @@ github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91 | ||||
| github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= | ||||
| github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= | ||||
| github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= | ||||
| github.com/coreos/go-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= | ||||
| github.com/coreos/go-oidc v2.3.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= | ||||
| github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= | ||||
| github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= | ||||
| github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= | ||||
| @@ -289,11 +289,11 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN | ||||
| gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= | ||||
| gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= | ||||
| gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= | ||||
| gopkg.in/go-jose/go-jose.v2 v2.6.3/go.mod h1:zzZDPkNNw/c9IE7Z9jr11mBZQhKQTMzoEEIoEdZlFBI= | ||||
| gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= | ||||
| gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= | ||||
| gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= | ||||
| gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= | ||||
| gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= | ||||
| gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= | ||||
| gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= | ||||
| gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= | ||||
|   | ||||
| @@ -10,7 +10,7 @@ godebug winsymlink=0 | ||||
|  | ||||
| require ( | ||||
| 	github.com/stretchr/testify v1.9.0 | ||||
| 	gopkg.in/square/go-jose.v2 v2.6.0 | ||||
| 	gopkg.in/go-jose/go-jose.v2 v2.6.3 | ||||
| 	k8s.io/api v0.0.0 | ||||
| 	k8s.io/apimachinery v0.0.0 | ||||
| 	k8s.io/klog/v2 v2.130.1 | ||||
|   | ||||
							
								
								
									
										4
									
								
								staging/src/k8s.io/cluster-bootstrap/go.sum
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								staging/src/k8s.io/cluster-bootstrap/go.sum
									
									
									
										generated
									
									
									
								
							| @@ -99,10 +99,10 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 | ||||
| gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= | ||||
| gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= | ||||
| gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= | ||||
| gopkg.in/go-jose/go-jose.v2 v2.6.3 h1:nt80fvSDlhKWQgSWyHyy5CfmlQr+asih51R8PTWNKKs= | ||||
| gopkg.in/go-jose/go-jose.v2 v2.6.3/go.mod h1:zzZDPkNNw/c9IE7Z9jr11mBZQhKQTMzoEEIoEdZlFBI= | ||||
| gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= | ||||
| gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= | ||||
| gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= | ||||
| gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= | ||||
| gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= | ||||
| gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= | ||||
| k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= | ||||
|   | ||||
| @@ -20,7 +20,7 @@ import ( | ||||
| 	"fmt" | ||||
| 	"strings" | ||||
|  | ||||
| 	jose "gopkg.in/square/go-jose.v2" | ||||
| 	jose "gopkg.in/go-jose/go-jose.v2" | ||||
| ) | ||||
|  | ||||
| // ComputeDetachedSignature takes content and token details and computes a detached | ||||
|   | ||||
							
								
								
									
										4
									
								
								staging/src/k8s.io/controller-manager/go.sum
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								staging/src/k8s.io/controller-manager/go.sum
									
									
									
										generated
									
									
									
								
							| @@ -20,7 +20,7 @@ github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91 | ||||
| github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= | ||||
| github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= | ||||
| github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= | ||||
| github.com/coreos/go-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= | ||||
| github.com/coreos/go-oidc v2.3.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= | ||||
| github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= | ||||
| github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= | ||||
| github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= | ||||
| @@ -284,11 +284,11 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN | ||||
| gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= | ||||
| gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= | ||||
| gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= | ||||
| gopkg.in/go-jose/go-jose.v2 v2.6.3/go.mod h1:zzZDPkNNw/c9IE7Z9jr11mBZQhKQTMzoEEIoEdZlFBI= | ||||
| gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= | ||||
| gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= | ||||
| gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= | ||||
| gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= | ||||
| gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= | ||||
| gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= | ||||
| gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= | ||||
| gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= | ||||
|   | ||||
| @@ -17,7 +17,7 @@ github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91 | ||||
| github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= | ||||
| github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= | ||||
| github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= | ||||
| github.com/coreos/go-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= | ||||
| github.com/coreos/go-oidc v2.3.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= | ||||
| github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= | ||||
| github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= | ||||
| github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= | ||||
| @@ -237,10 +237,10 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN | ||||
| gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= | ||||
| gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= | ||||
| gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= | ||||
| gopkg.in/go-jose/go-jose.v2 v2.6.3/go.mod h1:zzZDPkNNw/c9IE7Z9jr11mBZQhKQTMzoEEIoEdZlFBI= | ||||
| gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= | ||||
| gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= | ||||
| gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= | ||||
| gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= | ||||
| gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= | ||||
| gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= | ||||
| gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= | ||||
|   | ||||
							
								
								
									
										4
									
								
								staging/src/k8s.io/kube-aggregator/go.sum
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								staging/src/k8s.io/kube-aggregator/go.sum
									
									
									
										generated
									
									
									
								
							| @@ -21,7 +21,7 @@ github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91 | ||||
| github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= | ||||
| github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= | ||||
| github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= | ||||
| github.com/coreos/go-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= | ||||
| github.com/coreos/go-oidc v2.3.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= | ||||
| github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= | ||||
| github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= | ||||
| github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= | ||||
| @@ -290,11 +290,11 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN | ||||
| gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= | ||||
| gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= | ||||
| gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= | ||||
| gopkg.in/go-jose/go-jose.v2 v2.6.3/go.mod h1:zzZDPkNNw/c9IE7Z9jr11mBZQhKQTMzoEEIoEdZlFBI= | ||||
| gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= | ||||
| gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= | ||||
| gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= | ||||
| gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= | ||||
| gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= | ||||
| gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= | ||||
| gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= | ||||
| gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= | ||||
|   | ||||
							
								
								
									
										4
									
								
								staging/src/k8s.io/kubelet/go.sum
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								staging/src/k8s.io/kubelet/go.sum
									
									
									
										generated
									
									
									
								
							| @@ -16,7 +16,7 @@ github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91 | ||||
| github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= | ||||
| github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= | ||||
| github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= | ||||
| github.com/coreos/go-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= | ||||
| github.com/coreos/go-oidc v2.3.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= | ||||
| github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= | ||||
| github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= | ||||
| github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= | ||||
| @@ -222,10 +222,10 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN | ||||
| gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= | ||||
| gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= | ||||
| gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= | ||||
| gopkg.in/go-jose/go-jose.v2 v2.6.3/go.mod h1:zzZDPkNNw/c9IE7Z9jr11mBZQhKQTMzoEEIoEdZlFBI= | ||||
| gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= | ||||
| gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= | ||||
| gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= | ||||
| gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= | ||||
| gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= | ||||
| gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= | ||||
| gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= | ||||
|   | ||||
							
								
								
									
										4
									
								
								staging/src/k8s.io/pod-security-admission/go.sum
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								staging/src/k8s.io/pod-security-admission/go.sum
									
									
									
										generated
									
									
									
								
							| @@ -20,7 +20,7 @@ github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91 | ||||
| github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= | ||||
| github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= | ||||
| github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= | ||||
| github.com/coreos/go-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= | ||||
| github.com/coreos/go-oidc v2.3.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= | ||||
| github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= | ||||
| github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= | ||||
| github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= | ||||
| @@ -284,11 +284,11 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN | ||||
| gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= | ||||
| gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= | ||||
| gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= | ||||
| gopkg.in/go-jose/go-jose.v2 v2.6.3/go.mod h1:zzZDPkNNw/c9IE7Z9jr11mBZQhKQTMzoEEIoEdZlFBI= | ||||
| gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= | ||||
| gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= | ||||
| gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= | ||||
| gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= | ||||
| gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= | ||||
| gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= | ||||
| gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= | ||||
| gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= | ||||
|   | ||||
							
								
								
									
										4
									
								
								staging/src/k8s.io/sample-apiserver/go.sum
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								staging/src/k8s.io/sample-apiserver/go.sum
									
									
									
										generated
									
									
									
								
							| @@ -20,7 +20,7 @@ github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91 | ||||
| github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= | ||||
| github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= | ||||
| github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= | ||||
| github.com/coreos/go-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= | ||||
| github.com/coreos/go-oidc v2.3.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= | ||||
| github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= | ||||
| github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= | ||||
| github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= | ||||
| @@ -287,11 +287,11 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN | ||||
| gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= | ||||
| gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= | ||||
| gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= | ||||
| gopkg.in/go-jose/go-jose.v2 v2.6.3/go.mod h1:zzZDPkNNw/c9IE7Z9jr11mBZQhKQTMzoEEIoEdZlFBI= | ||||
| gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= | ||||
| gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= | ||||
| gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= | ||||
| gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= | ||||
| gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= | ||||
| gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= | ||||
| gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= | ||||
| gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= | ||||
|   | ||||
| @@ -32,7 +32,7 @@ import ( | ||||
| 	"github.com/coreos/go-oidc" | ||||
| 	"github.com/spf13/cobra" | ||||
| 	"golang.org/x/oauth2" | ||||
| 	"gopkg.in/square/go-jose.v2/jwt" | ||||
| 	"gopkg.in/go-jose/go-jose.v2/jwt" | ||||
| 	"k8s.io/apimachinery/pkg/util/wait" | ||||
| 	"k8s.io/client-go/rest" | ||||
| ) | ||||
|   | ||||
| @@ -39,7 +39,7 @@ import ( | ||||
| 	"github.com/google/go-cmp/cmp" | ||||
| 	"github.com/stretchr/testify/assert" | ||||
| 	"github.com/stretchr/testify/require" | ||||
| 	"gopkg.in/square/go-jose.v2" | ||||
| 	"gopkg.in/go-jose/go-jose.v2" | ||||
|  | ||||
| 	authenticationv1 "k8s.io/api/authentication/v1" | ||||
| 	rbacv1 "k8s.io/api/rbac/v1" | ||||
|   | ||||
| @@ -33,8 +33,8 @@ import ( | ||||
| 	"testing" | ||||
| 	"time" | ||||
|  | ||||
| 	jose "gopkg.in/square/go-jose.v2" | ||||
| 	"gopkg.in/square/go-jose.v2/jwt" | ||||
| 	jose "gopkg.in/go-jose/go-jose.v2" | ||||
| 	"gopkg.in/go-jose/go-jose.v2/jwt" | ||||
|  | ||||
| 	authenticationv1 "k8s.io/api/authentication/v1" | ||||
| 	v1 "k8s.io/api/core/v1" | ||||
|   | ||||
| @@ -19,7 +19,7 @@ limitations under the License. | ||||
| package handlers | ||||
|  | ||||
| import ( | ||||
| 	"gopkg.in/square/go-jose.v2" | ||||
| 	"gopkg.in/go-jose/go-jose.v2" | ||||
| ) | ||||
|  | ||||
| type Token struct { | ||||
|   | ||||
| @@ -20,7 +20,7 @@ package handlers | ||||
|  | ||||
| import ( | ||||
| 	mock "github.com/stretchr/testify/mock" | ||||
| 	jose "gopkg.in/square/go-jose.v2" | ||||
| 	jose "gopkg.in/go-jose/go-jose.v2" | ||||
| ) | ||||
|  | ||||
| // MockJWKsHandler is an autogenerated mock type for the JWKsHandler type | ||||
|   | ||||
| @@ -32,7 +32,7 @@ import ( | ||||
| 	"testing" | ||||
|  | ||||
| 	"github.com/stretchr/testify/require" | ||||
| 	"gopkg.in/square/go-jose.v2" | ||||
| 	"gopkg.in/go-jose/go-jose.v2" | ||||
| 	"k8s.io/kubernetes/test/utils/oidc/handlers" | ||||
| ) | ||||
|  | ||||
|   | ||||
							
								
								
									
										8
									
								
								vendor/github.com/coreos/go-oidc/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								vendor/github.com/coreos/go-oidc/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,9 +1,11 @@ | ||||
| language: go | ||||
|  | ||||
| go: | ||||
|   - "1.12" | ||||
|   - "1.13" | ||||
|  | ||||
|   - "1.14" | ||||
|   - "1.15" | ||||
| arch: | ||||
|   - AMD64 | ||||
|   - ppc64le | ||||
| install: | ||||
|  - go get -v -t github.com/coreos/go-oidc/... | ||||
|  - go get golang.org/x/tools/cmd/cover | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/coreos/go-oidc/jwks.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/coreos/go-oidc/jwks.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -10,7 +10,7 @@ import ( | ||||
| 	"time" | ||||
|  | ||||
| 	"github.com/pquerna/cachecontrol" | ||||
| 	jose "gopkg.in/square/go-jose.v2" | ||||
| 	jose "gopkg.in/go-jose/go-jose.v2" | ||||
| ) | ||||
|  | ||||
| // keysExpiryDelta is the allowed clock skew between a client and the OpenID Connect | ||||
|   | ||||
							
								
								
									
										56
									
								
								vendor/github.com/coreos/go-oidc/oidc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										56
									
								
								vendor/github.com/coreos/go-oidc/oidc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -13,11 +13,12 @@ import ( | ||||
| 	"io/ioutil" | ||||
| 	"mime" | ||||
| 	"net/http" | ||||
| 	"strconv" | ||||
| 	"strings" | ||||
| 	"time" | ||||
|  | ||||
| 	"golang.org/x/oauth2" | ||||
| 	jose "gopkg.in/square/go-jose.v2" | ||||
| 	jose "gopkg.in/go-jose/go-jose.v2" | ||||
| ) | ||||
|  | ||||
| const ( | ||||
| @@ -192,6 +193,16 @@ type UserInfo struct { | ||||
| 	claims []byte | ||||
| } | ||||
|  | ||||
| type userInfoRaw struct { | ||||
| 	Subject string `json:"sub"` | ||||
| 	Profile string `json:"profile"` | ||||
| 	Email   string `json:"email"` | ||||
| 	// Handle providers that return email_verified as a string | ||||
| 	// https://forums.aws.amazon.com/thread.jspa?messageID=949441󧳁 and | ||||
| 	// https://discuss.elastic.co/t/openid-error-after-authenticating-against-aws-cognito/206018/11 | ||||
| 	EmailVerified stringAsBool `json:"email_verified"` | ||||
| } | ||||
|  | ||||
| // Claims unmarshals the raw JSON object claims into the provided object. | ||||
| func (u *UserInfo) Claims(v interface{}) error { | ||||
| 	if u.claims == nil { | ||||
| @@ -230,12 +241,27 @@ func (p *Provider) UserInfo(ctx context.Context, tokenSource oauth2.TokenSource) | ||||
| 		return nil, fmt.Errorf("%s: %s", resp.Status, body) | ||||
| 	} | ||||
|  | ||||
| 	var userInfo UserInfo | ||||
| 	ct := resp.Header.Get("Content-Type") | ||||
| 	mediaType, _, parseErr := mime.ParseMediaType(ct) | ||||
| 	if parseErr == nil && mediaType == "application/jwt" { | ||||
| 		payload, err := p.remoteKeySet.VerifySignature(ctx, string(body)) | ||||
| 		if err != nil { | ||||
| 			return nil, fmt.Errorf("oidc: invalid userinfo jwt signature %v", err) | ||||
| 		} | ||||
| 		body = payload | ||||
| 	} | ||||
|  | ||||
| 	var userInfo userInfoRaw | ||||
| 	if err := json.Unmarshal(body, &userInfo); err != nil { | ||||
| 		return nil, fmt.Errorf("oidc: failed to decode userinfo: %v", err) | ||||
| 	} | ||||
| 	userInfo.claims = body | ||||
| 	return &userInfo, nil | ||||
| 	return &UserInfo{ | ||||
| 		Subject:       userInfo.Subject, | ||||
| 		Profile:       userInfo.Profile, | ||||
| 		Email:         userInfo.Email, | ||||
| 		EmailVerified: bool(userInfo.EmailVerified), | ||||
| 		claims:        body, | ||||
| 	}, nil | ||||
| } | ||||
|  | ||||
| // IDToken is an OpenID Connect extension that provides a predictable representation | ||||
| @@ -357,6 +383,28 @@ type claimSource struct { | ||||
| 	AccessToken string `json:"access_token"` | ||||
| } | ||||
|  | ||||
| type stringAsBool bool | ||||
|  | ||||
| func (sb *stringAsBool) UnmarshalJSON(b []byte) error { | ||||
| 	var result bool | ||||
| 	err := json.Unmarshal(b, &result) | ||||
| 	if err == nil { | ||||
| 		*sb = stringAsBool(result) | ||||
| 		return nil | ||||
| 	} | ||||
| 	var s string | ||||
| 	err = json.Unmarshal(b, &s) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	result, err = strconv.ParseBool(s) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	*sb = stringAsBool(result) | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| type audience []string | ||||
|  | ||||
| func (a *audience) UnmarshalJSON(b []byte) error { | ||||
|   | ||||
							
								
								
									
										4
									
								
								vendor/github.com/coreos/go-oidc/verify.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/coreos/go-oidc/verify.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -13,7 +13,7 @@ import ( | ||||
| 	"time" | ||||
|  | ||||
| 	"golang.org/x/oauth2" | ||||
| 	jose "gopkg.in/square/go-jose.v2" | ||||
| 	jose "gopkg.in/go-jose/go-jose.v2" | ||||
| ) | ||||
|  | ||||
| const ( | ||||
| @@ -185,7 +185,7 @@ func parseClaim(raw []byte, name string, v interface{}) error { | ||||
| 	return json.Unmarshal([]byte(val), v) | ||||
| } | ||||
|  | ||||
| // Verify parses a raw ID Token, verifies it's been signed by the provider, preforms | ||||
| // Verify parses a raw ID Token, verifies it's been signed by the provider, performs | ||||
| // any additional checks depending on the Config, and returns the payload. | ||||
| // | ||||
| // Verify does NOT do nonce validation, which is the callers responsibility. | ||||
|   | ||||
							
								
								
									
										84
									
								
								vendor/gopkg.in/go-jose/go-jose.v2/CHANGELOG.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								vendor/gopkg.in/go-jose/go-jose.v2/CHANGELOG.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,84 @@ | ||||
| # v4.0.1 | ||||
|  | ||||
| ## Fixed | ||||
|  | ||||
|  - An attacker could send a JWE containing compressed data that used large | ||||
|    amounts of memory and CPU when decompressed by `Decrypt` or `DecryptMulti`. | ||||
|    Those functions now return an error if the decompressed data would exceed | ||||
|    250kB or 10x the compressed size (whichever is larger). Thanks to | ||||
|    Enze Wang@Alioth and Jianjun Chen@Zhongguancun Lab (@zer0yu and @chenjj) | ||||
|    for reporting. | ||||
|  | ||||
| # v4.0.0 | ||||
|  | ||||
| This release makes some breaking changes in order to more thoroughly | ||||
| address the vulnerabilities discussed in [Three New Attacks Against JSON Web | ||||
| Tokens][1], "Sign/encrypt confusion", "Billion hash attack", and "Polyglot | ||||
| token". | ||||
|  | ||||
| ## Changed | ||||
|  | ||||
|  - Limit JWT encryption types (exclude password or public key types) (#78) | ||||
|  - Enforce minimum length for HMAC keys (#85) | ||||
|  - jwt: match any audience in a list, rather than requiring all audiences (#81) | ||||
|  - jwt: accept only Compact Serialization (#75) | ||||
|  - jws: Add expected algorithms for signatures (#74) | ||||
|  - Require specifying expected algorithms for ParseEncrypted, | ||||
|    ParseSigned, ParseDetached, jwt.ParseEncrypted, jwt.ParseSigned, | ||||
|    jwt.ParseSignedAndEncrypted (#69, #74) | ||||
|    - Usually there is a small, known set of appropriate algorithms for a program | ||||
|      to use and it's a mistake to allow unexpected algorithms. For instance the | ||||
|      "billion hash attack" relies in part on programs accepting the PBES2 | ||||
|      encryption algorithm and doing the necessary work even if they weren't | ||||
|      specifically configured to allow PBES2. | ||||
|  - Revert "Strip padding off base64 strings" (#82) | ||||
|   - The specs require base64url encoding without padding. | ||||
|  - Minimum supported Go version is now 1.21 | ||||
|  | ||||
| ## Added | ||||
|  | ||||
|  - ParseSignedCompact, ParseSignedJSON, ParseEncryptedCompact, ParseEncryptedJSON. | ||||
|    - These allow parsing a specific serialization, as opposed to ParseSigned and | ||||
|      ParseEncrypted, which try to automatically detect which serialization was | ||||
|      provided. It's common to require a specific serialization for a specific | ||||
|      protocol - for instance JWT requires Compact serialization. | ||||
|  | ||||
| [1]: https://i.blackhat.com/BH-US-23/Presentations/US-23-Tervoort-Three-New-Attacks-Against-JSON-Web-Tokens.pdf | ||||
|  | ||||
| # v3.0.3 | ||||
|  | ||||
| ## Fixed | ||||
|  | ||||
|  - Limit decompression output size to prevent a DoS. Backport from v4.0.1. | ||||
|  | ||||
| # v3.0.2 | ||||
|  | ||||
| ## Fixed | ||||
|  | ||||
|  - DecryptMulti: handle decompression error (#19) | ||||
|  | ||||
| ## Changed | ||||
|  | ||||
|  - jwe/CompactSerialize: improve performance (#67) | ||||
|  - Increase the default number of PBKDF2 iterations to 600k (#48) | ||||
|  - Return the proper algorithm for ECDSA keys (#45) | ||||
|  | ||||
| ## Added | ||||
|  | ||||
|  - Add Thumbprint support for opaque signers (#38) | ||||
|  | ||||
| # v3.0.1 | ||||
|  | ||||
| ## Fixed | ||||
|  | ||||
|  - Security issue: an attacker specifying a large "p2c" value can cause | ||||
|    JSONWebEncryption.Decrypt and JSONWebEncryption.DecryptMulti to consume large | ||||
|    amounts of CPU, causing a DoS. Thanks to Matt Schwager (@mschwager) for the | ||||
|    disclosure and to Tom Tervoort for originally publishing the category of attack. | ||||
|    https://i.blackhat.com/BH-US-23/Presentations/US-23-Tervoort-Three-New-Attacks-Against-JSON-Web-Tokens.pdf | ||||
|  | ||||
| # v2.6.3 | ||||
|  | ||||
| ## Fixed | ||||
|  | ||||
|  - Limit decompression output size to prevent a DoS. Backport from v4.0.1. | ||||
							
								
								
									
										4
									
								
								vendor/gopkg.in/go-jose/go-jose.v2/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								vendor/gopkg.in/go-jose/go-jose.v2/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| # go-jose v2 | ||||
|  | ||||
| Version 2 of this library is no longer supported. [Please use v4 | ||||
| instead](https://pkg.go.dev/github.com/go-jose/go-jose/v4). | ||||
| @@ -29,8 +29,8 @@ import ( | ||||
| 	"math/big" | ||||
| 
 | ||||
| 	"golang.org/x/crypto/ed25519" | ||||
| 	josecipher "gopkg.in/square/go-jose.v2/cipher" | ||||
| 	"gopkg.in/square/go-jose.v2/json" | ||||
| 	josecipher "gopkg.in/go-jose/go-jose.v2/cipher" | ||||
| 	"gopkg.in/go-jose/go-jose.v2/json" | ||||
| ) | ||||
| 
 | ||||
| // A generic RSA-based encrypter/verifier | ||||
| @@ -285,6 +285,9 @@ func (ctx rsaDecrypterSigner) signPayload(payload []byte, alg SignatureAlgorithm | ||||
| 
 | ||||
| 	switch alg { | ||||
| 	case RS256, RS384, RS512: | ||||
| 		// TODO(https://github.com/go-jose/go-jose/issues/40): As of go1.20, the | ||||
| 		// random parameter is legacy and ignored, and it can be nil. | ||||
| 		// https://cs.opensource.google/go/go/+/refs/tags/go1.20:src/crypto/rsa/pkcs1v15.go;l=263;bpv=0;bpt=1 | ||||
| 		out, err = rsa.SignPKCS1v15(RandReader, ctx.privateKey, hash, hashed) | ||||
| 	case PS256, PS384, PS512: | ||||
| 		out, err = rsa.SignPSS(RandReader, ctx.privateKey, hash, hashed, &rsa.PSSOptions{ | ||||
| @@ -413,28 +416,28 @@ func (ctx ecKeyGenerator) genKey() ([]byte, rawHeader, error) { | ||||
| func (ctx ecDecrypterSigner) decryptKey(headers rawHeader, recipient *recipientInfo, generator keyGenerator) ([]byte, error) { | ||||
| 	epk, err := headers.getEPK() | ||||
| 	if err != nil { | ||||
| 		return nil, errors.New("square/go-jose: invalid epk header") | ||||
| 		return nil, errors.New("go-jose/go-jose: invalid epk header") | ||||
| 	} | ||||
| 	if epk == nil { | ||||
| 		return nil, errors.New("square/go-jose: missing epk header") | ||||
| 		return nil, errors.New("go-jose/go-jose: missing epk header") | ||||
| 	} | ||||
| 
 | ||||
| 	publicKey, ok := epk.Key.(*ecdsa.PublicKey) | ||||
| 	if publicKey == nil || !ok { | ||||
| 		return nil, errors.New("square/go-jose: invalid epk header") | ||||
| 		return nil, errors.New("go-jose/go-jose: invalid epk header") | ||||
| 	} | ||||
| 
 | ||||
| 	if !ctx.privateKey.Curve.IsOnCurve(publicKey.X, publicKey.Y) { | ||||
| 		return nil, errors.New("square/go-jose: invalid public key in epk header") | ||||
| 		return nil, errors.New("go-jose/go-jose: invalid public key in epk header") | ||||
| 	} | ||||
| 
 | ||||
| 	apuData, err := headers.getAPU() | ||||
| 	if err != nil { | ||||
| 		return nil, errors.New("square/go-jose: invalid apu header") | ||||
| 		return nil, errors.New("go-jose/go-jose: invalid apu header") | ||||
| 	} | ||||
| 	apvData, err := headers.getAPV() | ||||
| 	if err != nil { | ||||
| 		return nil, errors.New("square/go-jose: invalid apv header") | ||||
| 		return nil, errors.New("go-jose/go-jose: invalid apv header") | ||||
| 	} | ||||
| 
 | ||||
| 	deriveKey := func(algID string, size int) []byte { | ||||
| @@ -489,7 +492,7 @@ func (ctx edEncrypterVerifier) verifyPayload(payload []byte, signature []byte, a | ||||
| 	} | ||||
| 	ok := ed25519.Verify(ctx.publicKey, payload, signature) | ||||
| 	if !ok { | ||||
| 		return errors.New("square/go-jose: ed25519 signature failed to verify") | ||||
| 		return errors.New("go-jose/go-jose: ed25519 signature failed to verify") | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| @@ -513,7 +516,7 @@ func (ctx ecDecrypterSigner) signPayload(payload []byte, alg SignatureAlgorithm) | ||||
| 
 | ||||
| 	curveBits := ctx.privateKey.Curve.Params().BitSize | ||||
| 	if expectedBitSize != curveBits { | ||||
| 		return Signature{}, fmt.Errorf("square/go-jose: expected %d bit key, got %d bits instead", expectedBitSize, curveBits) | ||||
| 		return Signature{}, fmt.Errorf("go-jose/go-jose: expected %d bit key, got %d bits instead", expectedBitSize, curveBits) | ||||
| 	} | ||||
| 
 | ||||
| 	hasher := hash.New() | ||||
| @@ -571,7 +574,7 @@ func (ctx ecEncrypterVerifier) verifyPayload(payload []byte, signature []byte, a | ||||
| 	} | ||||
| 
 | ||||
| 	if len(signature) != 2*keySize { | ||||
| 		return fmt.Errorf("square/go-jose: invalid signature size, have %d bytes, wanted %d", len(signature), 2*keySize) | ||||
| 		return fmt.Errorf("go-jose/go-jose: invalid signature size, have %d bytes, wanted %d", len(signature), 2*keySize) | ||||
| 	} | ||||
| 
 | ||||
| 	hasher := hash.New() | ||||
| @@ -585,7 +588,7 @@ func (ctx ecEncrypterVerifier) verifyPayload(payload []byte, signature []byte, a | ||||
| 
 | ||||
| 	match := ecdsa.Verify(ctx.publicKey, hashed, r, s) | ||||
| 	if !match { | ||||
| 		return errors.New("square/go-jose: ecdsa signature failed to verify") | ||||
| 		return errors.New("go-jose/go-jose: ecdsa signature failed to verify") | ||||
| 	} | ||||
| 
 | ||||
| 	return nil | ||||
| @@ -101,14 +101,14 @@ func (ctx *cbcAEAD) Seal(dst, nonce, plaintext, data []byte) []byte { | ||||
| // Open decrypts and authenticates the ciphertext. | ||||
| func (ctx *cbcAEAD) Open(dst, nonce, ciphertext, data []byte) ([]byte, error) { | ||||
| 	if len(ciphertext) < ctx.authtagBytes { | ||||
| 		return nil, errors.New("square/go-jose: invalid ciphertext (too short)") | ||||
| 		return nil, errors.New("go-jose/go-jose: invalid ciphertext (too short)") | ||||
| 	} | ||||
| 
 | ||||
| 	offset := len(ciphertext) - ctx.authtagBytes | ||||
| 	expectedTag := ctx.computeAuthTag(data, nonce, ciphertext[:offset]) | ||||
| 	match := subtle.ConstantTimeCompare(expectedTag, ciphertext[offset:]) | ||||
| 	if match != 1 { | ||||
| 		return nil, errors.New("square/go-jose: invalid ciphertext (auth tag mismatch)") | ||||
| 		return nil, errors.New("go-jose/go-jose: invalid ciphertext (auth tag mismatch)") | ||||
| 	} | ||||
| 
 | ||||
| 	cbc := cipher.NewCBCDecrypter(ctx.blockCipher, nonce) | ||||
| @@ -117,7 +117,7 @@ func (ctx *cbcAEAD) Open(dst, nonce, ciphertext, data []byte) ([]byte, error) { | ||||
| 	buffer := append([]byte{}, []byte(ciphertext[:offset])...) | ||||
| 
 | ||||
| 	if len(buffer)%ctx.blockCipher.BlockSize() > 0 { | ||||
| 		return nil, errors.New("square/go-jose: invalid ciphertext (invalid length)") | ||||
| 		return nil, errors.New("go-jose/go-jose: invalid ciphertext (invalid length)") | ||||
| 	} | ||||
| 
 | ||||
| 	cbc.CryptBlocks(buffer, buffer) | ||||
| @@ -177,19 +177,19 @@ func padBuffer(buffer []byte, blockSize int) []byte { | ||||
| // Remove padding | ||||
| func unpadBuffer(buffer []byte, blockSize int) ([]byte, error) { | ||||
| 	if len(buffer)%blockSize != 0 { | ||||
| 		return nil, errors.New("square/go-jose: invalid padding") | ||||
| 		return nil, errors.New("go-jose/go-jose: invalid padding") | ||||
| 	} | ||||
| 
 | ||||
| 	last := buffer[len(buffer)-1] | ||||
| 	count := int(last) | ||||
| 
 | ||||
| 	if count == 0 || count > blockSize || count > len(buffer) { | ||||
| 		return nil, errors.New("square/go-jose: invalid padding") | ||||
| 		return nil, errors.New("go-jose/go-jose: invalid padding") | ||||
| 	} | ||||
| 
 | ||||
| 	padding := bytes.Repeat([]byte{last}, count) | ||||
| 	if !bytes.HasSuffix(buffer, padding) { | ||||
| 		return nil, errors.New("square/go-jose: invalid padding") | ||||
| 		return nil, errors.New("go-jose/go-jose: invalid padding") | ||||
| 	} | ||||
| 
 | ||||
| 	return buffer[:len(buffer)-count], nil | ||||
| @@ -28,7 +28,7 @@ var defaultIV = []byte{0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6} | ||||
| // KeyWrap implements NIST key wrapping; it wraps a content encryption key (cek) with the given block cipher. | ||||
| func KeyWrap(block cipher.Block, cek []byte) ([]byte, error) { | ||||
| 	if len(cek)%8 != 0 { | ||||
| 		return nil, errors.New("square/go-jose: key wrap input must be 8 byte blocks") | ||||
| 		return nil, errors.New("go-jose/go-jose: key wrap input must be 8 byte blocks") | ||||
| 	} | ||||
| 
 | ||||
| 	n := len(cek) / 8 | ||||
| @@ -68,7 +68,7 @@ func KeyWrap(block cipher.Block, cek []byte) ([]byte, error) { | ||||
| // KeyUnwrap implements NIST key unwrapping; it unwraps a content encryption key (cek) with the given block cipher. | ||||
| func KeyUnwrap(block cipher.Block, ciphertext []byte) ([]byte, error) { | ||||
| 	if len(ciphertext)%8 != 0 { | ||||
| 		return nil, errors.New("square/go-jose: key wrap input must be 8 byte blocks") | ||||
| 		return nil, errors.New("go-jose/go-jose: key wrap input must be 8 byte blocks") | ||||
| 	} | ||||
| 
 | ||||
| 	n := (len(ciphertext) / 8) - 1 | ||||
| @@ -97,7 +97,7 @@ func KeyUnwrap(block cipher.Block, ciphertext []byte) ([]byte, error) { | ||||
| 	} | ||||
| 
 | ||||
| 	if subtle.ConstantTimeCompare(buffer[:8], defaultIV) == 0 { | ||||
| 		return nil, errors.New("square/go-jose: failed to unwrap key") | ||||
| 		return nil, errors.New("go-jose/go-jose: failed to unwrap key") | ||||
| 	} | ||||
| 
 | ||||
| 	out := make([]byte, n*8) | ||||
| @@ -23,7 +23,7 @@ import ( | ||||
| 	"fmt" | ||||
| 	"reflect" | ||||
| 
 | ||||
| 	"gopkg.in/square/go-jose.v2/json" | ||||
| 	"gopkg.in/go-jose/go-jose.v2/json" | ||||
| ) | ||||
| 
 | ||||
| // Encrypter represents an encrypter which produces an encrypted JWE object. | ||||
| @@ -202,7 +202,7 @@ func NewMultiEncrypter(enc ContentEncryption, rcpts []Recipient, opts *Encrypter | ||||
| 		return nil, ErrUnsupportedAlgorithm | ||||
| 	} | ||||
| 	if rcpts == nil || len(rcpts) == 0 { | ||||
| 		return nil, fmt.Errorf("square/go-jose: recipients is nil or empty") | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: recipients is nil or empty") | ||||
| 	} | ||||
| 
 | ||||
| 	encrypter := &genericEncrypter{ | ||||
| @@ -234,7 +234,7 @@ func (ctx *genericEncrypter) addRecipient(recipient Recipient) (err error) { | ||||
| 
 | ||||
| 	switch recipient.Algorithm { | ||||
| 	case DIRECT, ECDH_ES: | ||||
| 		return fmt.Errorf("square/go-jose: key algorithm '%s' not supported in multi-recipient mode", recipient.Algorithm) | ||||
| 		return fmt.Errorf("go-jose/go-jose: key algorithm '%s' not supported in multi-recipient mode", recipient.Algorithm) | ||||
| 	} | ||||
| 
 | ||||
| 	recipientInfo, err = makeJWERecipient(recipient.Algorithm, recipient.Key) | ||||
| @@ -326,7 +326,7 @@ func (ctx *genericEncrypter) EncryptWithAuthData(plaintext, aad []byte) (*JSONWe | ||||
| 	obj.recipients = make([]recipientInfo, len(ctx.recipients)) | ||||
| 
 | ||||
| 	if len(ctx.recipients) == 0 { | ||||
| 		return nil, fmt.Errorf("square/go-jose: no recipients to encrypt to") | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: no recipients to encrypt to") | ||||
| 	} | ||||
| 
 | ||||
| 	cek, headers, err := ctx.keyGenerator.genKey() | ||||
| @@ -406,20 +406,23 @@ func (ctx *genericEncrypter) Options() EncrypterOptions { | ||||
| // Decrypt and validate the object and return the plaintext. Note that this | ||||
| // function does not support multi-recipient, if you desire multi-recipient | ||||
| // decryption use DecryptMulti instead. | ||||
| // | ||||
| // Automatically decompresses plaintext, but returns an error if the decompressed | ||||
| // data would be >250kB or >10x the size of the compressed data, whichever is larger. | ||||
| func (obj JSONWebEncryption) Decrypt(decryptionKey interface{}) ([]byte, error) { | ||||
| 	headers := obj.mergedHeaders(nil) | ||||
| 
 | ||||
| 	if len(obj.recipients) > 1 { | ||||
| 		return nil, errors.New("square/go-jose: too many recipients in payload; expecting only one") | ||||
| 		return nil, errors.New("go-jose/go-jose: too many recipients in payload; expecting only one") | ||||
| 	} | ||||
| 
 | ||||
| 	critical, err := headers.getCritical() | ||||
| 	if err != nil { | ||||
| 		return nil, fmt.Errorf("square/go-jose: invalid crit header") | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: invalid crit header") | ||||
| 	} | ||||
| 
 | ||||
| 	if len(critical) > 0 { | ||||
| 		return nil, fmt.Errorf("square/go-jose: unsupported crit header") | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: unsupported crit header") | ||||
| 	} | ||||
| 
 | ||||
| 	decrypter, err := newDecrypter(decryptionKey) | ||||
| @@ -429,7 +432,7 @@ func (obj JSONWebEncryption) Decrypt(decryptionKey interface{}) ([]byte, error) | ||||
| 
 | ||||
| 	cipher := getContentCipher(headers.getEncryption()) | ||||
| 	if cipher == nil { | ||||
| 		return nil, fmt.Errorf("square/go-jose: unsupported enc value '%s'", string(headers.getEncryption())) | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: unsupported enc value '%s'", string(headers.getEncryption())) | ||||
| 	} | ||||
| 
 | ||||
| 	generator := randomKeyGenerator{ | ||||
| @@ -470,16 +473,19 @@ func (obj JSONWebEncryption) Decrypt(decryptionKey interface{}) ([]byte, error) | ||||
| // with support for multiple recipients. It returns the index of the recipient | ||||
| // for which the decryption was successful, the merged headers for that recipient, | ||||
| // and the plaintext. | ||||
| // | ||||
| // Automatically decompresses plaintext, but returns an error if the decompressed | ||||
| // data would be >250kB or >3x the size of the compressed data, whichever is larger. | ||||
| func (obj JSONWebEncryption) DecryptMulti(decryptionKey interface{}) (int, Header, []byte, error) { | ||||
| 	globalHeaders := obj.mergedHeaders(nil) | ||||
| 
 | ||||
| 	critical, err := globalHeaders.getCritical() | ||||
| 	if err != nil { | ||||
| 		return -1, Header{}, nil, fmt.Errorf("square/go-jose: invalid crit header") | ||||
| 		return -1, Header{}, nil, fmt.Errorf("go-jose/go-jose: invalid crit header") | ||||
| 	} | ||||
| 
 | ||||
| 	if len(critical) > 0 { | ||||
| 		return -1, Header{}, nil, fmt.Errorf("square/go-jose: unsupported crit header") | ||||
| 		return -1, Header{}, nil, fmt.Errorf("go-jose/go-jose: unsupported crit header") | ||||
| 	} | ||||
| 
 | ||||
| 	decrypter, err := newDecrypter(decryptionKey) | ||||
| @@ -490,7 +496,7 @@ func (obj JSONWebEncryption) DecryptMulti(decryptionKey interface{}) (int, Heade | ||||
| 	encryption := globalHeaders.getEncryption() | ||||
| 	cipher := getContentCipher(encryption) | ||||
| 	if cipher == nil { | ||||
| 		return -1, Header{}, nil, fmt.Errorf("square/go-jose: unsupported enc value '%s'", string(encryption)) | ||||
| 		return -1, Header{}, nil, fmt.Errorf("go-jose/go-jose: unsupported enc value '%s'", string(encryption)) | ||||
| 	} | ||||
| 
 | ||||
| 	generator := randomKeyGenerator{ | ||||
| @@ -535,7 +541,7 @@ func (obj JSONWebEncryption) DecryptMulti(decryptionKey interface{}) (int, Heade | ||||
| 
 | ||||
| 	sanitized, err := headers.sanitized() | ||||
| 	if err != nil { | ||||
| 		return -1, Header{}, nil, fmt.Errorf("square/go-jose: failed to sanitize header: %v", err) | ||||
| 		return -1, Header{}, nil, fmt.Errorf("go-jose/go-jose: failed to sanitize header: %v", err) | ||||
| 	} | ||||
| 
 | ||||
| 	return index, sanitized, plaintext, err | ||||
							
								
								
									
										0
									
								
								vendor/gopkg.in/square/go-jose.v2/doc.go → vendor/gopkg.in/go-jose/go-jose.v2/doc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										0
									
								
								vendor/gopkg.in/square/go-jose.v2/doc.go → vendor/gopkg.in/go-jose/go-jose.v2/doc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -21,12 +21,13 @@ import ( | ||||
| 	"compress/flate" | ||||
| 	"encoding/base64" | ||||
| 	"encoding/binary" | ||||
| 	"fmt" | ||||
| 	"io" | ||||
| 	"math/big" | ||||
| 	"strings" | ||||
| 	"unicode" | ||||
| 
 | ||||
| 	"gopkg.in/square/go-jose.v2/json" | ||||
| 	"gopkg.in/go-jose/go-jose.v2/json" | ||||
| ) | ||||
| 
 | ||||
| // Helper function to serialize known-good objects. | ||||
| @@ -41,7 +42,7 @@ func mustSerializeJSON(value interface{}) []byte { | ||||
| 	// MarshalJSON will happily serialize it as the top-level value "null". If | ||||
| 	// that value is then embedded in another operation, for instance by being | ||||
| 	// base64-encoded and fed as input to a signing algorithm | ||||
| 	// (https://github.com/square/go-jose/issues/22), the result will be | ||||
| 	// (https://github.com/go-jose/go-jose/issues/22), the result will be | ||||
| 	// incorrect. Because this method is intended for known-good objects, and a nil | ||||
| 	// pointer is not a known-good object, we are free to panic in this case. | ||||
| 	// Note: It's not possible to directly check whether the data pointed at by an | ||||
| @@ -85,7 +86,7 @@ func decompress(algorithm CompressionAlgorithm, input []byte) ([]byte, error) { | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| // Compress with DEFLATE | ||||
| // deflate compresses the input. | ||||
| func deflate(input []byte) ([]byte, error) { | ||||
| 	output := new(bytes.Buffer) | ||||
| 
 | ||||
| @@ -97,15 +98,27 @@ func deflate(input []byte) ([]byte, error) { | ||||
| 	return output.Bytes(), err | ||||
| } | ||||
| 
 | ||||
| // Decompress with DEFLATE | ||||
| // inflate decompresses the input. | ||||
| // | ||||
| // Errors if the decompressed data would be >250kB or >10x the size of the | ||||
| // compressed data, whichever is larger. | ||||
| func inflate(input []byte) ([]byte, error) { | ||||
| 	output := new(bytes.Buffer) | ||||
| 	reader := flate.NewReader(bytes.NewBuffer(input)) | ||||
| 
 | ||||
| 	_, err := io.Copy(output, reader) | ||||
| 	if err != nil { | ||||
| 	maxCompressedSize := 10 * int64(len(input)) | ||||
| 	if maxCompressedSize < 250000 { | ||||
| 		maxCompressedSize = 250000 | ||||
| 	} | ||||
| 
 | ||||
| 	limit := maxCompressedSize + 1 | ||||
| 	n, err := io.CopyN(output, reader, limit) | ||||
| 	if err != nil && err != io.EOF { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	if n == limit { | ||||
| 		return nil, fmt.Errorf("uncompressed data would be too large (>%d bytes)", maxCompressedSize) | ||||
| 	} | ||||
| 
 | ||||
| 	err = reader.Close() | ||||
| 	return output.Bytes(), err | ||||
| @@ -127,7 +140,7 @@ func newBuffer(data []byte) *byteBuffer { | ||||
| 
 | ||||
| func newFixedSizeBuffer(data []byte, length int) *byteBuffer { | ||||
| 	if len(data) > length { | ||||
| 		panic("square/go-jose: invalid call to newFixedSizeBuffer (len(data) > length)") | ||||
| 		panic("go-jose/go-jose: invalid call to newFixedSizeBuffer (len(data) > length)") | ||||
| 	} | ||||
| 	pad := make([]byte, length-len(data)) | ||||
| 	return newBuffer(append(pad, data...)) | ||||
							
								
								
									
										10
									
								
								vendor/gopkg.in/square/go-jose.v2/jwe.go → vendor/gopkg.in/go-jose/go-jose.v2/jwe.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								vendor/gopkg.in/square/go-jose.v2/jwe.go → vendor/gopkg.in/go-jose/go-jose.v2/jwe.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -21,7 +21,7 @@ import ( | ||||
| 	"fmt" | ||||
| 	"strings" | ||||
| 
 | ||||
| 	"gopkg.in/square/go-jose.v2/json" | ||||
| 	"gopkg.in/go-jose/go-jose.v2/json" | ||||
| ) | ||||
| 
 | ||||
| // rawJSONWebEncryption represents a raw JWE JSON object. Used for parsing/serializing. | ||||
| @@ -146,7 +146,7 @@ func (parsed *rawJSONWebEncryption) sanitized() (*JSONWebEncryption, error) { | ||||
| 	if parsed.Protected != nil && len(parsed.Protected.bytes()) > 0 { | ||||
| 		err := json.Unmarshal(parsed.Protected.bytes(), &obj.protected) | ||||
| 		if err != nil { | ||||
| 			return nil, fmt.Errorf("square/go-jose: invalid protected header: %s, %s", err, parsed.Protected.base64()) | ||||
| 			return nil, fmt.Errorf("go-jose/go-jose: invalid protected header: %s, %s", err, parsed.Protected.base64()) | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| @@ -156,7 +156,7 @@ func (parsed *rawJSONWebEncryption) sanitized() (*JSONWebEncryption, error) { | ||||
| 	mergedHeaders := obj.mergedHeaders(nil) | ||||
| 	obj.Header, err = mergedHeaders.sanitized() | ||||
| 	if err != nil { | ||||
| 		return nil, fmt.Errorf("square/go-jose: cannot sanitize merged headers: %v (%v)", err, mergedHeaders) | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: cannot sanitize merged headers: %v (%v)", err, mergedHeaders) | ||||
| 	} | ||||
| 
 | ||||
| 	if len(parsed.Recipients) == 0 { | ||||
| @@ -187,7 +187,7 @@ func (parsed *rawJSONWebEncryption) sanitized() (*JSONWebEncryption, error) { | ||||
| 	for _, recipient := range obj.recipients { | ||||
| 		headers := obj.mergedHeaders(&recipient) | ||||
| 		if headers.getAlgorithm() == "" || headers.getEncryption() == "" { | ||||
| 			return nil, fmt.Errorf("square/go-jose: message is missing alg/enc headers") | ||||
| 			return nil, fmt.Errorf("go-jose/go-jose: message is missing alg/enc headers") | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| @@ -203,7 +203,7 @@ func (parsed *rawJSONWebEncryption) sanitized() (*JSONWebEncryption, error) { | ||||
| func parseEncryptedCompact(input string) (*JSONWebEncryption, error) { | ||||
| 	parts := strings.Split(input, ".") | ||||
| 	if len(parts) != 5 { | ||||
| 		return nil, fmt.Errorf("square/go-jose: compact JWE format must have five parts") | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: compact JWE format must have five parts") | ||||
| 	} | ||||
| 
 | ||||
| 	rawProtected, err := base64.RawURLEncoding.DecodeString(parts[0]) | ||||
							
								
								
									
										82
									
								
								vendor/gopkg.in/square/go-jose.v2/jwk.go → vendor/gopkg.in/go-jose/go-jose.v2/jwk.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										82
									
								
								vendor/gopkg.in/square/go-jose.v2/jwk.go → vendor/gopkg.in/go-jose/go-jose.v2/jwk.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -36,7 +36,7 @@ import ( | ||||
| 
 | ||||
| 	"golang.org/x/crypto/ed25519" | ||||
| 
 | ||||
| 	"gopkg.in/square/go-jose.v2/json" | ||||
| 	"gopkg.in/go-jose/go-jose.v2/json" | ||||
| ) | ||||
| 
 | ||||
| // rawJSONWebKey represents a public or private key in JWK format, used for parsing/serializing. | ||||
| @@ -110,7 +110,7 @@ func (k JSONWebKey) MarshalJSON() ([]byte, error) { | ||||
| 	case []byte: | ||||
| 		raw, err = fromSymmetricKey(key) | ||||
| 	default: | ||||
| 		return nil, fmt.Errorf("square/go-jose: unknown key type '%s'", reflect.TypeOf(key)) | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: unknown key type '%s'", reflect.TypeOf(key)) | ||||
| 	} | ||||
| 
 | ||||
| 	if err != nil { | ||||
| @@ -129,13 +129,13 @@ func (k JSONWebKey) MarshalJSON() ([]byte, error) { | ||||
| 	x5tSHA256Len := len(k.CertificateThumbprintSHA256) | ||||
| 	if x5tSHA1Len > 0 { | ||||
| 		if x5tSHA1Len != sha1.Size { | ||||
| 			return nil, fmt.Errorf("square/go-jose: invalid SHA-1 thumbprint (must be %d bytes, not %d)", sha1.Size, x5tSHA1Len) | ||||
| 			return nil, fmt.Errorf("go-jose/go-jose: invalid SHA-1 thumbprint (must be %d bytes, not %d)", sha1.Size, x5tSHA1Len) | ||||
| 		} | ||||
| 		raw.X5tSHA1 = base64.RawURLEncoding.EncodeToString(k.CertificateThumbprintSHA1) | ||||
| 	} | ||||
| 	if x5tSHA256Len > 0 { | ||||
| 		if x5tSHA256Len != sha256.Size { | ||||
| 			return nil, fmt.Errorf("square/go-jose: invalid SHA-256 thumbprint (must be %d bytes, not %d)", sha256.Size, x5tSHA256Len) | ||||
| 			return nil, fmt.Errorf("go-jose/go-jose: invalid SHA-256 thumbprint (must be %d bytes, not %d)", sha256.Size, x5tSHA256Len) | ||||
| 		} | ||||
| 		raw.X5tSHA256 = base64.RawURLEncoding.EncodeToString(k.CertificateThumbprintSHA256) | ||||
| 	} | ||||
| @@ -149,10 +149,10 @@ func (k JSONWebKey) MarshalJSON() ([]byte, error) { | ||||
| 		expectedSHA256 := sha256.Sum256(k.Certificates[0].Raw) | ||||
| 
 | ||||
| 		if len(k.CertificateThumbprintSHA1) > 0 && !bytes.Equal(k.CertificateThumbprintSHA1, expectedSHA1[:]) { | ||||
| 			return nil, errors.New("square/go-jose: invalid SHA-1 thumbprint, does not match cert chain") | ||||
| 			return nil, errors.New("go-jose/go-jose: invalid SHA-1 thumbprint, does not match cert chain") | ||||
| 		} | ||||
| 		if len(k.CertificateThumbprintSHA256) > 0 && !bytes.Equal(k.CertificateThumbprintSHA256, expectedSHA256[:]) { | ||||
| 			return nil, errors.New("square/go-jose: invalid or SHA-256 thumbprint, does not match cert chain") | ||||
| 			return nil, errors.New("go-jose/go-jose: invalid or SHA-256 thumbprint, does not match cert chain") | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| @@ -171,7 +171,7 @@ func (k *JSONWebKey) UnmarshalJSON(data []byte) (err error) { | ||||
| 
 | ||||
| 	certs, err := parseCertificateChain(raw.X5c) | ||||
| 	if err != nil { | ||||
| 		return fmt.Errorf("square/go-jose: failed to unmarshal x5c field: %s", err) | ||||
| 		return fmt.Errorf("go-jose/go-jose: failed to unmarshal x5c field: %s", err) | ||||
| 	} | ||||
| 
 | ||||
| 	var key interface{} | ||||
| @@ -211,7 +211,7 @@ func (k *JSONWebKey) UnmarshalJSON(data []byte) (err error) { | ||||
| 		} | ||||
| 	case "oct": | ||||
| 		if certPub != nil { | ||||
| 			return errors.New("square/go-jose: invalid JWK, found 'oct' (symmetric) key with cert chain") | ||||
| 			return errors.New("go-jose/go-jose: invalid JWK, found 'oct' (symmetric) key with cert chain") | ||||
| 		} | ||||
| 		key, err = raw.symmetricKey() | ||||
| 	case "OKP": | ||||
| @@ -226,10 +226,10 @@ func (k *JSONWebKey) UnmarshalJSON(data []byte) (err error) { | ||||
| 				keyPub = key | ||||
| 			} | ||||
| 		} else { | ||||
| 			err = fmt.Errorf("square/go-jose: unknown curve %s'", raw.Crv) | ||||
| 			err = fmt.Errorf("go-jose/go-jose: unknown curve %s'", raw.Crv) | ||||
| 		} | ||||
| 	default: | ||||
| 		err = fmt.Errorf("square/go-jose: unknown json web key type '%s'", raw.Kty) | ||||
| 		err = fmt.Errorf("go-jose/go-jose: unknown json web key type '%s'", raw.Kty) | ||||
| 	} | ||||
| 
 | ||||
| 	if err != nil { | ||||
| @@ -238,7 +238,7 @@ func (k *JSONWebKey) UnmarshalJSON(data []byte) (err error) { | ||||
| 
 | ||||
| 	if certPub != nil && keyPub != nil { | ||||
| 		if !reflect.DeepEqual(certPub, keyPub) { | ||||
| 			return errors.New("square/go-jose: invalid JWK, public keys in key and x5c fields do not match") | ||||
| 			return errors.New("go-jose/go-jose: invalid JWK, public keys in key and x5c fields to not match") | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| @@ -250,7 +250,7 @@ func (k *JSONWebKey) UnmarshalJSON(data []byte) (err error) { | ||||
| 	// See RFC 7517, Section 4.8, https://tools.ietf.org/html/rfc7517#section-4.8 | ||||
| 	x5tSHA1bytes, err := base64.RawURLEncoding.DecodeString(raw.X5tSHA1) | ||||
| 	if err != nil { | ||||
| 		return errors.New("square/go-jose: invalid JWK, x5t header has invalid encoding") | ||||
| 		return errors.New("go-jose/go-jose: invalid JWK, x5t header has invalid encoding") | ||||
| 	} | ||||
| 
 | ||||
| 	// RFC 7517, Section 4.8 is ambiguous as to whether the digest output should be byte or hex, | ||||
| @@ -260,7 +260,7 @@ func (k *JSONWebKey) UnmarshalJSON(data []byte) (err error) { | ||||
| 	if len(x5tSHA1bytes) == 2*sha1.Size { | ||||
| 		hx, err := hex.DecodeString(string(x5tSHA1bytes)) | ||||
| 		if err != nil { | ||||
| 			return fmt.Errorf("square/go-jose: invalid JWK, unable to hex decode x5t: %v", err) | ||||
| 			return fmt.Errorf("go-jose/go-jose: invalid JWK, unable to hex decode x5t: %v", err) | ||||
| 
 | ||||
| 		} | ||||
| 		x5tSHA1bytes = hx | ||||
| @@ -270,13 +270,13 @@ func (k *JSONWebKey) UnmarshalJSON(data []byte) (err error) { | ||||
| 
 | ||||
| 	x5tSHA256bytes, err := base64.RawURLEncoding.DecodeString(raw.X5tSHA256) | ||||
| 	if err != nil { | ||||
| 		return errors.New("square/go-jose: invalid JWK, x5t#S256 header has invalid encoding") | ||||
| 		return errors.New("go-jose/go-jose: invalid JWK, x5t#S256 header has invalid encoding") | ||||
| 	} | ||||
| 
 | ||||
| 	if len(x5tSHA256bytes) == 2*sha256.Size { | ||||
| 		hx256, err := hex.DecodeString(string(x5tSHA256bytes)) | ||||
| 		if err != nil { | ||||
| 			return fmt.Errorf("square/go-jose: invalid JWK, unable to hex decode x5t#S256: %v", err) | ||||
| 			return fmt.Errorf("go-jose/go-jose: invalid JWK, unable to hex decode x5t#S256: %v", err) | ||||
| 		} | ||||
| 		x5tSHA256bytes = hx256 | ||||
| 	} | ||||
| @@ -286,10 +286,10 @@ func (k *JSONWebKey) UnmarshalJSON(data []byte) (err error) { | ||||
| 	x5tSHA1Len := len(k.CertificateThumbprintSHA1) | ||||
| 	x5tSHA256Len := len(k.CertificateThumbprintSHA256) | ||||
| 	if x5tSHA1Len > 0 && x5tSHA1Len != sha1.Size { | ||||
| 		return errors.New("square/go-jose: invalid JWK, x5t header is of incorrect size") | ||||
| 		return errors.New("go-jose/go-jose: invalid JWK, x5t header is of incorrect size") | ||||
| 	} | ||||
| 	if x5tSHA256Len > 0 && x5tSHA256Len != sha256.Size { | ||||
| 		return errors.New("square/go-jose: invalid JWK, x5t#S256 header is of incorrect size") | ||||
| 		return errors.New("go-jose/go-jose: invalid JWK, x5t#S256 header is of incorrect size") | ||||
| 	} | ||||
| 
 | ||||
| 	// If certificate chain *and* thumbprints are set, verify correctness. | ||||
| @@ -299,11 +299,11 @@ func (k *JSONWebKey) UnmarshalJSON(data []byte) (err error) { | ||||
| 		sha256sum := sha256.Sum256(leaf.Raw) | ||||
| 
 | ||||
| 		if len(k.CertificateThumbprintSHA1) > 0 && !bytes.Equal(sha1sum[:], k.CertificateThumbprintSHA1) { | ||||
| 			return errors.New("square/go-jose: invalid JWK, x5c thumbprint does not match x5t value") | ||||
| 			return errors.New("go-jose/go-jose: invalid JWK, x5c thumbprint does not match x5t value") | ||||
| 		} | ||||
| 
 | ||||
| 		if len(k.CertificateThumbprintSHA256) > 0 && !bytes.Equal(sha256sum[:], k.CertificateThumbprintSHA256) { | ||||
| 			return errors.New("square/go-jose: invalid JWK, x5c thumbprint does not match x5t#S256 value") | ||||
| 			return errors.New("go-jose/go-jose: invalid JWK, x5c thumbprint does not match x5t#S256 value") | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| @@ -342,7 +342,7 @@ func ecThumbprintInput(curve elliptic.Curve, x, y *big.Int) (string, error) { | ||||
| 	} | ||||
| 
 | ||||
| 	if len(x.Bytes()) > coordLength || len(y.Bytes()) > coordLength { | ||||
| 		return "", errors.New("square/go-jose: invalid elliptic key (too large)") | ||||
| 		return "", errors.New("go-jose/go-jose: invalid elliptic key (too large)") | ||||
| 	} | ||||
| 
 | ||||
| 	return fmt.Sprintf(ecThumbprintTemplate, crv, | ||||
| @@ -359,7 +359,7 @@ func rsaThumbprintInput(n *big.Int, e int) (string, error) { | ||||
| func edThumbprintInput(ed ed25519.PublicKey) (string, error) { | ||||
| 	crv := "Ed25519" | ||||
| 	if len(ed) > 32 { | ||||
| 		return "", errors.New("square/go-jose: invalid elliptic key (too large)") | ||||
| 		return "", errors.New("go-jose/go-jose: invalid elliptic key (too large)") | ||||
| 	} | ||||
| 	return fmt.Sprintf(edThumbprintTemplate, crv, | ||||
| 		newFixedSizeBuffer(ed, 32).base64()), nil | ||||
| @@ -384,7 +384,7 @@ func (k *JSONWebKey) Thumbprint(hash crypto.Hash) ([]byte, error) { | ||||
| 	case ed25519.PrivateKey: | ||||
| 		input, err = edThumbprintInput(ed25519.PublicKey(key[32:])) | ||||
| 	default: | ||||
| 		return nil, fmt.Errorf("square/go-jose: unknown key type '%s'", reflect.TypeOf(key)) | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: unknown key type '%s'", reflect.TypeOf(key)) | ||||
| 	} | ||||
| 
 | ||||
| 	if err != nil { | ||||
| @@ -463,7 +463,7 @@ func (k *JSONWebKey) Valid() bool { | ||||
| 
 | ||||
| func (key rawJSONWebKey) rsaPublicKey() (*rsa.PublicKey, error) { | ||||
| 	if key.N == nil || key.E == nil { | ||||
| 		return nil, fmt.Errorf("square/go-jose: invalid RSA key, missing n/e values") | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: invalid RSA key, missing n/e values") | ||||
| 	} | ||||
| 
 | ||||
| 	return &rsa.PublicKey{ | ||||
| @@ -498,29 +498,29 @@ func (key rawJSONWebKey) ecPublicKey() (*ecdsa.PublicKey, error) { | ||||
| 	case "P-521": | ||||
| 		curve = elliptic.P521() | ||||
| 	default: | ||||
| 		return nil, fmt.Errorf("square/go-jose: unsupported elliptic curve '%s'", key.Crv) | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: unsupported elliptic curve '%s'", key.Crv) | ||||
| 	} | ||||
| 
 | ||||
| 	if key.X == nil || key.Y == nil { | ||||
| 		return nil, errors.New("square/go-jose: invalid EC key, missing x/y values") | ||||
| 		return nil, errors.New("go-jose/go-jose: invalid EC key, missing x/y values") | ||||
| 	} | ||||
| 
 | ||||
| 	// The length of this octet string MUST be the full size of a coordinate for | ||||
| 	// the curve specified in the "crv" parameter. | ||||
| 	// https://tools.ietf.org/html/rfc7518#section-6.2.1.2 | ||||
| 	if curveSize(curve) != len(key.X.data) { | ||||
| 		return nil, fmt.Errorf("square/go-jose: invalid EC public key, wrong length for x") | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: invalid EC public key, wrong length for x") | ||||
| 	} | ||||
| 
 | ||||
| 	if curveSize(curve) != len(key.Y.data) { | ||||
| 		return nil, fmt.Errorf("square/go-jose: invalid EC public key, wrong length for y") | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: invalid EC public key, wrong length for y") | ||||
| 	} | ||||
| 
 | ||||
| 	x := key.X.bigInt() | ||||
| 	y := key.Y.bigInt() | ||||
| 
 | ||||
| 	if !curve.IsOnCurve(x, y) { | ||||
| 		return nil, errors.New("square/go-jose: invalid EC key, X/Y are not on declared curve") | ||||
| 		return nil, errors.New("go-jose/go-jose: invalid EC key, X/Y are not on declared curve") | ||||
| 	} | ||||
| 
 | ||||
| 	return &ecdsa.PublicKey{ | ||||
| @@ -532,7 +532,7 @@ func (key rawJSONWebKey) ecPublicKey() (*ecdsa.PublicKey, error) { | ||||
| 
 | ||||
| func fromEcPublicKey(pub *ecdsa.PublicKey) (*rawJSONWebKey, error) { | ||||
| 	if pub == nil || pub.X == nil || pub.Y == nil { | ||||
| 		return nil, fmt.Errorf("square/go-jose: invalid EC key (nil, or X/Y missing)") | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: invalid EC key (nil, or X/Y missing)") | ||||
| 	} | ||||
| 
 | ||||
| 	name, err := curveName(pub.Curve) | ||||
| @@ -546,7 +546,7 @@ func fromEcPublicKey(pub *ecdsa.PublicKey) (*rawJSONWebKey, error) { | ||||
| 	yBytes := pub.Y.Bytes() | ||||
| 
 | ||||
| 	if len(xBytes) > size || len(yBytes) > size { | ||||
| 		return nil, fmt.Errorf("square/go-jose: invalid EC key (X/Y too large)") | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: invalid EC key (X/Y too large)") | ||||
| 	} | ||||
| 
 | ||||
| 	key := &rawJSONWebKey{ | ||||
| @@ -569,7 +569,7 @@ func (key rawJSONWebKey) edPrivateKey() (ed25519.PrivateKey, error) { | ||||
| 	} | ||||
| 
 | ||||
| 	if len(missing) > 0 { | ||||
| 		return nil, fmt.Errorf("square/go-jose: invalid Ed25519 private key, missing %s value(s)", strings.Join(missing, ", ")) | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: invalid Ed25519 private key, missing %s value(s)", strings.Join(missing, ", ")) | ||||
| 	} | ||||
| 
 | ||||
| 	privateKey := make([]byte, ed25519.PrivateKeySize) | ||||
| @@ -581,7 +581,7 @@ func (key rawJSONWebKey) edPrivateKey() (ed25519.PrivateKey, error) { | ||||
| 
 | ||||
| func (key rawJSONWebKey) edPublicKey() (ed25519.PublicKey, error) { | ||||
| 	if key.X == nil { | ||||
| 		return nil, fmt.Errorf("square/go-jose: invalid Ed key, missing x value") | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: invalid Ed key, missing x value") | ||||
| 	} | ||||
| 	publicKey := make([]byte, ed25519.PublicKeySize) | ||||
| 	copy(publicKey[0:32], key.X.bytes()) | ||||
| @@ -605,7 +605,7 @@ func (key rawJSONWebKey) rsaPrivateKey() (*rsa.PrivateKey, error) { | ||||
| 	} | ||||
| 
 | ||||
| 	if len(missing) > 0 { | ||||
| 		return nil, fmt.Errorf("square/go-jose: invalid RSA private key, missing %s value(s)", strings.Join(missing, ", ")) | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: invalid RSA private key, missing %s value(s)", strings.Join(missing, ", ")) | ||||
| 	} | ||||
| 
 | ||||
| 	rv := &rsa.PrivateKey{ | ||||
| @@ -675,34 +675,34 @@ func (key rawJSONWebKey) ecPrivateKey() (*ecdsa.PrivateKey, error) { | ||||
| 	case "P-521": | ||||
| 		curve = elliptic.P521() | ||||
| 	default: | ||||
| 		return nil, fmt.Errorf("square/go-jose: unsupported elliptic curve '%s'", key.Crv) | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: unsupported elliptic curve '%s'", key.Crv) | ||||
| 	} | ||||
| 
 | ||||
| 	if key.X == nil || key.Y == nil || key.D == nil { | ||||
| 		return nil, fmt.Errorf("square/go-jose: invalid EC private key, missing x/y/d values") | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: invalid EC private key, missing x/y/d values") | ||||
| 	} | ||||
| 
 | ||||
| 	// The length of this octet string MUST be the full size of a coordinate for | ||||
| 	// the curve specified in the "crv" parameter. | ||||
| 	// https://tools.ietf.org/html/rfc7518#section-6.2.1.2 | ||||
| 	if curveSize(curve) != len(key.X.data) { | ||||
| 		return nil, fmt.Errorf("square/go-jose: invalid EC private key, wrong length for x") | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: invalid EC private key, wrong length for x") | ||||
| 	} | ||||
| 
 | ||||
| 	if curveSize(curve) != len(key.Y.data) { | ||||
| 		return nil, fmt.Errorf("square/go-jose: invalid EC private key, wrong length for y") | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: invalid EC private key, wrong length for y") | ||||
| 	} | ||||
| 
 | ||||
| 	// https://tools.ietf.org/html/rfc7518#section-6.2.2.1 | ||||
| 	if dSize(curve) != len(key.D.data) { | ||||
| 		return nil, fmt.Errorf("square/go-jose: invalid EC private key, wrong length for d") | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: invalid EC private key, wrong length for d") | ||||
| 	} | ||||
| 
 | ||||
| 	x := key.X.bigInt() | ||||
| 	y := key.Y.bigInt() | ||||
| 
 | ||||
| 	if !curve.IsOnCurve(x, y) { | ||||
| 		return nil, errors.New("square/go-jose: invalid EC key, X/Y are not on declared curve") | ||||
| 		return nil, errors.New("go-jose/go-jose: invalid EC key, X/Y are not on declared curve") | ||||
| 	} | ||||
| 
 | ||||
| 	return &ecdsa.PrivateKey{ | ||||
| @@ -722,7 +722,7 @@ func fromEcPrivateKey(ec *ecdsa.PrivateKey) (*rawJSONWebKey, error) { | ||||
| 	} | ||||
| 
 | ||||
| 	if ec.D == nil { | ||||
| 		return nil, fmt.Errorf("square/go-jose: invalid EC private key") | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: invalid EC private key") | ||||
| 	} | ||||
| 
 | ||||
| 	raw.D = newFixedSizeBuffer(ec.D.Bytes(), dSize(ec.PublicKey.Curve)) | ||||
| @@ -754,7 +754,7 @@ func fromSymmetricKey(key []byte) (*rawJSONWebKey, error) { | ||||
| 
 | ||||
| func (key rawJSONWebKey) symmetricKey() ([]byte, error) { | ||||
| 	if key.K == nil { | ||||
| 		return nil, fmt.Errorf("square/go-jose: invalid OCT (symmetric) key, missing k value") | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: invalid OCT (symmetric) key, missing k value") | ||||
| 	} | ||||
| 	return key.K.bytes(), nil | ||||
| } | ||||
							
								
								
									
										14
									
								
								vendor/gopkg.in/square/go-jose.v2/jws.go → vendor/gopkg.in/go-jose/go-jose.v2/jws.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								vendor/gopkg.in/square/go-jose.v2/jws.go → vendor/gopkg.in/go-jose/go-jose.v2/jws.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -23,7 +23,7 @@ import ( | ||||
| 	"fmt" | ||||
| 	"strings" | ||||
| 
 | ||||
| 	"gopkg.in/square/go-jose.v2/json" | ||||
| 	"gopkg.in/go-jose/go-jose.v2/json" | ||||
| ) | ||||
| 
 | ||||
| // rawJSONWebSignature represents a raw JWS JSON object. Used for parsing/serializing. | ||||
| @@ -88,7 +88,7 @@ func ParseSigned(signature string) (*JSONWebSignature, error) { | ||||
| // ParseDetached parses a signed message in compact serialization format with detached payload. | ||||
| func ParseDetached(signature string, payload []byte) (*JSONWebSignature, error) { | ||||
| 	if payload == nil { | ||||
| 		return nil, errors.New("square/go-jose: nil payload") | ||||
| 		return nil, errors.New("go-jose/go-jose: nil payload") | ||||
| 	} | ||||
| 	return parseSignedCompact(stripWhitespace(signature), payload) | ||||
| } | ||||
| @@ -151,7 +151,7 @@ func parseSignedFull(input string) (*JSONWebSignature, error) { | ||||
| // sanitized produces a cleaned-up JWS object from the raw JSON. | ||||
| func (parsed *rawJSONWebSignature) sanitized() (*JSONWebSignature, error) { | ||||
| 	if parsed.Payload == nil { | ||||
| 		return nil, fmt.Errorf("square/go-jose: missing payload in JWS message") | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: missing payload in JWS message") | ||||
| 	} | ||||
| 
 | ||||
| 	obj := &JSONWebSignature{ | ||||
| @@ -215,7 +215,7 @@ func (parsed *rawJSONWebSignature) sanitized() (*JSONWebSignature, error) { | ||||
| 		// As per RFC 7515 Section 4.1.3, only public keys are allowed to be embedded. | ||||
| 		jwk := signature.Header.JSONWebKey | ||||
| 		if jwk != nil && (!jwk.Valid() || !jwk.IsPublic()) { | ||||
| 			return nil, errors.New("square/go-jose: invalid embedded jwk, must be public key") | ||||
| 			return nil, errors.New("go-jose/go-jose: invalid embedded jwk, must be public key") | ||||
| 		} | ||||
| 
 | ||||
| 		obj.Signatures = append(obj.Signatures, signature) | ||||
| @@ -260,7 +260,7 @@ func (parsed *rawJSONWebSignature) sanitized() (*JSONWebSignature, error) { | ||||
| 		// As per RFC 7515 Section 4.1.3, only public keys are allowed to be embedded. | ||||
| 		jwk := obj.Signatures[i].Header.JSONWebKey | ||||
| 		if jwk != nil && (!jwk.Valid() || !jwk.IsPublic()) { | ||||
| 			return nil, errors.New("square/go-jose: invalid embedded jwk, must be public key") | ||||
| 			return nil, errors.New("go-jose/go-jose: invalid embedded jwk, must be public key") | ||||
| 		} | ||||
| 
 | ||||
| 		// Copy value of sig | ||||
| @@ -277,11 +277,11 @@ func (parsed *rawJSONWebSignature) sanitized() (*JSONWebSignature, error) { | ||||
| func parseSignedCompact(input string, payload []byte) (*JSONWebSignature, error) { | ||||
| 	parts := strings.Split(input, ".") | ||||
| 	if len(parts) != 3 { | ||||
| 		return nil, fmt.Errorf("square/go-jose: compact JWS format must have three parts") | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: compact JWS format must have three parts") | ||||
| 	} | ||||
| 
 | ||||
| 	if parts[1] != "" && payload != nil { | ||||
| 		return nil, fmt.Errorf("square/go-jose: payload is not detached") | ||||
| 		return nil, fmt.Errorf("go-jose/go-jose: payload is not detached") | ||||
| 	} | ||||
| 
 | ||||
| 	rawProtected, err := base64.RawURLEncoding.DecodeString(parts[0]) | ||||
| @@ -21,9 +21,9 @@ import ( | ||||
| 	"bytes" | ||||
| 	"reflect" | ||||
| 
 | ||||
| 	"gopkg.in/square/go-jose.v2/json" | ||||
| 	"gopkg.in/go-jose/go-jose.v2/json" | ||||
| 
 | ||||
| 	"gopkg.in/square/go-jose.v2" | ||||
| 	"gopkg.in/go-jose/go-jose.v2" | ||||
| ) | ||||
| 
 | ||||
| // Builder is a utility for making JSON Web Tokens. Calls can be chained, and | ||||
| @@ -21,7 +21,7 @@ import ( | ||||
| 	"strconv" | ||||
| 	"time" | ||||
| 
 | ||||
| 	"gopkg.in/square/go-jose.v2/json" | ||||
| 	"gopkg.in/go-jose/go-jose.v2/json" | ||||
| ) | ||||
| 
 | ||||
| // Claims represents public claim values (as specified in RFC 7519). | ||||
| @@ -20,34 +20,34 @@ package jwt | ||||
| import "errors" | ||||
| 
 | ||||
| // ErrUnmarshalAudience indicates that aud claim could not be unmarshalled. | ||||
| var ErrUnmarshalAudience = errors.New("square/go-jose/jwt: expected string or array value to unmarshal to Audience") | ||||
| var ErrUnmarshalAudience = errors.New("go-jose/go-jose/jwt: expected string or array value to unmarshal to Audience") | ||||
| 
 | ||||
| // ErrUnmarshalNumericDate indicates that JWT NumericDate could not be unmarshalled. | ||||
| var ErrUnmarshalNumericDate = errors.New("square/go-jose/jwt: expected number value to unmarshal NumericDate") | ||||
| var ErrUnmarshalNumericDate = errors.New("go-jose/go-jose/jwt: expected number value to unmarshal NumericDate") | ||||
| 
 | ||||
| // ErrInvalidClaims indicates that given claims have invalid type. | ||||
| var ErrInvalidClaims = errors.New("square/go-jose/jwt: expected claims to be value convertible into JSON object") | ||||
| var ErrInvalidClaims = errors.New("go-jose/go-jose/jwt: expected claims to be value convertible into JSON object") | ||||
| 
 | ||||
| // ErrInvalidIssuer indicates invalid iss claim. | ||||
| var ErrInvalidIssuer = errors.New("square/go-jose/jwt: validation failed, invalid issuer claim (iss)") | ||||
| var ErrInvalidIssuer = errors.New("go-jose/go-jose/jwt: validation failed, invalid issuer claim (iss)") | ||||
| 
 | ||||
| // ErrInvalidSubject indicates invalid sub claim. | ||||
| var ErrInvalidSubject = errors.New("square/go-jose/jwt: validation failed, invalid subject claim (sub)") | ||||
| var ErrInvalidSubject = errors.New("go-jose/go-jose/jwt: validation failed, invalid subject claim (sub)") | ||||
| 
 | ||||
| // ErrInvalidAudience indicated invalid aud claim. | ||||
| var ErrInvalidAudience = errors.New("square/go-jose/jwt: validation failed, invalid audience claim (aud)") | ||||
| var ErrInvalidAudience = errors.New("go-jose/go-jose/jwt: validation failed, invalid audience claim (aud)") | ||||
| 
 | ||||
| // ErrInvalidID indicates invalid jti claim. | ||||
| var ErrInvalidID = errors.New("square/go-jose/jwt: validation failed, invalid ID claim (jti)") | ||||
| var ErrInvalidID = errors.New("go-jose/go-jose/jwt: validation failed, invalid ID claim (jti)") | ||||
| 
 | ||||
| // ErrNotValidYet indicates that token is used before time indicated in nbf claim. | ||||
| var ErrNotValidYet = errors.New("square/go-jose/jwt: validation failed, token not valid yet (nbf)") | ||||
| var ErrNotValidYet = errors.New("go-jose/go-jose/jwt: validation failed, token not valid yet (nbf)") | ||||
| 
 | ||||
| // ErrExpired indicates that token is used after expiry time indicated in exp claim. | ||||
| var ErrExpired = errors.New("square/go-jose/jwt: validation failed, token is expired (exp)") | ||||
| var ErrExpired = errors.New("go-jose/go-jose/jwt: validation failed, token is expired (exp)") | ||||
| 
 | ||||
| // ErrIssuedInTheFuture indicates that the iat field is in the future. | ||||
| var ErrIssuedInTheFuture = errors.New("square/go-jose/jwt: validation field, token issued in the future (iat)") | ||||
| var ErrIssuedInTheFuture = errors.New("go-jose/go-jose/jwt: validation field, token issued in the future (iat)") | ||||
| 
 | ||||
| // ErrInvalidContentType indicates that token requires JWT cty header. | ||||
| var ErrInvalidContentType = errors.New("square/go-jose/jwt: expected content type to be JWT (cty header)") | ||||
| var ErrInvalidContentType = errors.New("go-jose/go-jose/jwt: expected content type to be JWT (cty header)") | ||||
| @@ -21,8 +21,8 @@ import ( | ||||
| 	"fmt" | ||||
| 	"strings" | ||||
| 
 | ||||
| 	jose "gopkg.in/square/go-jose.v2" | ||||
| 	"gopkg.in/square/go-jose.v2/json" | ||||
| 	jose "gopkg.in/go-jose/go-jose.v2" | ||||
| 	"gopkg.in/go-jose/go-jose.v2/json" | ||||
| ) | ||||
| 
 | ||||
| // JSONWebToken represents a JSON Web Token (as specified in RFC7519). | ||||
| @@ -60,7 +60,7 @@ func (t *JSONWebToken) Claims(key interface{}, dest ...interface{}) error { | ||||
| // verified. This function won't work for encrypted JWTs. | ||||
| func (t *JSONWebToken) UnsafeClaimsWithoutVerification(dest ...interface{}) error { | ||||
| 	if t.unverifiedPayload == nil { | ||||
| 		return fmt.Errorf("square/go-jose: Cannot get unverified claims") | ||||
| 		return fmt.Errorf("go-jose/go-jose: Cannot get unverified claims") | ||||
| 	} | ||||
| 	claims := t.unverifiedPayload() | ||||
| 	for _, d := range dest { | ||||
| @@ -23,7 +23,7 @@ import ( | ||||
| 	"errors" | ||||
| 	"fmt" | ||||
| 
 | ||||
| 	"gopkg.in/square/go-jose.v2/json" | ||||
| 	"gopkg.in/go-jose/go-jose.v2/json" | ||||
| ) | ||||
| 
 | ||||
| // KeyAlgorithm represents a key management algorithm. | ||||
| @@ -45,32 +45,32 @@ var ( | ||||
| 	// ErrCryptoFailure represents an error in cryptographic primitive. This | ||||
| 	// occurs when, for example, a message had an invalid authentication tag or | ||||
| 	// could not be decrypted. | ||||
| 	ErrCryptoFailure = errors.New("square/go-jose: error in cryptographic primitive") | ||||
| 	ErrCryptoFailure = errors.New("go-jose/go-jose: error in cryptographic primitive") | ||||
| 
 | ||||
| 	// ErrUnsupportedAlgorithm indicates that a selected algorithm is not | ||||
| 	// supported. This occurs when trying to instantiate an encrypter for an | ||||
| 	// algorithm that is not yet implemented. | ||||
| 	ErrUnsupportedAlgorithm = errors.New("square/go-jose: unknown/unsupported algorithm") | ||||
| 	ErrUnsupportedAlgorithm = errors.New("go-jose/go-jose: unknown/unsupported algorithm") | ||||
| 
 | ||||
| 	// ErrUnsupportedKeyType indicates that the given key type/format is not | ||||
| 	// supported. This occurs when trying to instantiate an encrypter and passing | ||||
| 	// it a key of an unrecognized type or with unsupported parameters, such as | ||||
| 	// an RSA private key with more than two primes. | ||||
| 	ErrUnsupportedKeyType = errors.New("square/go-jose: unsupported key type/format") | ||||
| 	ErrUnsupportedKeyType = errors.New("go-jose/go-jose: unsupported key type/format") | ||||
| 
 | ||||
| 	// ErrInvalidKeySize indicates that the given key is not the correct size | ||||
| 	// for the selected algorithm. This can occur, for example, when trying to | ||||
| 	// encrypt with AES-256 but passing only a 128-bit key as input. | ||||
| 	ErrInvalidKeySize = errors.New("square/go-jose: invalid key size for algorithm") | ||||
| 	ErrInvalidKeySize = errors.New("go-jose/go-jose: invalid key size for algorithm") | ||||
| 
 | ||||
| 	// ErrNotSupported serialization of object is not supported. This occurs when | ||||
| 	// trying to compact-serialize an object which can't be represented in | ||||
| 	// compact form. | ||||
| 	ErrNotSupported = errors.New("square/go-jose: compact serialization not supported for object") | ||||
| 	ErrNotSupported = errors.New("go-jose/go-jose: compact serialization not supported for object") | ||||
| 
 | ||||
| 	// ErrUnprotectedNonce indicates that while parsing a JWS or JWE object, a | ||||
| 	// nonce header parameter was included in an unprotected header object. | ||||
| 	ErrUnprotectedNonce = errors.New("square/go-jose: Nonce parameter included in unprotected header") | ||||
| 	ErrUnprotectedNonce = errors.New("go-jose/go-jose: Nonce parameter included in unprotected header") | ||||
| ) | ||||
| 
 | ||||
| // Key management algorithms | ||||
| @@ -194,7 +194,7 @@ type Header struct { | ||||
| // not be validated with the given verify options. | ||||
| func (h Header) Certificates(opts x509.VerifyOptions) ([][]*x509.Certificate, error) { | ||||
| 	if len(h.certificates) == 0 { | ||||
| 		return nil, errors.New("square/go-jose: no x5c header present in message") | ||||
| 		return nil, errors.New("go-jose/go-jose: no x5c header present in message") | ||||
| 	} | ||||
| 
 | ||||
| 	leaf := h.certificates[0] | ||||
| @@ -496,7 +496,7 @@ func curveName(crv elliptic.Curve) (string, error) { | ||||
| 	case elliptic.P521(): | ||||
| 		return "P-521", nil | ||||
| 	default: | ||||
| 		return "", fmt.Errorf("square/go-jose: unsupported/unknown elliptic curve") | ||||
| 		return "", fmt.Errorf("go-jose/go-jose: unsupported/unknown elliptic curve") | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| @@ -26,7 +26,7 @@ import ( | ||||
| 
 | ||||
| 	"golang.org/x/crypto/ed25519" | ||||
| 
 | ||||
| 	"gopkg.in/square/go-jose.v2/json" | ||||
| 	"gopkg.in/go-jose/go-jose.v2/json" | ||||
| ) | ||||
| 
 | ||||
| // NonceSource represents a source of random nonces to go into JWS objects | ||||
| @@ -227,7 +227,7 @@ func newJWKSigner(alg SignatureAlgorithm, signingKey JSONWebKey) (recipientSigIn | ||||
| 
 | ||||
| 		// This should be impossible, but let's check anyway. | ||||
| 		if !recipient.publicKey().IsPublic() { | ||||
| 			return recipientSigInfo{}, errors.New("square/go-jose: public key was unexpectedly not public") | ||||
| 			return recipientSigInfo{}, errors.New("go-jose/go-jose: public key was unexpectedly not public") | ||||
| 		} | ||||
| 	} | ||||
| 	return recipient, nil | ||||
| @@ -251,7 +251,7 @@ func (ctx *genericSigner) Sign(payload []byte) (*JSONWebSignature, error) { | ||||
| 			// result of the JOSE spec. We've decided that this library will only include one or | ||||
| 			// the other to avoid this confusion. | ||||
| 			// | ||||
| 			// See https://github.com/square/go-jose/issues/157 for more context. | ||||
| 			// See https://github.com/go-jose/go-jose/issues/157 for more context. | ||||
| 			if ctx.embedJWK { | ||||
| 				protected[headerJWK] = recipient.publicKey() | ||||
| 			} else { | ||||
| @@ -265,7 +265,7 @@ func (ctx *genericSigner) Sign(payload []byte) (*JSONWebSignature, error) { | ||||
| 		if ctx.nonceSource != nil { | ||||
| 			nonce, err := ctx.nonceSource.Nonce() | ||||
| 			if err != nil { | ||||
| 				return nil, fmt.Errorf("square/go-jose: Error generating nonce: %v", err) | ||||
| 				return nil, fmt.Errorf("go-jose/go-jose: Error generating nonce: %v", err) | ||||
| 			} | ||||
| 			protected[headerNonce] = nonce | ||||
| 		} | ||||
| @@ -279,7 +279,7 @@ func (ctx *genericSigner) Sign(payload []byte) (*JSONWebSignature, error) { | ||||
| 
 | ||||
| 		if b64, ok := protected[headerB64]; ok { | ||||
| 			if needsBase64, ok = b64.(bool); !ok { | ||||
| 				return nil, errors.New("square/go-jose: Invalid b64 header parameter") | ||||
| 				return nil, errors.New("go-jose/go-jose: Invalid b64 header parameter") | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| @@ -303,7 +303,7 @@ func (ctx *genericSigner) Sign(payload []byte) (*JSONWebSignature, error) { | ||||
| 		for k, v := range protected { | ||||
| 			b, err := json.Marshal(v) | ||||
| 			if err != nil { | ||||
| 				return nil, fmt.Errorf("square/go-jose: Error marshalling item %#v: %v", k, err) | ||||
| 				return nil, fmt.Errorf("go-jose/go-jose: Error marshalling item %#v: %v", k, err) | ||||
| 			} | ||||
| 			(*signatureInfo.protected)[k] = makeRawMessage(b) | ||||
| 		} | ||||
| @@ -354,7 +354,7 @@ func (obj JSONWebSignature) DetachedVerify(payload []byte, verificationKey inter | ||||
| 	} | ||||
| 
 | ||||
| 	if len(obj.Signatures) > 1 { | ||||
| 		return errors.New("square/go-jose: too many signatures in payload; expecting only one") | ||||
| 		return errors.New("go-jose/go-jose: too many signatures in payload; expecting only one") | ||||
| 	} | ||||
| 
 | ||||
| 	signature := obj.Signatures[0] | ||||
| @@ -31,7 +31,7 @@ import ( | ||||
| 	"io" | ||||
| 
 | ||||
| 	"golang.org/x/crypto/pbkdf2" | ||||
| 	"gopkg.in/square/go-jose.v2/cipher" | ||||
| 	"gopkg.in/go-jose/go-jose.v2/cipher" | ||||
| ) | ||||
| 
 | ||||
| // Random reader (stubbed out in tests) | ||||
| @@ -356,11 +356,11 @@ func (ctx *symmetricKeyCipher) decryptKey(headers rawHeader, recipient *recipien | ||||
| 
 | ||||
| 		iv, err := headers.getIV() | ||||
| 		if err != nil { | ||||
| 			return nil, fmt.Errorf("square/go-jose: invalid IV: %v", err) | ||||
| 			return nil, fmt.Errorf("go-jose/go-jose: invalid IV: %v", err) | ||||
| 		} | ||||
| 		tag, err := headers.getTag() | ||||
| 		if err != nil { | ||||
| 			return nil, fmt.Errorf("square/go-jose: invalid tag: %v", err) | ||||
| 			return nil, fmt.Errorf("go-jose/go-jose: invalid tag: %v", err) | ||||
| 		} | ||||
| 
 | ||||
| 		parts := &aeadParts{ | ||||
| @@ -389,18 +389,23 @@ func (ctx *symmetricKeyCipher) decryptKey(headers rawHeader, recipient *recipien | ||||
| 	case PBES2_HS256_A128KW, PBES2_HS384_A192KW, PBES2_HS512_A256KW: | ||||
| 		p2s, err := headers.getP2S() | ||||
| 		if err != nil { | ||||
| 			return nil, fmt.Errorf("square/go-jose: invalid P2S: %v", err) | ||||
| 			return nil, fmt.Errorf("go-jose/go-jose: invalid P2S: %v", err) | ||||
| 		} | ||||
| 		if p2s == nil || len(p2s.data) == 0 { | ||||
| 			return nil, fmt.Errorf("square/go-jose: invalid P2S: must be present") | ||||
| 			return nil, fmt.Errorf("go-jose/go-jose: invalid P2S: must be present") | ||||
| 		} | ||||
| 
 | ||||
| 		p2c, err := headers.getP2C() | ||||
| 		if err != nil { | ||||
| 			return nil, fmt.Errorf("square/go-jose: invalid P2C: %v", err) | ||||
| 			return nil, fmt.Errorf("go-jose/go-jose: invalid P2C: %v", err) | ||||
| 		} | ||||
| 		if p2c <= 0 { | ||||
| 			return nil, fmt.Errorf("square/go-jose: invalid P2C: must be a positive integer") | ||||
| 			return nil, fmt.Errorf("go-jose/go-jose: invalid P2C: must be a positive integer") | ||||
| 		} | ||||
| 		if p2c > 1000000 { | ||||
| 			// An unauthenticated attacker can set a high P2C value. Set an upper limit to avoid | ||||
| 			// DoS attacks. | ||||
| 			return nil, fmt.Errorf("go-jose/go-jose: invalid P2C: too high") | ||||
| 		} | ||||
| 
 | ||||
| 		// salt is UTF8(Alg) || 0x00 || Salt Input | ||||
| @@ -431,7 +436,7 @@ func (ctx *symmetricKeyCipher) decryptKey(headers rawHeader, recipient *recipien | ||||
| func (ctx symmetricMac) signPayload(payload []byte, alg SignatureAlgorithm) (Signature, error) { | ||||
| 	mac, err := ctx.hmac(payload, alg) | ||||
| 	if err != nil { | ||||
| 		return Signature{}, errors.New("square/go-jose: failed to compute hmac") | ||||
| 		return Signature{}, errors.New("go-jose/go-jose: failed to compute hmac") | ||||
| 	} | ||||
| 
 | ||||
| 	return Signature{ | ||||
| @@ -444,16 +449,16 @@ func (ctx symmetricMac) signPayload(payload []byte, alg SignatureAlgorithm) (Sig | ||||
| func (ctx symmetricMac) verifyPayload(payload []byte, mac []byte, alg SignatureAlgorithm) error { | ||||
| 	expected, err := ctx.hmac(payload, alg) | ||||
| 	if err != nil { | ||||
| 		return errors.New("square/go-jose: failed to compute hmac") | ||||
| 		return errors.New("go-jose/go-jose: failed to compute hmac") | ||||
| 	} | ||||
| 
 | ||||
| 	if len(mac) != len(expected) { | ||||
| 		return errors.New("square/go-jose: invalid hmac") | ||||
| 		return errors.New("go-jose/go-jose: invalid hmac") | ||||
| 	} | ||||
| 
 | ||||
| 	match := subtle.ConstantTimeCompare(mac, expected) | ||||
| 	if match != 1 { | ||||
| 		return errors.New("square/go-jose: invalid hmac") | ||||
| 		return errors.New("go-jose/go-jose: invalid hmac") | ||||
| 	} | ||||
| 
 | ||||
| 	return nil | ||||
							
								
								
									
										10
									
								
								vendor/gopkg.in/square/go-jose.v2/BUG-BOUNTY.md
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								vendor/gopkg.in/square/go-jose.v2/BUG-BOUNTY.md
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,10 +0,0 @@ | ||||
| Serious about security | ||||
| ====================== | ||||
|  | ||||
| Square recognizes the important contributions the security research community | ||||
| can make. We therefore encourage reporting security issues with the code | ||||
| contained in this repository. | ||||
|  | ||||
| If you believe you have discovered a security vulnerability, please follow the | ||||
| guidelines at <https://bugcrowd.com/squareopensource>. | ||||
|  | ||||
							
								
								
									
										118
									
								
								vendor/gopkg.in/square/go-jose.v2/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										118
									
								
								vendor/gopkg.in/square/go-jose.v2/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,118 +0,0 @@ | ||||
| # Go JOSE  | ||||
|  | ||||
| [](https://godoc.org/gopkg.in/square/go-jose.v1) | ||||
| [](https://godoc.org/gopkg.in/square/go-jose.v2) | ||||
| [](https://raw.githubusercontent.com/square/go-jose/master/LICENSE) | ||||
| [](https://travis-ci.org/square/go-jose) | ||||
| [](https://coveralls.io/r/square/go-jose) | ||||
|  | ||||
| Package jose aims to provide an implementation of the Javascript Object Signing | ||||
| and Encryption set of standards. This includes support for JSON Web Encryption, | ||||
| JSON Web Signature, and JSON Web Token standards. | ||||
|  | ||||
| **Disclaimer**: This library contains encryption software that is subject to | ||||
| the U.S. Export Administration Regulations. You may not export, re-export, | ||||
| transfer or download this code or any part of it in violation of any United | ||||
| States law, directive or regulation. In particular this software may not be | ||||
| exported or re-exported in any form or on any media to Iran, North Sudan, | ||||
| Syria, Cuba, or North Korea, or to denied persons or entities mentioned on any | ||||
| US maintained blocked list. | ||||
|  | ||||
| ## Overview | ||||
|  | ||||
| The implementation follows the | ||||
| [JSON Web Encryption](http://dx.doi.org/10.17487/RFC7516) (RFC 7516), | ||||
| [JSON Web Signature](http://dx.doi.org/10.17487/RFC7515) (RFC 7515), and | ||||
| [JSON Web Token](http://dx.doi.org/10.17487/RFC7519) (RFC 7519). | ||||
| Tables of supported algorithms are shown below. The library supports both | ||||
| the compact and full serialization formats, and has optional support for | ||||
| multiple recipients. It also comes with a small command-line utility | ||||
| ([`jose-util`](https://github.com/square/go-jose/tree/v2/jose-util)) | ||||
| for dealing with JOSE messages in a shell. | ||||
|  | ||||
| **Note**: We use a forked version of the `encoding/json` package from the Go | ||||
| standard library which uses case-sensitive matching for member names (instead | ||||
| of [case-insensitive matching](https://www.ietf.org/mail-archive/web/json/current/msg03763.html)). | ||||
| This is to avoid differences in interpretation of messages between go-jose and | ||||
| libraries in other languages. | ||||
|  | ||||
| ### Versions | ||||
|  | ||||
| We use [gopkg.in](https://gopkg.in) for versioning. | ||||
|  | ||||
| [Version 2](https://gopkg.in/square/go-jose.v2) | ||||
| ([branch](https://github.com/square/go-jose/tree/v2), | ||||
| [doc](https://godoc.org/gopkg.in/square/go-jose.v2)) is the current version: | ||||
|  | ||||
|     import "gopkg.in/square/go-jose.v2" | ||||
|  | ||||
| The old `v1` branch ([go-jose.v1](https://gopkg.in/square/go-jose.v1)) will | ||||
| still receive backported bug fixes and security fixes, but otherwise | ||||
| development is frozen. All new feature development takes place on the `v2` | ||||
| branch. Version 2 also contains additional sub-packages such as the | ||||
| [jwt](https://godoc.org/gopkg.in/square/go-jose.v2/jwt) implementation | ||||
| contributed by [@shaxbee](https://github.com/shaxbee). | ||||
|  | ||||
| ### Supported algorithms | ||||
|  | ||||
| See below for a table of supported algorithms. Algorithm identifiers match | ||||
| the names in the [JSON Web Algorithms](http://dx.doi.org/10.17487/RFC7518) | ||||
| standard where possible. The Godoc reference has a list of constants. | ||||
|  | ||||
|  Key encryption             | Algorithm identifier(s) | ||||
|  :------------------------- | :------------------------------ | ||||
|  RSA-PKCS#1v1.5             | RSA1_5 | ||||
|  RSA-OAEP                   | RSA-OAEP, RSA-OAEP-256 | ||||
|  AES key wrap               | A128KW, A192KW, A256KW | ||||
|  AES-GCM key wrap           | A128GCMKW, A192GCMKW, A256GCMKW | ||||
|  ECDH-ES + AES key wrap     | ECDH-ES+A128KW, ECDH-ES+A192KW, ECDH-ES+A256KW | ||||
|  ECDH-ES (direct)           | ECDH-ES<sup>1</sup> | ||||
|  Direct encryption          | dir<sup>1</sup> | ||||
|  | ||||
| <sup>1. Not supported in multi-recipient mode</sup> | ||||
|  | ||||
|  Signing / MAC              | Algorithm identifier(s) | ||||
|  :------------------------- | :------------------------------ | ||||
|  RSASSA-PKCS#1v1.5          | RS256, RS384, RS512 | ||||
|  RSASSA-PSS                 | PS256, PS384, PS512 | ||||
|  HMAC                       | HS256, HS384, HS512 | ||||
|  ECDSA                      | ES256, ES384, ES512 | ||||
|  Ed25519                    | EdDSA<sup>2</sup> | ||||
|  | ||||
| <sup>2. Only available in version 2 of the package</sup> | ||||
|  | ||||
|  Content encryption         | Algorithm identifier(s) | ||||
|  :------------------------- | :------------------------------ | ||||
|  AES-CBC+HMAC               | A128CBC-HS256, A192CBC-HS384, A256CBC-HS512 | ||||
|  AES-GCM                    | A128GCM, A192GCM, A256GCM  | ||||
|  | ||||
|  Compression                | Algorithm identifiers(s) | ||||
|  :------------------------- | ------------------------------- | ||||
|  DEFLATE (RFC 1951)         | DEF | ||||
|  | ||||
| ### Supported key types | ||||
|  | ||||
| See below for a table of supported key types. These are understood by the | ||||
| library, and can be passed to corresponding functions such as `NewEncrypter` or | ||||
| `NewSigner`. Each of these keys can also be wrapped in a JWK if desired, which | ||||
| allows attaching a key id. | ||||
|  | ||||
|  Algorithm(s)               | Corresponding types | ||||
|  :------------------------- | ------------------------------- | ||||
|  RSA                        | *[rsa.PublicKey](http://golang.org/pkg/crypto/rsa/#PublicKey), *[rsa.PrivateKey](http://golang.org/pkg/crypto/rsa/#PrivateKey) | ||||
|  ECDH, ECDSA                | *[ecdsa.PublicKey](http://golang.org/pkg/crypto/ecdsa/#PublicKey), *[ecdsa.PrivateKey](http://golang.org/pkg/crypto/ecdsa/#PrivateKey) | ||||
|  EdDSA<sup>1</sup>          | [ed25519.PublicKey](https://godoc.org/golang.org/x/crypto/ed25519#PublicKey), [ed25519.PrivateKey](https://godoc.org/golang.org/x/crypto/ed25519#PrivateKey) | ||||
|  AES, HMAC                  | []byte | ||||
|  | ||||
| <sup>1. Only available in version 2 of the package</sup> | ||||
|  | ||||
| ## Examples | ||||
|  | ||||
| [](https://godoc.org/gopkg.in/square/go-jose.v1) | ||||
| [](https://godoc.org/gopkg.in/square/go-jose.v2) | ||||
|  | ||||
| Examples can be found in the Godoc | ||||
| reference for this package. The | ||||
| [`jose-util`](https://github.com/square/go-jose/tree/v2/jose-util) | ||||
| subdirectory also contains a small command-line utility which might be useful | ||||
| as an example. | ||||
							
								
								
									
										14
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							| @@ -87,7 +87,7 @@ github.com/coredns/caddy/caddyfile | ||||
| ## explicit; go 1.14 | ||||
| github.com/coredns/corefile-migration/migration | ||||
| github.com/coredns/corefile-migration/migration/corefile | ||||
| # github.com/coreos/go-oidc v2.2.1+incompatible | ||||
| # github.com/coreos/go-oidc v2.3.0+incompatible | ||||
| ## explicit | ||||
| github.com/coreos/go-oidc | ||||
| # github.com/coreos/go-semver v0.3.1 | ||||
| @@ -992,18 +992,18 @@ google.golang.org/protobuf/types/known/wrapperspb | ||||
| # gopkg.in/evanphx/json-patch.v4 v4.12.0 | ||||
| ## explicit | ||||
| gopkg.in/evanphx/json-patch.v4 | ||||
| # gopkg.in/go-jose/go-jose.v2 v2.6.3 | ||||
| ## explicit | ||||
| gopkg.in/go-jose/go-jose.v2 | ||||
| gopkg.in/go-jose/go-jose.v2/cipher | ||||
| gopkg.in/go-jose/go-jose.v2/json | ||||
| gopkg.in/go-jose/go-jose.v2/jwt | ||||
| # gopkg.in/inf.v0 v0.9.1 | ||||
| ## explicit | ||||
| gopkg.in/inf.v0 | ||||
| # gopkg.in/natefinch/lumberjack.v2 v2.2.1 | ||||
| ## explicit; go 1.13 | ||||
| gopkg.in/natefinch/lumberjack.v2 | ||||
| # gopkg.in/square/go-jose.v2 v2.6.0 | ||||
| ## explicit | ||||
| gopkg.in/square/go-jose.v2 | ||||
| gopkg.in/square/go-jose.v2/cipher | ||||
| gopkg.in/square/go-jose.v2/json | ||||
| gopkg.in/square/go-jose.v2/jwt | ||||
| # gopkg.in/yaml.v3 v3.0.1 | ||||
| ## explicit | ||||
| gopkg.in/yaml.v3 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Kubernetes Prow Robot
					Kubernetes Prow Robot