@@ -142,7 +142,7 @@ |
||
142 | 142 | } |
143 | 143 | |
144 | 144 | /** |
145 | - * @return mixed |
|
145 | + * @return string |
|
146 | 146 | * @throws JWEInvalidRecipientKeyException |
147 | 147 | * @throws JWEUnsupportedContentEncryptionAlgorithmException |
148 | 148 | * @throws JWEUnsupportedKeyManagementAlgorithmException |
@@ -97,7 +97,7 @@ discard block |
||
97 | 97 | protected function __construct(IJWEJOSEHeader $header, IJWSPayloadSpec $payload = null) |
98 | 98 | { |
99 | 99 | $this->header = $header; |
100 | - if(!is_null($payload)) |
|
100 | + if (!is_null($payload)) |
|
101 | 101 | $this->setPayload($payload); |
102 | 102 | } |
103 | 103 | |
@@ -157,7 +157,7 @@ discard block |
||
157 | 157 | if (is_null($this->payload)) |
158 | 158 | $this->payload = JWSPayloadFactory::build(''); |
159 | 159 | |
160 | - return ($this->payload instanceof IJWSPayloadRawSpec) ? $this->payload->getRaw():''; |
|
160 | + return ($this->payload instanceof IJWSPayloadRawSpec) ? $this->payload->getRaw() : ''; |
|
161 | 161 | } |
162 | 162 | |
163 | 163 | /** |
@@ -183,7 +183,7 @@ discard block |
||
183 | 183 | * the result be the JWE Encrypted Key. |
184 | 184 | */ |
185 | 185 | $key_management_mode = $this->getKeyManagementMode($alg); |
186 | - switch($key_management_mode){ |
|
186 | + switch ($key_management_mode) { |
|
187 | 187 | case KeyManagementModeValues::KeyEncryption: |
188 | 188 | case KeyManagementModeValues::KeyWrapping: |
189 | 189 | case KeyManagementModeValues::KeyAgreementWithKeyWrapping: |
@@ -211,15 +211,15 @@ discard block |
||
211 | 211 | */ |
212 | 212 | private function getKeyManagementMode(EncryptionAlgorithm $alg) |
213 | 213 | { |
214 | - if($alg instanceof KeyEncryption) |
|
214 | + if ($alg instanceof KeyEncryption) |
|
215 | 215 | return KeyManagementModeValues::KeyEncryption; |
216 | - if($alg instanceof KeyWrapping) |
|
216 | + if ($alg instanceof KeyWrapping) |
|
217 | 217 | return KeyManagementModeValues::KeyWrapping; |
218 | - if($alg instanceof DirectKeyAgreement) |
|
218 | + if ($alg instanceof DirectKeyAgreement) |
|
219 | 219 | return KeyManagementModeValues::DirectKeyAgreement; |
220 | - if($alg instanceof KeyAgreementWithKeyWrapping) |
|
220 | + if ($alg instanceof KeyAgreementWithKeyWrapping) |
|
221 | 221 | return KeyManagementModeValues::KeyAgreementWithKeyWrapping; |
222 | - if($alg instanceof DirectEncryption) |
|
222 | + if ($alg instanceof DirectEncryption) |
|
223 | 223 | return KeyManagementModeValues::DirectEncryption; |
224 | 224 | } |
225 | 225 | |
@@ -238,11 +238,9 @@ discard block |
||
238 | 238 | if (is_null($this->jwk)) |
239 | 239 | throw new JWEInvalidRecipientKeyException; |
240 | 240 | |
241 | - if($this->jwk->getAlgorithm()->getValue()!== $this->header->getAlgorithm()->getString()) |
|
242 | - throw new InvalidJWKAlgorithm |
|
243 | - ( |
|
244 | - sprintf |
|
245 | - ( |
|
241 | + if ($this->jwk->getAlgorithm()->getValue() !== $this->header->getAlgorithm()->getString()) |
|
242 | + throw new InvalidJWKAlgorithm( |
|
243 | + sprintf( |
|
246 | 244 | 'mismatch between algorithm intended for use with the key %s and the cryptographic algorithm used to encrypt or determine the value of the CEK %s', |
247 | 245 | $this->jwk->getAlgorithm()->getValue(), |
248 | 246 | $this->header->getAlgorithm()->getString() |
@@ -256,27 +254,22 @@ discard block |
||
256 | 254 | if (is_null($key_management_algorithm)) |
257 | 255 | throw new JWEUnsupportedKeyManagementAlgorithmException(sprintf('alg %s', $this->header->getAlgorithm()->getString())); |
258 | 256 | |
259 | - if($key_management_algorithm->getKeyType() !== $recipient_public_key->getAlgorithm()) |
|
260 | - throw new InvalidKeyTypeAlgorithmException |
|
261 | - ( |
|
262 | - sprintf |
|
263 | - ( |
|
257 | + if ($key_management_algorithm->getKeyType() !== $recipient_public_key->getAlgorithm()) |
|
258 | + throw new InvalidKeyTypeAlgorithmException( |
|
259 | + sprintf( |
|
264 | 260 | 'key should be for alg %s, %s instead.', |
265 | 261 | $key_management_algorithm->getKeyType(), |
266 | 262 | $recipient_public_key->getAlgorithm() |
267 | 263 | ) |
268 | 264 | ); |
269 | 265 | |
270 | - $content_encryption_algorithm = ContentEncryptionAlgorithms_Registry::getInstance()->get |
|
271 | - ( |
|
266 | + $content_encryption_algorithm = ContentEncryptionAlgorithms_Registry::getInstance()->get( |
|
272 | 267 | $this->header->getEncryptionAlgorithm()->getString() |
273 | 268 | ); |
274 | 269 | |
275 | 270 | if (is_null($content_encryption_algorithm)) |
276 | - throw new JWEUnsupportedContentEncryptionAlgorithmException |
|
277 | - ( |
|
278 | - sprintf |
|
279 | - ( |
|
271 | + throw new JWEUnsupportedContentEncryptionAlgorithmException( |
|
272 | + sprintf( |
|
280 | 273 | 'enc %s', |
281 | 274 | $this->header->getEncryptionAlgorithm()->getString() |
282 | 275 | ) |
@@ -284,8 +277,7 @@ discard block |
||
284 | 277 | |
285 | 278 | $key_management_mode = $this->getKeyManagementMode($key_management_algorithm); |
286 | 279 | |
287 | - $this->cek = ContentEncryptionKeyFactory::build |
|
288 | - ( |
|
280 | + $this->cek = ContentEncryptionKeyFactory::build( |
|
289 | 281 | $recipient_public_key, |
290 | 282 | $key_management_mode, |
291 | 283 | $content_encryption_algorithm |
@@ -299,7 +291,7 @@ discard block |
||
299 | 291 | * algorithm); otherwise, let the JWE Initialization Vector be the |
300 | 292 | * empty octet sequence. |
301 | 293 | */ |
302 | - $this->iv = ''; |
|
294 | + $this->iv = ''; |
|
303 | 295 | |
304 | 296 | if (!is_null($iv_size = $content_encryption_algorithm->getIVSize())) |
305 | 297 | { |
@@ -308,7 +300,7 @@ discard block |
||
308 | 300 | // We encrypt the payload and get the tag |
309 | 301 | $jwt_shared_protected_header = JOSEHeaderSerializer::serialize($this->header); |
310 | 302 | |
311 | - $payload = ($this->payload instanceof IJWSPayloadRawSpec) ? $this->payload->getRaw():''; |
|
303 | + $payload = ($this->payload instanceof IJWSPayloadRawSpec) ? $this->payload->getRaw() : ''; |
|
312 | 304 | $zip = $this->header->getCompressionAlgorithm(); |
313 | 305 | /** |
314 | 306 | * If a "zip" parameter was included, compress the plaintext using |
@@ -316,10 +308,10 @@ discard block |
||
316 | 308 | * sequence representing the compressed plaintext; otherwise, let M |
317 | 309 | * be the octet sequence representing the plaintext. |
318 | 310 | */ |
319 | - if(!is_null($zip)) |
|
311 | + if (!is_null($zip)) |
|
320 | 312 | { |
321 | 313 | $compression__algorithm = CompressionAlgorithms_Registry::getInstance()->get($zip->getValue()); |
322 | - $payload = $compression__algorithm->compress($payload); |
|
314 | + $payload = $compression__algorithm->compress($payload); |
|
323 | 315 | } |
324 | 316 | |
325 | 317 | /** |
@@ -329,8 +321,7 @@ discard block |
||
329 | 321 | * JWE Authentication Tag (which is the Authentication Tag output |
330 | 322 | * from the encryption operation). |
331 | 323 | */ |
332 | - list($this->cipher_text, $this->tag) = $content_encryption_algorithm->encrypt |
|
333 | - ( |
|
324 | + list($this->cipher_text, $this->tag) = $content_encryption_algorithm->encrypt( |
|
334 | 325 | $payload, |
335 | 326 | $this->cek->getEncoded(), |
336 | 327 | $this->iv, |
@@ -348,23 +339,21 @@ discard block |
||
348 | 339 | * @throws InvalidKeyTypeAlgorithmException |
349 | 340 | * @throws \Exception |
350 | 341 | */ |
351 | - private function decryptJWEEncryptedKey(EncryptionAlgorithm $alg){ |
|
342 | + private function decryptJWEEncryptedKey(EncryptionAlgorithm $alg) { |
|
352 | 343 | |
353 | 344 | $key_management_mode = $this->getKeyManagementMode($alg); |
354 | 345 | $recipient_private_key = $this->jwk->getKey(JSONWebKeyKeyOperationsValues::DecryptContentAndValidateDecryption); |
355 | 346 | |
356 | - if($alg->getKeyType() !== $recipient_private_key->getAlgorithm()) |
|
357 | - throw new InvalidKeyTypeAlgorithmException |
|
358 | - ( |
|
359 | - sprintf |
|
360 | - ( |
|
347 | + if ($alg->getKeyType() !== $recipient_private_key->getAlgorithm()) |
|
348 | + throw new InvalidKeyTypeAlgorithmException( |
|
349 | + sprintf( |
|
361 | 350 | 'key should be for alg %s, %s instead.', |
362 | 351 | $alg->getKeyType(), |
363 | 352 | $recipient_private_key->getAlgorithm() |
364 | 353 | ) |
365 | 354 | ); |
366 | 355 | |
367 | - switch($key_management_mode){ |
|
356 | + switch ($key_management_mode) { |
|
368 | 357 | /** |
369 | 358 | * When Key Wrapping, Key Encryption, or Key Agreement with Key |
370 | 359 | * Wrapping are employed, decrypt the JWE Encrypted Key to produce |
@@ -386,12 +375,12 @@ discard block |
||
386 | 375 | * symmetric key. |
387 | 376 | */ |
388 | 377 | case KeyManagementModeValues::DirectEncryption: |
389 | - if(!empty($this->enc_cek)) |
|
378 | + if (!empty($this->enc_cek)) |
|
390 | 379 | throw new JWEInvalidCompactFormatException('JWE Encrypted Key value is not an empty octetsequence.'); |
391 | 380 | return $recipient_private_key; |
392 | 381 | break; |
393 | 382 | case KeyManagementModeValues::DirectKeyAgreement: |
394 | - if(!empty($this->enc_cek)) |
|
383 | + if (!empty($this->enc_cek)) |
|
395 | 384 | throw new JWEInvalidCompactFormatException('JWE Encrypted Key value is not an empty octetsequence.'); |
396 | 385 | throw new \Exception('unsupported Key Management Mode!'); |
397 | 386 | break; |
@@ -416,42 +405,34 @@ discard block |
||
416 | 405 | |
417 | 406 | if (!$this->should_decrypt) return $this; |
418 | 407 | |
419 | - if($this->jwk->getAlgorithm()->getValue()!== $this->header->getAlgorithm()->getString()) |
|
420 | - throw new InvalidJWKAlgorithm |
|
421 | - ( |
|
422 | - sprintf |
|
423 | - ( |
|
408 | + if ($this->jwk->getAlgorithm()->getValue() !== $this->header->getAlgorithm()->getString()) |
|
409 | + throw new InvalidJWKAlgorithm( |
|
410 | + sprintf( |
|
424 | 411 | 'mismatch between algorithm intended for use with the key %s and the cryptographic algorithm used to encrypt or determine the value of the CEK %s', |
425 | 412 | $this->jwk->getAlgorithm()->getValue(), |
426 | 413 | $this->header->getAlgorithm()->getString() |
427 | 414 | ) |
428 | 415 | ); |
429 | 416 | |
430 | - $key_management_algorithm = KeyManagementAlgorithms_Registry::getInstance()->get |
|
431 | - ( |
|
417 | + $key_management_algorithm = KeyManagementAlgorithms_Registry::getInstance()->get( |
|
432 | 418 | $this->header->getAlgorithm()->getString() |
433 | 419 | ); |
434 | 420 | |
435 | 421 | if (is_null($key_management_algorithm)) |
436 | - throw new JWEUnsupportedKeyManagementAlgorithmException |
|
437 | - ( |
|
438 | - sprintf |
|
439 | - ( |
|
422 | + throw new JWEUnsupportedKeyManagementAlgorithmException( |
|
423 | + sprintf( |
|
440 | 424 | 'alg %s', |
441 | 425 | $this->header->getAlgorithm()->getString() |
442 | 426 | ) |
443 | 427 | ); |
444 | 428 | |
445 | - $content_encryption_algorithm = ContentEncryptionAlgorithms_Registry::getInstance()->get |
|
446 | - ( |
|
429 | + $content_encryption_algorithm = ContentEncryptionAlgorithms_Registry::getInstance()->get( |
|
447 | 430 | $this->header->getEncryptionAlgorithm()->getString() |
448 | 431 | ); |
449 | 432 | |
450 | 433 | if (is_null($content_encryption_algorithm)) |
451 | - throw new JWEUnsupportedContentEncryptionAlgorithmException |
|
452 | - ( |
|
453 | - sprintf |
|
454 | - ( |
|
434 | + throw new JWEUnsupportedContentEncryptionAlgorithmException( |
|
435 | + sprintf( |
|
455 | 436 | 'enc %s', |
456 | 437 | $this->header->getEncryptionAlgorithm()->getString() |
457 | 438 | ) |
@@ -472,8 +453,7 @@ discard block |
||
472 | 453 | * rejecting the input without emitting any decrypted output if the |
473 | 454 | * JWE Authentication Tag is incorrect. |
474 | 455 | */ |
475 | - $plain_text = $content_encryption_algorithm->decrypt |
|
476 | - ( |
|
456 | + $plain_text = $content_encryption_algorithm->decrypt( |
|
477 | 457 | $this->cipher_text, |
478 | 458 | $this->cek->getEncoded(), |
479 | 459 | $this->iv, |
@@ -481,12 +461,12 @@ discard block |
||
481 | 461 | $this->tag |
482 | 462 | ); |
483 | 463 | |
484 | - $zip = $this->header->getCompressionAlgorithm(); |
|
464 | + $zip = $this->header->getCompressionAlgorithm(); |
|
485 | 465 | /** |
486 | 466 | * If a "zip" parameter was included, uncompress the decrypted |
487 | 467 | * plaintext using the specified compression algorithm. |
488 | 468 | */ |
489 | - if(!is_null($zip)) |
|
469 | + if (!is_null($zip)) |
|
490 | 470 | { |
491 | 471 | $compression__algorithm = CompressionAlgorithms_Registry::getInstance()->get($zip->getValue()); |
492 | 472 | $plain_text = $compression__algorithm->uncompress($plain_text); |
@@ -1,16 +1,16 @@ |
||
1 | 1 | <?php |
2 | 2 | /** |
3 | - * Copyright 2015 OpenStack Foundation |
|
4 | - * Licensed under the Apache License, Version 2.0 (the "License"); |
|
5 | - * you may not use this file except in compliance with the License. |
|
6 | - * You may obtain a copy of the License at |
|
7 | - * http://www.apache.org/licenses/LICENSE-2.0 |
|
8 | - * Unless required by applicable law or agreed to in writing, software |
|
9 | - * distributed under the License is distributed on an "AS IS" BASIS, |
|
10 | - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
11 | - * See the License for the specific language governing permissions and |
|
12 | - * limitations under the License. |
|
13 | - **/ |
|
3 | + * Copyright 2015 OpenStack Foundation |
|
4 | + * Licensed under the Apache License, Version 2.0 (the "License"); |
|
5 | + * you may not use this file except in compliance with the License. |
|
6 | + * You may obtain a copy of the License at |
|
7 | + * http://www.apache.org/licenses/LICENSE-2.0 |
|
8 | + * Unless required by applicable law or agreed to in writing, software |
|
9 | + * distributed under the License is distributed on an "AS IS" BASIS, |
|
10 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
11 | + * See the License for the specific language governing permissions and |
|
12 | + * limitations under the License. |
|
13 | + **/ |
|
14 | 14 | |
15 | 15 | namespace jwk; |
16 | 16 |
@@ -26,7 +26,7 @@ discard block |
||
26 | 26 | /** |
27 | 27 | * @return \Math_BigInteger |
28 | 28 | */ |
29 | - public function toBigInt(){ |
|
29 | + public function toBigInt() { |
|
30 | 30 | $b64 = new Base64UrlRepresentation(); |
31 | 31 | $hex = bin2hex($b64->decode($this->value)); |
32 | 32 | return new \Math_BigInteger('0x'.$hex, 16); |
@@ -36,7 +36,7 @@ discard block |
||
36 | 36 | * @param \Math_BigInteger $big_int |
37 | 37 | * @return Base64urlUInt |
38 | 38 | */ |
39 | - public static function fromBigInt(\Math_BigInteger $big_int){ |
|
39 | + public static function fromBigInt(\Math_BigInteger $big_int) { |
|
40 | 40 | $b64 = new Base64UrlRepresentation(); |
41 | 41 | $input = $big_int->toBytes(); |
42 | 42 | return new Base64urlUInt($b64->encode($input)); |