0

JWK ⇄ PEM Atslēgu Konvertētājs

Konvertējiet kriptogrāfiskās atslēgas starp JWK un PEM formātiem, izmantojot īsto Web Crypto API, dekodējiet algoritmu/līknes/izmēru un aprēķiniet RFC 7638 JWK pirksta nospiedumu.

🔒 Pilnībā apstrādāts jūsu pārlūkprogrammā — nekas, ko jūs šeit ievadāt, nekad netiek augšupielādēts.

Apstrādā... 0%
Atslēgas parsēšana
Formāta konvertēšana
Pirksta nospieduma aprēķināšana
Pabeigts

Rezultāts

JSON Web Keys (JWK) un PEM-kodētas atslēgas parādās savstarpēji aizvietojami JWT bibliotēkās, TLS rīkos un OAuth/OIDC konfigurācijās, taču konvertēšana starp abiem ar rokām nozīmē base64-dekodēt DER struktūras vai pārformatēt JSON — viegli pieļaut nemanāmas kļūdas. Šis rīks veic konvertēšanu ar pārlūkprogrammas īsto Web Crypto API, nevis teksta manipulācijām: ielīmēts PEM bloks tiek importēts ar crypto.subtle.importKey('spki'|'pkcs8', ...) un atkārtoti eksportēts kā JWK ar exportKey('jwk', ...); ielīmēts JWK tiek importēts ar importKey('jwk', ...) un atkārtoti eksportēts kā SPKI vai PKCS8 DER, pēc tam ievietots pareizā PEM galvenē. Tā kā pārlūkprogramma pati validē un dekodē atslēgas materiālu, nepareiza atslēga vai neatbilstoša algoritma izvēle skaļi izgāžas, nevis klusējot rada atkritumus.

Atbalstītie algoritmi ir RSA (RSASSA-PKCS1-v1_5), EC uz P-256/P-384/P-521 līknēm un — ja pārlūkprogramma tos ievieš — Ed25519 un X25519. Pārlūkprogrammu atbalsts Ed25519/X25519 Web Crypto joprojām ir nekonsekvents starp dzinējiem, tāpēc rīks, nevis minot pēc user agent virknes, veic reālu crypto.subtle.generateKey() pārbaudi izvēlētajai līknei un skaidri pasaka, ja tā šeit nav atbalstīta, nevis atgriež safabricētu rezultātu.

Katra konvertēšana arī dekodē atslēgas reālos metadatus: RSA atslēgām moduļa bitu garumu un jaucējalgoritmu tieši no CryptoKey objekta; EC un OKP atslēgām nosaukto līkni; un katrai atslēgai RFC 7638 JWK pirksta nospiedumu — SHA-256 jaucējsummu no JWK nepieciešamajiem locekļiem, serializētiem stingrā leksikogrāfiskā secībā (e/kty/n priekš RSA, crv/kty/x/y priekš EC, crv/kty/x priekš OKP/Ed25519/X25519). Šis pirksta nospiedums ir tas, ko daudzas sistēmas izmanto kā atslēgas "kid" identifikatoru, un locekļu secības kļūda rada pilnīgi citu jaucējsummu, kas ir tieši tāda veida kļūda, kādu rokām rakstīts risinājums ir pakļauts pieļaut.

Tā kā viss darbojas caur crypto.subtle jūsu pārlūkprogrammas cilnē, privātās atslēgas materiāls nekad nepamet jūsu ierīci — konvertēšanas laikā nav iesaistīts neviens serveris, augšupielāde vai ārējs API izsaukums.