Iniúchaigh JWKS agus bain eochracha poiblí PEM
- Deais
- Doiciméadú
- API
Cad is JWKS ann?
Is doiciméad JSON é JWKS (JSON Web Key Set, RFC 7517) a ghrúpálann le chéile a liosta na n-eochracha poiblí i bhfoirm struchtúrtha. Úsáidtear é chun na heochracha a fhoilsíonn eisitheoir JWT úsáidí chun a chuid comharthaí a shíniú, ionas gur féidir le haon tomhaltóir iad a bhailiú agus síniú na comharthaí a fhaigheann sé a fhíorú. Breathnaíonn an fhormáid mar seo i gcónaí:
{
"eochracha": [
{ "kty": "RSA", "kid": "abc123", "use": "sig", "alg": "RS256", "n": "...", "e": "AQAB" },
{ "kty": "EC", "kid": "def456", "use": "sig", "alg": "ES256", "crv": "P-256", "x": "...", "y": "..." }
]
}
Tá gach iontráil sa tábla eochracha ina JWK (Eochair Ghréasáin JSON) a
cur síos ar eochair phoiblí: cineál eochrach (kty), aitheantóir (kid), úsáid
beartaithe (úsáid), algartam sprice (alg) agus comhpháirteanna cripteagrafacha.
Cathain a úsáidtear JWKS?
Is é an JWKS cnámh droma ailtireachtaí nua-aimseartha OAuth2 agus OpenID Connect. tu rachaidh sé i dteagmháil i gcomhthéacsanna éagsúla:
- Fionnachtain OIDC: nochtar aon soláthraí OpenID Connect doiciméad de
cumraíocht ag
/.well-known/openid-configurationina bhfuil réimsejwks_uri. Ag an URL seo tá JWKS ina liostaítear eochracha poiblí gníomhacha. - Fíorú JWT: nuair a fhaigheann do API chomhartha sínithe in RS256 nó ES256,
léann sé
kidan cheanntásca, íoslódálann sé JWKS an tarchuradóra, aimsíonn sé an eochair comhfhreagrach, díorthaigh an eochair phoiblí i bhformáid PEM, agus fíoraíonn sé an síniú. - Rothlú eochrach: is féidir le heisitheoir roinnt eochracha a fhoilsiú ag an am céanna, seo a ligeann duit eochair nua a thabhairt isteach chun na comharthaí nua a shíniú agus tú á gcoimeád an seancheann i mbun seirbhíse agus na comharthaí a bhí i gcúrsaíocht in éag.
- Cónaidhm: SAML, SCIM, seirbhísí idirnasctha, foilsiú JWKS seachnaíonn sé teastais X.509 a mhalartú de láimh idir comhpháirtithe.
Réimsí riachtanacha JWK
Tá roinnt réimsí le feiceáil go córasach i JWK. Déanann an uirlis seo iad a bhaint agus a thaispeáint do gach eochair de na JWKS a ndearnadh anailís orthu:
kid(aitheantas eochrach): aitheantóir uathúil na heochrach. Is é an luach seo a chuireann ceanntásc JWT ina réimsekidchun a léiriú cén eochair den JWKS Ní mór é a úsáid le haghaidh fíorú.kty(cineál eochrach): teaghlach cripteagrafach. An dá luach is iadRSAceannasach (eochracha clasaiceacha RSA, a úsáidtear le RS256, RS384, RS512) agusEC(cuair éilipseacha, in úsáid le ES256, ES384, ES512).alg(algartam): algartam sínithe a bhfuil an eochair seo aige atá beartaithe. Réimse roghnach ach is minic a líonadh isteach é. Ligeann sé duit eochracha a scagadh go tapa inúsáidte do JWT ar leith.úsáid: úsáid na heochrach.sigdon síniú (cás gnách),encle haghaidh criptithe (annamh, úsáidtear é le JWE).
Cén fáth JWK a thiontú go PEM?
Formhór na leabharlanna cripteagrafacha clasaiceacha (OpenSSL, openssl_verify isteach
PHP, crypto in Node.js, JCA i Java) ag glacadh le heochracha poiblí san fhormáid
PEM (Base64 frámaithe ag ----- BEGIN EOCHAIR PHOIBLÍ -----), ní go díreach
i bhformáid JWK. Tá sé ríthábhachtach mar sin JWK a thiontú go PEM le haghaidh:
- Deimhnigh de láimh síniú JWT ó script nó uirlis líne ordaithe
(
jwt,jose,step crypto). - Iompórtáil an eochair isteach in uirlis dífhabhtaithe mar Fíoraitheoir JWT a bhfuiltear ag súil le heochair PEM ina réimse “eochair phoiblí”.
- Stóráil eochair i dtaisce áitiúil nó i gcomhad cumraíochta i bhfoirm uilíoch agus inléite.
- Déan comparáid tapa idir dhá eochair (éascaíonn formáid PEM difríochtaí amhairc).
Teorainneacha agus rabhaidh
Tacaíonn an uirlis seo le RSA (kty=RSA) agus eochracha poiblí an EC
(kty=EC ar chuair P-256, P-384,
P-521). Cineálacha eile (OKP don Ed25519, deireadh le haghaidh
ní thiontaítear eochracha siméadracha: tuairiscítear iad le teachtaireacht earráide le
ionchur, tá an chuid eile den JWKS inléite fós.
- Déantar an tiontú i dtreo amháin: JWKS go PEM. Tá an ní chlúdaítear leis seo JWK a atógáil ó eochair PEM atá ann cheana leagan.
- Ní mór an JWKS a ghreamú mar atá mar théacs JSON. Aisghabháil
uathoibríoch ó URL
jwks_urinó níl críochphointe OIDC déanta taobh freastalaí, chun glaonna amach gan choinne a sheachaint. - Níl eochracha príobháideacha ceaptha le feiceáil i JWKS poiblí, agus ní bhaintear as an uirlis seo ná comhpháirteanna poiblí fiú má bhí eochair phríobháideach i láthair.
Conas é a úsáid
- Aisghabh JWKS an tarchuradóra is mian leat a iniúchadh. Maidir le soláthraí OIDC,
is gnách go bhfuil an seoladh
https://example.com/.well-known/jwks.jsonnóhttps://example.com/oauth2/jwks. - Cóipeáil an doiciméad JSON ar fad (an réad ina bhfuil an eochair
na heochracha). - Greamaigh sa bhosca ionchuir uirlisí é agus cuir tús leis an anailís.
- I gcás gach eochair JWKS, taispeánann an uirlis a
kid, akty, aalg, aúsáidagus an eochair phoiblí tiontaithe go formáid PEM. - Cliceáil ar "copy" chun an PEM a fháil agus é a úsáid i script fíorúcháin, isteach ár Fíoraitheoir JWT, nó in aon uirlis chomhoiriúnach OscailSSL.
Ceisteanna coitianta
Cá bhfaighidh mé JWKS soláthraí OIDC?
Foilsíonn formhór mór na soláthraithe OpenID Connect doiciméad fionnachtana ar
https://example.com/.well-known/openid-configuration. Tá réimse sa JSON seo
jwks_uri a dhíríonn ar an JWKS iarbhír. Freastalaíonn roinnt soláthraithe go díreach
an JWKS ar https://example.com/.well-known/jwks.json nó ar chríochphointe OAuth2
tiomnaithe. Íoslódáil an t-ábhar agus greamaigh anseo é mar atá.
Cén fáth a bhfuil an kid tábhachtach?
Is é an kid (aitheantas eochrach) an t-aitheantóir a chuireann ceanntásc JWT ina réimse féin
kid chun a chur in iúl cé acu eochair JWKS ba cheart a úsáid don fhíorú. Sin é seo
aitheantóir, bheadh ar an tomhaltóir iarracht a dhéanamh gach eochair de na JWKS, rud a casta an diagnóis trí
cás earráide. Meastar mar sin gur maith an rud é kid in aghaidh na heochrach
praiticiúil, agus foilsíonn gach IDP tromchúiseach ceann.
Cad é an difríocht idir kty=RSA agus kty=EC?
Is é RSA an teaghlach stairiúil sínithe neamhshiméadracha, a úsáidtear le RS256, RS384, RS512. Tá an
cuireann modúl n agus easpónant e síos ar eochracha. CE (éilipseach
Curve) níos déanaí agus tugann sé sínithe níos giorra do leibhéal coibhéiseach slándála.
Déantar cur síos ar eochracha CE ag cuar amháin (crv = P-256, P-384 nó P-521) agus dhá cheann
Comhordanáidí x agus y. Tiontaíonn an uirlis seo an dá theaghlach go PEM.
Conas an PEM a bhaintear a úsáid chun JWT a fhíorú?
Cóipeáil an PEM, ansin é a ghreamú isteach sa réimse "eochair phoiblí" dár
Fíoraitheoir JWT leis an JWT le bailíochtú. Is féidir leat freisin
úsáid é ón líne ordaithe le openssl dgst, ó Node.js le
crypto.verify, ó Python le cryptography nó
PyJWT, ó Java le JCA, etc. Aithnítear formáid PEM go huilíoch.
Tá eochair Ed25519 (OKP) i mo JWKS, cén fáth nach bhfuil sé tiontaithe?
Teastaíonn loighic chun eochracha OKP (Ed25519, Ed448, X25519, X448) a thiontú
sonrach agus ionchódú DER difriúil ó ionchódú eochracha RSA agus CE. Ní dhéanann an leagan seo den uirlis
ní thacaíonn ach RSA agus EC. Tuairiscítear eochracha neamhbhainistithe
ina n-aonar le teachtaireacht earráide, gan bac a chur ar anailís ar iontrálacha eile JWKS.
An féidir linn an JWKS a fháil ó URL seachas é a ghreamú?
Níl sa leagan seo. Ní dhéanann an uirlis aon ghlaonna HTTP amach chun fanacht go tapa agus a sheachaint
chun gníomhú mar seachfhreastalaí neamhbheartaithe. Íoslódáil an JWKS ó do bhrabhsálaí nó le
curl https://example.com/.well-known/jwks.json ansin greamaigh an t-ábhar isteach sa réimse
iontráil.
Sampla iarratais
curl -X POST https://cdrn.fr/api/v1/tools/jwks-inspector/execute \
-H "Content-Type: application/json" \
-d '{"jwks":"..."}'
Scéimre ionchuir
| Réimse | Cineál | Riachtanach | Réamhshocrú |
|---|---|---|---|
jwks |
text | ✓ | – |
Críochphointí
GET https://cdrn.fr/api/v1/tools- liostaíonn na huirlisí go léir atá ar fáilGET https://cdrn.fr/api/v1/tools/jwks-inspector- faigh scéimre na huirlise seoPOST https://cdrn.fr/api/v1/tools/jwks-inspector/execute- rith an uirlis seo le pálasta JSON