2017 © Pedro Pelรกez
 

library jose

Jose PHP library for SyrupPay merchant

image

syruppay/jose

Jose PHP library for SyrupPay merchant

  • Tuesday, January 24, 2017
  • by Byeongchan Park
  • Repository
  • 6 Watchers
  • 1 Stars
  • 62 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 13 Versions
  • 0 % Grown

The README.md

JOSE for SyrupPay

PHP๋กœ ๊ตฌํ˜„ํ•œ JOSE(Javascript Object Signing and Encryption) - RFC 7516, RFC 7515 ๊ทœ๊ฒฉ์ž…๋‹ˆ๋‹ค. JOSE ๊ทœ๊ฒฉ์€ SyrupPay ๊ฒฐ์ œ ๋ฐ์ดํ„ฐ ์•”๋ณตํ˜ธํ™” ๋ฐ AccessToken ๋ฐœํ–‰ ๋“ฑ์— ์‚ฌ์šฉ๋˜๋ฉฐ SyrupPay ์„œ๋น„์Šค์˜ ๊ฐ€๋งน์ ์— ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค., (*1)

Supported PHP version

=> PHP 5.2.0, (*2)

Installation

composer (packagist)

"syruppay/jose": "v1.1.2", (*3)

Usage

JWE

``` php <?php //COMPOSER์˜ autoload $baseDir = ""; require_once($baseDir . '/vendor/autoload.php');, (*4)

//์•”ํ˜ธํ™” ๋ฐ์ดํ„ฐ $payload = '{"iss":"syruppap_sample", "exp":1300819380, "isSample":true}'; //SyrupPay ๋ฐœ๊ธ‰ iss $iss = 'sample';
//SyrupPay ๋ฐœ๊ธ‰ ์•”๋ณตํ˜ธํ™” ํ‚ค (AES256 KeyWrap ๊ธฐ์ค€) $key = '12345678901234561234567890123456';, (*5)

/* * JWE header ๊ทœ๊ฒฉ * JoseHeaderSpec::ALG : key wrap encryption algorithm. ์•„๋ž˜ Supported JOSE encryption algorithms ์ฐธ์กฐ * JoseHeaderSpec::ENC : content encryption algorithm. ์•„๋ž˜ Supported JOSE encryption algorithms ์ฐธ์กฐ */ $jose = new syruppay_jose_Jose(); $jweToken = $jose->configuration( syruppay_jose_JoseBuilders::JsonEncryptionCompactSerializationBuilder() ->header(new syruppay_jose_JoseHeader( array(JOSE_HEADER_ALG => JWA_A256KW, JOSE_HEADER_ENG => JWA_A128CBC_HS256, JOSE_HEADER_KID => $iss))) ->payload($payload) ->key($key) )->serialization();, (*6)

var_dump($jweToken);, (*7)

$jose = new syruppay_jose_Jose(); $payload = $jose->configuration( syruppay_jose_JoseBuilders::compactDeserializationBuilder() ->serializedSource($jweToken) ->key($key) )->deserialization();, (*8)

var_dump($payload);, (*9)


###JWS ```php <?php //COMPOSER์˜ autoload $baseDir = ""; require_once($baseDir . '/vendor/autoload.php'); //Sign ๋ฐ์ดํ„ฐ $payload = '{"iss":"syruppap_sample", "exp":1300819380, "isSample":true}'; //SyrupPay ๋ฐœ๊ธ‰ iss $iss = 'sample'; //SyrupPay ๋ฐœ๊ธ‰ sing ํ‚ค (HmacSha256 ๊ธฐ์ค€) $key = '12345678901234561234567890123456'; /* * JWS header ๊ทœ๊ฒฉ * JoseHeaderSpec::ALG : signature algorithm. ์•„๋ž˜ Supported JOSE encryption algorithms ์ฐธ์กฐ */ $jose = new syruppay_jose_Jose(); $jwsToken = $jose->configuration( syruppay_jose_JoseBuilders::JsonSignatureCompactSerializationBuilder() ->header(new syruppay_jose_JoseHeader( array(JOSE_HEADER_ALG => JWA_HS256, JOSE_HEADER_TYP => 'JWT', JOSE_HEADER_KID => $iss))) ->payload($payload) ->key($key) )->serialization(); var_dump($jwsToken); $jose = new syruppay_jose_Jose(); $claims = $jose->configuration( syruppay_jose_JoseBuilders::compactDeserializationBuilder() ->serializedSource($jweToken) ->key($key) )->deserialization(); var_dump($claims);

Supported JOSE encryption algorithms

JWE

