MCPcopy Create free account
hub / github.com/brimdata/super / loadPublicKeys

Function loadPublicKeys

service/auth/validator.go:124–142  ·  view source on GitHub ↗
(jwkspath string)

Source from the content-addressed store, hash-verified

122}
123
124func loadPublicKeys(jwkspath string) (map[string]*rsa.PublicKey, error) {
125 var jwks jwks
126 if err := fs.UnmarshalJSONFile(jwkspath, &jwks); err != nil {
127 return nil, err
128 }
129 keys := make(map[string]*rsa.PublicKey)
130 for _, jwk := range jwks.Keys {
131 if len(jwk.X5c) == 0 {
132 continue
133 }
134 cert := "-----BEGIN CERTIFICATE-----\n" + jwk.X5c[0] + "\n-----END CERTIFICATE-----"
135 public, err := jwt.ParseRSAPublicKeyFromPEM([]byte(cert))
136 if err != nil {
137 return nil, err
138 }
139 keys[jwk.Kid] = public
140 }
141 return keys, nil
142}

Callers 1

NewTokenValidatorFunction · 0.85

Calls 1

UnmarshalJSONFileFunction · 0.92

Tested by

no test coverage detected