Convertitore JWK
Convertite le chiavi tra PEM e JSON Web Key. Incollate una chiave privata PEM in formato PKCS #8, PKCS #1 o SEC1, una chiave pubblica o un certificato per ottenere il relativo JWK, oppure incollate un JWK o un JWKS con un massimo di 20 chiavi per ottenere le chiavi PEM PKCS #8 e SPKI. Sono supportate le chiavi RSA, EC (P-256, P-384, P-521, secp256k1), Ed25519, Ed448, X25519 e X448, ciascuna mostrata con il proprio tipo e l'impronta RFC 7638.
Domande frequenti
Come fa il convertitore a capire in quale direzione convertire?
L'input che inizia con { viene interpretato come JWK o JWKS e convertito in PEM. L'input che contiene una riga -----BEGIN viene interpretato come PEM e convertito in JWK. Qualsiasi altro formato viene rifiutato con un suggerimento sui formati previsti.
Quali input PEM sono accettati?
Chiavi private non cifrate in formato PKCS #8 (BEGIN PRIVATE KEY), PKCS #1 (BEGIN RSA PRIVATE KEY) e SEC1 (BEGIN EC PRIVATE KEY); chiavi pubbliche in formato SPKI (BEGIN PUBLIC KEY) o PKCS #1 (BEGIN RSA PUBLIC KEY); e certificati X.509, di cui viene convertita la chiave pubblica. Se incollate più blocchi PEM, viene usata la prima chiave privata; in sua assenza, la prima chiave pubblica o il primo certificato.
Cosa ottengo per una chiave privata?
Una chiave PEM privata genera il JWK privato con tutti i relativi membri, come d, p, q, dp, dq e qi per RSA, oltre al JWK pubblico corrispondente. Condividete solo il JWK pubblico, perché quello privato contiene il materiale segreto della chiave.
Posso convertire un JWKS intero?
Sì. Incollate un documento con un array keys contenente fino a 20 chiavi, ad esempio proveniente da un endpoint jwks_uri: ogni chiave viene convertita in PEM con il relativo indice e kid. I JWK privati, riconosciuti dal membro d, restituiscono sia la chiave privata PKCS #8 sia la chiave pubblica SPKI.
Perché non è possibile convertire una chiave simmetrica?
Le chiavi con kty oct sono semplici byte segreti per HMAC o AES e non hanno una rappresentazione PEM. Usatele direttamente, ad esempio nel generatore JWT, che accetta un JWK oct come segreto HMAC.
A cosa serve l'opzione kid?
Quando è attiva, l'impronta RFC 7638 della chiave viene aggiunta come membro kid del JWK generato. In questo modo la chiave ha un identificatore stabile che i verificatori possono confrontare con l'intestazione kid di un JWT.
Cos'è l'impronta RFC 7638?
È un hash SHA-256 base64url calcolato sui membri pubblici obbligatori della chiave in un ordine fisso, ad esempio e, kty e n per RSA oppure crv, kty, x e y per EC. La stessa chiave ha sempre la stessa impronta, sia che venga salvata in formato PEM sia in formato JWK.
Sono supportate le chiavi cifrate o OpenSSH?
No. Prima è necessario rimuovere la passphrase dalle chiavi PEM cifrate, ad esempio con openssl pkey -in encrypted.pem -out key.pem. Le chiavi private OpenSSH devono essere convertite in PEM con ssh-keygen prima di poter essere lette qui.
Quali tipi di chiavi sono compatibili?
RSA, EC su P-256, P-384, P-521 e secp256k1, oltre ai tipi OKP Ed25519, Ed448, X25519 e X448. Le chiavi DSA e Diffie-Hellman non hanno un formato JWK e vengono rifiutate con una spiegazione.
La mia chiave privata viene conservata?
No. La chiave viene convertita in memoria per questa richiesta e non viene mai registrata né salvata. Preferite convertire online le chiavi pubbliche e gestite le chiavi private di produzione solo su sistemi che controllate.