Json Wed Sign (RSA)
This is a function wrapping through the Openssl
to sign and validate the data, which ensures the integrity and security of the original data., (*1)
Travis CI badge
, (*2)
codecov badge
, (*3)
Github badge
, (*4)
Installation
Use Composer to install the library.
Of course, You can go to Packagist to view., (*5)
$ composer require yakeing/php_jwsign
JWSign init
$jwsign = new jwsign();
$jwsign->SetPrivate($accesskey);
Get Pubkey
$Pubkey = $jwsign->GetPubkey();
var_dump($Pubkey);
array(3) {
["pub"]=>string(451) "-----BEGIN PUBLIC KEY-----\nMIIBIjA....NjQIDAQA\n-----END PUBLIC KEY----"
["bits"]=>int(2048)
["kid"]=>string(43) "cjbdM-CeRfP...5BNYQuksIIgmk"
}
Sign Message
$Message = base64_encode('
{
"method":"pay",
"charset":"utf-8",
"version":"1.0",
"token":"NAM...YgV"
}
');
$JsonStr = $jwsign->SignMessage($Message);
var_dump($JsonStr);
string(557) "{
"message":"eyJtZXRiO...Z1YifQ==",
"nonce":"MmlhaDE1MD...MTgwLjEwNDc1OTAw",
"kid":"cjOdM-CORfPGa...j-0I5BNYQuksIIgmk",
"sign":"hXvBULK2wSroVFZ...-HYHG7l8Epixikg"
}"
Pubkey Verify
$value = '{
"message":"eyJtZXRiO...Z1YifQ==",
"nonce":"MmlhaDE1MD...MTgwLjEwNDc1OTAw",
"kid":"cjOdM-CORfPGa...j-0I5BNYQuksIIgmk"
}';
$sign = 'hXvBULK2wvSroVFZ...-HKbHGDYHG7l8Epixikg';
$pub = '-----BEGIN PUBLIC KEY-----\nMIIBIjA....NjQIDAQA\n-----END PUBLIC KEY----';
$Str = $jwsign->PubkeyVerify($value, $sign, $pub);
var_dump($Str);
bool(true)
Get Message
$value = '{
"message":"eyJtZXRiO...Z1YifQ==",
"nonce":"MmlhaDE1MD...MTgwLjEwNDc1OTAw",
"kid":"cjOdM-CORfPGa...j-0I5BNYQuksIIgmk"
}';
$Str = json_decode($value, true);
var_dump(base64_decode($Str['message']));
string(100) "{
"method":"pay",
"charset":"utf-8",
"version":"1.0",
"token":"NAM...YgV"
}"
If you've got value from any of the content which I have created, then I would very much appreciate your support by payment donate., (*6)
, (*7)
Author
weibo: yakeing, (*8)
twitter: yakeing, (*9)