JWE๋Š” ์ž…๋ ฅํ•œ payload๋ฅผ ์•„๋ž˜์—์„œ ์ง€์›ํ•˜๋Š” alg์™€ enc์—์„œ ๋ช…์‹œํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์•”ํ˜ธํ™”ํ•ฉ๋‹ˆ๋‹ค. ํ‚ค์›Œ๋“œ alg๋Š” ๋ฐœํ–‰๋œ(๊ธฐ ๊ณต์œ ๋œ) key๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‚ด๋ถ€์ ์œผ๋กœ randomํ•˜๊ฒŒ ์ƒ์„ฑ๋œ CEK(content encryption key)๋ฅผ ์•”ํ˜ธํ™”ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ฉฐ, ํ‚ค์›Œ๋“œ enc๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ ์ƒ์„ฑ๋œ CEK๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ช…์‹œํ•œ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ payload๋ฅผ ์•”ํ˜ธํ™”ํ•˜๋ฉฐ header, CEK, iv, payload์˜ integrity data๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค., (*10)

"alg" (Algorithm) Header Parameter Values For JWE

alg Param Value Key Management Algorithm
A128KW AES Key Wrap with default initial value using 128 bit key
A256KW AES Key Wrap with default initial value using 256 bit key

"enc" (Encryption Algorithm) Header Parameter Values for JWE

enc Param Value Content Encryption Algorithm
A128CBC-HS256 AES_128_CBC_HMAC_SHA_256 authenticated encryption algorithm

JWS

JWS๋Š” ํ‚ค์›Œ๋“œ alg์—์„œ ๋ช…์‹œํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์ž…๋ ฅํ•œ payload์˜ integrity๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.alg๋Š” ๋ฐœํ–‰๋œ(๊ธฐ ๊ณต์œ ๋œ) key๋ฅผ ์ด์šฉํ•˜์—ฌ integrity data๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค., (*11)

"alg" (Algorithm) Header Parameter Values for JWS

alg Param Value Digital Signature or MAC Algorithm
HS256 HMAC using SHA-256

License

The gem is available as open source under the terms of the MIT License., (*12)

The Versions

24/01 2017

dev-master

9999999-dev

Jose PHP library for SyrupPay merchant

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Byeongchan Park

jws jwe jose syrup a128kw syruppay hs256 a128cbc-hs256

24/01 2017

v1.1.2

1.1.2.0

Jose PHP library for SyrupPay merchant

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Byeongchan Park

jws jwe jose syrup a128kw syruppay hs256 a128cbc-hs256

24/01 2017

dev-dev/52x

dev-dev/52x

Jose PHP library for SyrupPay merchant

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Byeongchan Park

jws jwe jose syrup a128kw syruppay hs256 a128cbc-hs256

18/01 2017

dev-develop

dev-develop

Jose PHP library for SyrupPay merchant

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Byeongchan Park

jws jwe jose syrup a128kw syruppay hs256 a128cbc-hs256

22/09 2016

v1.1.0

1.1.0.0

Jose PHP library for SyrupPay merchant

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Byeongchan Park

jws jwe jose syrup a128kw syruppay hs256 a128cbc-hs256

22/09 2016

v1.1.1

1.1.1.0

Jose PHP library for SyrupPay merchant

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Byeongchan Park

jws jwe jose syrup a128kw syruppay hs256 a128cbc-hs256

31/08 2016

dev-dev/v1.0.x

dev-dev/v1.0.x

Jose PHP library for SyrupPay merchant

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Byeongchan Park

jws jwe jose syrup a128kw syruppay hs256 a128cbc-hs256

31/08 2016

dev-master-v1.0.x

dev-master-v1.0.x

Jose PHP library for SyrupPay merchant

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Byeongchan Park

jws jwe jose syrup a128kw syruppay hs256 a128cbc-hs256

31/08 2016

v1.0.3

1.0.3.0

Jose PHP library for SyrupPay merchant

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Byeongchan Park

jws jwe jose syrup a128kw syruppay hs256 a128cbc-hs256

15/02 2016

v1.0.2

1.0.2.0

Jose PHP library for SyrupPay merchant

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Byeongchan Park

jws jwe jose syrup a128kw syruppay hs256 a128cbc-hs256

06/02 2016

v1.0.1

1.0.1.0

Jose PHP library for SyrupPay merchant

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Byeongchan Park

jws jwe jose syrup a128kw syruppay hs256 a128cbc-hs256

12/11 2015

v1.0.0

1.0.0.0

Jose PHP library for SyrupPay merchant

  Sources   Download

MIT

The Requires

 

by Avatar Byeongchan Park

jws jwe jose syrup a128kw syruppay hs256 a128cbc-hs256

05/11 2015

v0.0.3

0.0.3.0

Jose PHP library for SyrupPay merchant

  Sources   Download

MIT

The Requires

 

by Avatar Byeongchan Park

jws jwe jose a128kw syruppay hs256 a128cbc-hs256