Convertor JWK
Convertiți chei între PEM și JSON Web Key. Lipiți o cheie privată PEM în format PKCS #8, PKCS #1 sau SEC1, o cheie publică ori un certificat pentru a obține JWK-ul aferent sau lipiți un JWK ori un JWKS cu până la 20 de chei pentru a obține înapoi PEM în format PKCS #8 și SPKI. Sunt acceptate chei RSA, EC (P-256, P-384, P-521, secp256k1), Ed25519, Ed448, X25519 și X448, fiecare afișată cu tipul și amprenta RFC 7638.
Întrebări frecvente
Cum stabilește convertorul direcția conversiei?
Datele de intrare care încep cu { sunt interpretate ca JWK sau JWKS și convertite în PEM. Datele care conțin o linie -----BEGIN sunt interpretate ca PEM și convertite în JWK. Orice alt format este respins, cu un indiciu despre formatele așteptate.
Ce intrări PEM sunt acceptate?
Chei private necriptate în format PKCS #8 (BEGIN PRIVATE KEY), PKCS #1 (BEGIN RSA PRIVATE KEY) și SEC1 (BEGIN EC PRIVATE KEY), chei publice în format SPKI (BEGIN PUBLIC KEY) sau PKCS #1 (BEGIN RSA PUBLIC KEY) și certificate X.509, din care este convertită cheia publică. Dacă lipiți mai multe blocuri PEM, este folosită prima cheie privată; în lipsa acesteia, prima cheie publică sau primul certificat.
Ce obțin pentru o cheie privată?
O cheie privată PEM produce JWK-ul privat cu toți membrii săi, precum d, p, q, dp, dq și qi pentru RSA, precum și JWK-ul public corespunzător. Distribuiți doar JWK-ul public, deoarece cel privat conține materialul secret al cheii.
Pot converti un JWKS întreg?
Da. Lipiți un document cu o matrice keys de până la 20 de chei, de exemplu dintr-un endpoint jwks_uri, iar fiecare cheie va fi convertită în PEM cu indexul și kid-ul său. JWK-urile private, identificate prin membrul d, returnează atât cheia privată PKCS #8, cât și cheia publică SPKI.
De ce nu poate fi convertită o cheie simetrică?
Cheile cu kty oct sunt octeți secreți simpli pentru HMAC sau AES și nu au reprezentare PEM. Folosiți-le direct, de exemplu în Generatorul JWT, care acceptă un JWK oct drept secret HMAC.
Ce face opțiunea kid?
Când este activată, amprenta RFC 7638 a cheii este adăugată ca membru kid în JWK-ul generat. Astfel, cheia primește un identificator stabil pe care verificatorii îl pot compara cu antetul kid al unui JWT.
Ce este amprenta RFC 7638?
Este un hash SHA-256 base64url calculat pe baza membrilor publici obligatorii ai cheii, într-o ordine fixă, precum e, kty și n pentru RSA sau crv, kty, x și y pentru EC. Aceeași cheie are întotdeauna aceeași amprentă, fie că este stocată ca PEM, fie ca JWK.
Sunt acceptate cheile criptate sau cheile OpenSSH?
Nu. Mai întâi trebuie eliminată parola de acces a cheilor PEM criptate, de exemplu cu openssl pkey -in encrypted.pem -out key.pem. Cheile private OpenSSH trebuie convertite în PEM cu ssh-keygen înainte de a putea fi citite aici.
Ce tipuri de chei funcționează?
RSA, EC pe P-256, P-384, P-521 și secp256k1, precum și tipurile OKP Ed25519, Ed448, X25519 și X448. Cheile DSA și Diffie-Hellman nu au format JWK și sunt respinse cu o explicație.
Cheia mea privată este păstrată?
Nu. Cheia este convertită în memorie pentru această cerere și nu este niciodată înregistrată sau salvată. Preferabil, convertiți cheile publice online și manipulați cheile private de producție doar pe sisteme pe care le controlați.