-
-
Notifications
You must be signed in to change notification settings - Fork 356
/
json_web_key.go
123 lines (97 loc) · 3.57 KB
/
json_web_key.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
// Code generated by go-swagger; DO NOT EDIT.
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
)
// JSONWebKey json web key
//
// swagger:model jsonWebKey
type JSONWebKey struct {
// The "alg" (algorithm) parameter identifies the algorithm intended for
// use with the key. The values used should either be registered in the
// IANA "JSON Web Signature and Encryption Algorithms" registry
// established by [JWA] or be a value that contains a Collision-
// Resistant Name.
Alg string `json:"alg,omitempty"`
// crv
Crv string `json:"crv,omitempty"`
// d
D string `json:"d,omitempty"`
// dp
Dp string `json:"dp,omitempty"`
// dq
Dq string `json:"dq,omitempty"`
// e
E string `json:"e,omitempty"`
// k
K string `json:"k,omitempty"`
// The "kid" (key ID) parameter is used to match a specific key. This
// is used, for instance, to choose among a set of keys within a JWK Set
// during key rollover. The structure of the "kid" value is
// unspecified. When "kid" values are used within a JWK Set, different
// keys within the JWK Set SHOULD use distinct "kid" values. (One
// example in which different keys might use the same "kid" value is if
// they have different "kty" (key type) values but are considered to be
// equivalent alternatives by the application using them.) The "kid"
// value is a case-sensitive string.
Kid string `json:"kid,omitempty"`
// The "kty" (key type) parameter identifies the cryptographic algorithm
// family used with the key, such as "RSA" or "EC". "kty" values should
// either be registered in the IANA "JSON Web Key Types" registry
// established by [JWA] or be a value that contains a Collision-
// Resistant Name. The "kty" value is a case-sensitive string.
Kty string `json:"kty,omitempty"`
// n
N string `json:"n,omitempty"`
// p
P string `json:"p,omitempty"`
// q
Q string `json:"q,omitempty"`
// qi
Qi string `json:"qi,omitempty"`
// The "use" (public key use) parameter identifies the intended use of
// the public key. The "use" parameter is employed to indicate whether
// a public key is used for encrypting data or verifying the signature
// on data. Values are commonly "sig" (signature) or "enc" (encryption).
Use string `json:"use,omitempty"`
// x
X string `json:"x,omitempty"`
// The "x5c" (X.509 certificate chain) parameter contains a chain of one
// or more PKIX certificates [RFC5280]. The certificate chain is
// represented as a JSON array of certificate value strings. Each
// string in the array is a base64-encoded (Section 4 of [RFC4648] --
// not base64url-encoded) DER [ITU.X690.1994] PKIX certificate value.
// The PKIX certificate containing the key value MUST be the first
// certificate.
X5c []string `json:"x5c"`
// y
Y string `json:"y,omitempty"`
}
// Validate validates this json web key
func (m *JSONWebKey) Validate(formats strfmt.Registry) error {
return nil
}
// ContextValidate validates this json web key based on context it is used
func (m *JSONWebKey) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
func (m *JSONWebKey) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
return swag.WriteJSON(m)
}
// UnmarshalBinary interface implementation
func (m *JSONWebKey) UnmarshalBinary(b []byte) error {
var res JSONWebKey
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*m = res
return nil
}