Conditions | 9 |
Paths | 13 |
Total Lines | 28 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | <?php |
||
20 | public function analyze(JWKSet $jwkset, MessageBag $bag): void |
||
21 | { |
||
22 | if (0 === $jwkset->count()) { |
||
23 | return; |
||
24 | } |
||
25 | |||
26 | $hasSymmetricKeys = false; |
||
27 | $hasAsymmetricKeys = false; |
||
28 | |||
29 | foreach ($jwkset as $jwk) { |
||
30 | switch ($jwk->get('kty')) { |
||
31 | case 'oct': |
||
32 | $hasSymmetricKeys = true; |
||
33 | |||
34 | break; |
||
35 | case 'OKP': |
||
36 | case 'RSA': |
||
37 | case 'EC': |
||
38 | $hasAsymmetricKeys = true; |
||
39 | |||
40 | break; |
||
41 | } |
||
42 | } |
||
43 | |||
44 | if ($hasAsymmetricKeys && $hasSymmetricKeys) { |
||
45 | $bag->add(Message::medium('This key set mixes symmetric and assymetric keys.')); |
||
46 | } |
||
47 | } |
||
48 | } |
||
49 |