primo commit
This commit is contained in:
		
							
								
								
									
										39
									
								
								libraries/vendor/web-token/jwt-library/KeyManagement/Analyzer/MixedPublicAndPrivateKeys.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								libraries/vendor/web-token/jwt-library/KeyManagement/Analyzer/MixedPublicAndPrivateKeys.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,39 @@ | ||||
| <?php | ||||
|  | ||||
| declare(strict_types=1); | ||||
|  | ||||
| namespace Jose\Component\KeyManagement\Analyzer; | ||||
|  | ||||
| use Jose\Component\Core\JWKSet; | ||||
|  | ||||
| final class MixedPublicAndPrivateKeys implements KeysetAnalyzer | ||||
| { | ||||
|     public function analyze(JWKSet $jwkset, MessageBag $bag): void | ||||
|     { | ||||
|         if ($jwkset->count() === 0) { | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         $hasPublicKeys = false; | ||||
|         $hasPrivateKeys = false; | ||||
|  | ||||
|         foreach ($jwkset as $jwk) { | ||||
|             switch ($jwk->get('kty')) { | ||||
|                 case 'OKP': | ||||
|                 case 'RSA': | ||||
|                 case 'EC': | ||||
|                     if ($jwk->has('d')) { | ||||
|                         $hasPrivateKeys = true; | ||||
|                     } else { | ||||
|                         $hasPublicKeys = true; | ||||
|                     } | ||||
|  | ||||
|                     break; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         if ($hasPrivateKeys && $hasPublicKeys) { | ||||
|             $bag->add(Message::high('This key set mixes public and private keys.')); | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user