@@ -205,6 +205,27 @@ public static function createFromValues(array $values)
205
205
return JWK ::create ($ values );
206
206
}
207
207
208
+ /**
209
+ * This method create a JWK object using a shared secret.
210
+ *
211
+ * @param string $secret
212
+ * @param array $additional_values
213
+ *
214
+ * @return JWK
215
+ */
216
+ public static function createFromSecret (string $ secret , array $ additional_values = []): JWK
217
+ {
218
+ $ values = array_merge (
219
+ $ additional_values ,
220
+ [
221
+ 'kty ' => 'oct ' ,
222
+ 'k ' => Base64Url::encode ($ secret ),
223
+ ]
224
+ );
225
+
226
+ return JWK ::create ($ values );
227
+ }
228
+
208
229
/**
209
230
* @param string $file
210
231
* @param array $additional_values
@@ -235,6 +256,8 @@ public static function createFromKeySet(JWKSet $jwkset, $index): JWK
235
256
* @param null|string $secret
236
257
* @param array $additional_values
237
258
*
259
+ * @throws \Exception
260
+ *
238
261
* @return JWK
239
262
*/
240
263
public static function createFromPKCS12CertificateFile (string $ file , ?string $ secret = '' , array $ additional_values = []): JWK
@@ -265,6 +288,8 @@ public static function createFromCertificate(string $certificate, array $additio
265
288
* @param resource $res
266
289
* @param array $additional_values
267
290
*
291
+ * @throws \Exception
292
+ *
268
293
* @return JWK
269
294
*/
270
295
public static function createFromX509Resource ($ res , array $ additional_values = []): JWK
@@ -280,6 +305,8 @@ public static function createFromX509Resource($res, array $additional_values = [
280
305
* @param null|string $password
281
306
* @param array $additional_values
282
307
*
308
+ * @throws \Exception
309
+ *
283
310
* @return JWK
284
311
*/
285
312
public static function createFromKeyFile (string $ file , ?string $ password = null , array $ additional_values = []): JWK
@@ -295,6 +322,8 @@ public static function createFromKeyFile(string $file, ?string $password = null,
295
322
* @param null|string $password
296
323
* @param array $additional_values
297
324
*
325
+ * @throws \Exception
326
+ *
298
327
* @return JWK
299
328
*/
300
329
public static function createFromKey (string $ key , ?string $ password = null , array $ additional_values = []): JWK
0 commit comments