JWK-konverter
Kulcsok konvertálása PEM és JSON Web Key között. Illesszen be PKCS #8, PKCS #1 vagy SEC1 formátumú PEM privát kulcsot, nyilvános kulcsot vagy tanúsítványt a hozzá tartozó JWK megjelenítéséhez, vagy illesszen be JWK-t vagy legfeljebb 20 kulcsot tartalmazó JWKS-t, hogy visszakapja a PKCS #8 és SPKI PEM formátumot. RSA-, EC- (P-256, P-384, P-521, secp256k1), Ed25519-, Ed448-, X25519- és X448-kulcsokat támogat; mindegyiknél megjelenik a típus és az RFC 7638 ujjlenyomat.
Gyakran ismételt kérdések
Honnan tudja a konverter, milyen irányban végezze az átalakítást?
A { karakterrel kezdődő bemenetet JWK-ként vagy JWKS-ként értelmezi, és PEM-mé alakítja. A -----BEGIN sort tartalmazó bemenetet PEM-ként értelmezi, és JWK-vá alakítja. Minden más bemenetet elutasít, és jelzi az elvárt formátumokat.
Milyen PEM-bemenetek fogadhatók el?
Titkosítatlan privát kulcsok PKCS #8 (BEGIN PRIVATE KEY), PKCS #1 (BEGIN RSA PRIVATE KEY) és SEC1 (BEGIN EC PRIVATE KEY) formátumban; nyilvános kulcsok SPKI (BEGIN PUBLIC KEY) vagy PKCS #1 (BEGIN RSA PUBLIC KEY) formátumban; valamint X.509 tanúsítványok, amelyekből a nyilvános kulcs konvertálódik. Ha több PEM-blokkot illeszt be, az első privát kulcs az irányadó; ennek hiányában az első nyilvános kulcs vagy tanúsítvány.
Mit kapok privát kulcs esetén?
A privát PEM-kulcsból létrejön a privát JWK minden mezőjével, például RSA esetén a d, p, q, dp, dq és qi mezőkkel, valamint a hozzá tartozó nyilvános JWK. Csak a nyilvános JWK-t ossza meg, mert a privát kulcs titkos kulcsanyagot tartalmaz.
Átalakíthatok egy teljes JWKS-t?
Igen. Illesszen be egy legfeljebb 20 kulcsot tartalmazó keys tömböt tartalmazó dokumentumot, például egy jwks_uri végpontból, és minden kulcs PEM-mé alakul, indexével és kid értékével együtt. A d mező alapján felismert privát JWK-kból a PKCS #8 privát kulcs és az SPKI nyilvános kulcs is létrejön.
Miért nem alakítható át egy szimmetrikus kulcs?
A kty oct típusú kulcsok egyszerű titkos bájtok HMAC-hez vagy AES-hez, és nincs PEM-megfelelőjük. Használja őket közvetlenül, például a JWT generátorban, amely a kty oct JWK-t HMAC-titokként fogadja el.
Mire való a kid beállítás?
Bekapcsolásakor a kulcs RFC 7638 szerinti ujjlenyomata a létrehozott JWK kid mezőjeként jelenik meg. Így a kulcs stabil azonosítót kap, amelyet az ellenőrzők összevethetnek egy JWT kid fejlécével.
Mi az az RFC 7638 szerinti ujjlenyomat?
A kulcs előírt nyilvános mezőiből, rögzített sorrendben képzett base64url SHA-256 hash. RSA esetén ilyen mező például az e, kty és n, EC esetén pedig a crv, kty, x és y. Ugyanahhoz a kulcshoz mindig ugyanaz az ujjlenyomat tartozik, akár PEM-ként, akár JWK-ként van tárolva.
Támogatottak a titkosított vagy OpenSSH-kulcsok?
Nem. A titkosított PEM-kulcsokról előbb el kell távolítani a jelmondatot, például az openssl pkey -in encrypted.pem -out key.pem paranccsal. Az OpenSSH privát kulcsokat az ssh-keygen segítségével PEM-mé kell alakítani, mielőtt itt beolvashatók lennének.
Milyen kulcstípusok használhatók?
RSA, EC P-256, P-384, P-521 és secp256k1 görbével, valamint az OKP-típusok: Ed25519, Ed448, X25519 és X448. A DSA- és Diffie-Hellman-kulcsoknak nincs JWK-formátumuk, ezért a rendszer magyarázattal elutasítja őket.
Megőrzi a rendszer a privát kulcsomat?
Nem. A kulcs a kérés feldolgozása során a memóriában alakul át, és soha nem naplózzuk vagy mentjük. Online inkább nyilvános kulcsokat konvertáljon, éles környezetben használt privát kulcsokat pedig csak az Ön által felügyelt rendszereken kezeljen.