Skip to content

Commit 558c5c0

Browse files
author
codercat
committed
update doc
1 parent 2718f54 commit 558c5c0

File tree

1 file changed

+66
-9
lines changed

1 file changed

+66
-9
lines changed

README.md

Lines changed: 66 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,16 @@ Convert JSON Web Key (JWK) to PEM format.
1414
composer require codercat/jwk-to-pem
1515
```
1616

17+
## Test
18+
19+
``` bash
20+
vendor/bin/phpunit
21+
```
22+
1723
## Usage
1824

25+
#### Single JWK
26+
1927
``` php
2028
<?php
2129

@@ -24,7 +32,7 @@ use CoderCat\JWKToPEM\JWKConverter;
2432
$jwkConverter = new JWKConverter();
2533

2634
// !!!! RSA key type is currently only supported.
27-
$jwk = [
35+
$JWK = [
2836
"kty" => "RSA",
2937
"kid" => "zhA-H1DWOSgWQAIW7mewCYeaZLGpkgW_hXfq8jmV99I",
3038
"use" => "sig",
@@ -34,14 +42,12 @@ $jwk = [
3442
];
3543

3644
```
37-
Convert to PEM format:
45+
Convert to PEM:
3846

3947
``` php
40-
$PEM = $jwkConverter->toPEM($jwk);
41-
echo $PEM;
48+
$PEM = $jwkConverter->toPEM($JWK);
4249
```
43-
44-
The PEM for this jwk:
50+
The PEM for this JWK:
4551

4652
```
4753
-----BEGIN PUBLIC KEY-----\r\n
@@ -54,12 +60,63 @@ yn0FGmGjrJXnyVJwyDiTrKRO36piMuiaJE2nIRJaLvhDN5M1K2VhSKPuaqUPyxLz\r\n
5460
BwIDAQAB\r\n
5561
-----END PUBLIC KEY-----
5662
```
57-
63+
#### Multiple JWK
5864
You can also convert multiple JWKs by using `multipleToPEM`:
65+
``` php
66+
<?php
67+
68+
use CoderCat\JWKToPEM\JWKConverter;
69+
70+
$jwkConverter = new JWKConverter();
71+
72+
// !!!! RSA key type is currently only supported.
73+
$JWKs = [
74+
[
75+
'kty' => 'RSA',
76+
'kid' => '86D88Kf',
77+
'use' => 'sig',
78+
'alg' => 'RS256',
79+
'n' => 'iGaLqP6y-SJCCBq5Hv6pGDbG_SQ11MNjH7rWHcCFYz4hGwHC4lcSurTlV8u3avoVNM8jXevG1Iu1SY11qInqUvjJur--hghr1b56OPJu6H1iKulSxGjEIyDP6c5BdE1uwprYyr4IO9th8fOwCPygjLFrh44XEGbDIFeImwvBAGOhmMB2AD1n1KviyNsH0bEB7phQtiLk-ILjv1bORSRl8AK677-1T8isGfHKXGZ_ZGtStDe7Lu0Ihp8zoUt59kx2o9uWpROkzF56ypresiIl4WprClRCjz8x6cPZXU2qNWhu71TQvUFwvIvbkE1oYaJMb0jcOTmBRZA2QuYw-zHLwQ',
80+
'e' => 'AQAB',
81+
],
82+
[
83+
'kty' => 'RSA',
84+
'kid' => 'eXaunmL',
85+
'use' => 'sig',
86+
'alg' => 'RS256',
87+
'n' => '4dGQ7bQK8LgILOdLsYzfZjkEAoQeVC_aqyc8GC6RX7dq_KvRAQAWPvkam8VQv4GK5T4ogklEKEvj5ISBamdDNq1n52TpxQwI2EqxSk7I9fKPKhRt4F8-2yETlYvye-2s6NeWJim0KBtOVrk0gWvEDgd6WOqJl_yt5WBISvILNyVg1qAAM8JeX6dRPosahRVDjA52G2X-Tip84wqwyRpUlq2ybzcLh3zyhCitBOebiRWDQfG26EH9lTlJhll-p_Dg8vAXxJLIJ4SNLcqgFeZe4OfHLgdzMvxXZJnPp_VgmkcpUdRotazKZumj6dBPcXI_XID4Z4Z3OM1KrZPJNdUhxw',
88+
'e' => 'AQAB',
89+
],
90+
];
91+
```
92+
93+
Convert to PEMs:
5994

6095
``` php
61-
$PEMs = $jwkConverter->multipleToPEM($jwkSet);
62-
// $PEMs now contains an array of PEMs
96+
$PEMs = $jwkConverter->multipleToPEM($JWKs);
97+
```
98+
The PEMs for this JWKs:
99+
``` php
100+
[
101+
"-----BEGIN PUBLIC KEY-----\r\n
102+
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiGaLqP6y+SJCCBq5Hv6p\r\n
103+
GDbG/SQ11MNjH7rWHcCFYz4hGwHC4lcSurTlV8u3avoVNM8jXevG1Iu1SY11qInq\r\n
104+
UvjJur++hghr1b56OPJu6H1iKulSxGjEIyDP6c5BdE1uwprYyr4IO9th8fOwCPyg\r\n
105+
jLFrh44XEGbDIFeImwvBAGOhmMB2AD1n1KviyNsH0bEB7phQtiLk+ILjv1bORSRl\r\n
106+
8AK677+1T8isGfHKXGZ/ZGtStDe7Lu0Ihp8zoUt59kx2o9uWpROkzF56ypresiIl\r\n
107+
4WprClRCjz8x6cPZXU2qNWhu71TQvUFwvIvbkE1oYaJMb0jcOTmBRZA2QuYw+zHL\r\n
108+
wQIDAQAB\r\n
109+
-----END PUBLIC KEY-----",
110+
"-----BEGIN PUBLIC KEY-----\r\n
111+
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4dGQ7bQK8LgILOdLsYzf\r\n
112+
ZjkEAoQeVC/aqyc8GC6RX7dq/KvRAQAWPvkam8VQv4GK5T4ogklEKEvj5ISBamdD\r\n
113+
Nq1n52TpxQwI2EqxSk7I9fKPKhRt4F8+2yETlYvye+2s6NeWJim0KBtOVrk0gWvE\r\n
114+
Dgd6WOqJl/yt5WBISvILNyVg1qAAM8JeX6dRPosahRVDjA52G2X+Tip84wqwyRpU\r\n
115+
lq2ybzcLh3zyhCitBOebiRWDQfG26EH9lTlJhll+p/Dg8vAXxJLIJ4SNLcqgFeZe\r\n
116+
4OfHLgdzMvxXZJnPp/VgmkcpUdRotazKZumj6dBPcXI/XID4Z4Z3OM1KrZPJNdUh\r\n
117+
xwIDAQAB\r\n
118+
-----END PUBLIC KEY-----",
119+
]
63120
```
64121

65122

0 commit comments

Comments
 (0)