Към съдържанието

Конвертор на JWK

Преобразувайте ключове между PEM и JSON Web Key. Поставете частен ключ PEM във формат PKCS #8, PKCS #1 или SEC1, публичен ключ или сертификат, за да получите неговия JWK, или поставете JWK или JWKS с до 20 ключа, за да получите обратно PKCS #8 и SPKI PEM. Поддържат се ключове RSA, EC (P-256, P-384, P-521, secp256k1), Ed25519, Ed448, X25519 и X448, като всеки се показва с типа си и RFC 7638 отпечатъка си.

Нулиране

Често задавани въпроси

Как конверторът разбира в коя посока да преобразува?

Входът, който започва с {, се разчита като JWK или JWKS и се преобразува в PEM. Входът, който съдържа ред -----BEGIN, се разчита като PEM и се преобразува в JWK. Всичко останало се отхвърля с подсказка за очакваните формати.

Какви PEM входни данни се приемат?

Нешифровани частни ключове във формат PKCS #8 (BEGIN PRIVATE KEY), PKCS #1 (BEGIN RSA PRIVATE KEY) и SEC1 (BEGIN EC PRIVATE KEY), публични ключове като SPKI (BEGIN PUBLIC KEY) или PKCS #1 (BEGIN RSA PUBLIC KEY), както и сертификати X.509, от които се преобразува публичният ключ. Ако поставите няколко PEM блока, се използва първият частен ключ, а ако няма такъв — първият публичен ключ или сертификат.

Какво получавам за частен ключ?

Частен PEM ключ генерира частния JWK с всички негови членове, като d, p, q, dp, dq и qi за RSA, както и съответстващия му публичен JWK. Споделяйте само публичния JWK, защото частният съдържа секретния материал на ключа.

Мога ли да преобразувам цял JWKS?

Да. Поставете документ с масив keys, съдържащ до 20 ключа, например от крайна точка jwks_uri, и всеки ключ ще бъде преобразуван в PEM с индекса и kid. Частните JWK, разпознавани по члена d, връщат както частния ключ PKCS #8, така и публичния ключ SPKI.

Защо симетричен ключ не може да бъде преобразуван?

Ключовете с kty oct са обикновени секретни байтове за HMAC или AES и нямат PEM представяне. Използвайте ги директно, например в генератора JWT, който приема oct JWK като HMAC секрет.

Какво прави опцията kid?

Когато е включена, RFC 7638 отпечатъкът на ключа се добавя като член kid към генерирания JWK. Така ключът получава постоянен идентификатор, който проверяващите могат да съпоставят със заглавката kid на JWT.

Какво представлява RFC 7638 отпечатъкът?

Това е base64url SHA-256 хеш върху задължителните публични членове на ключа в определен ред, например e, kty и n за RSA или crv, kty, x и y за EC. Един и същ ключ винаги има един и същ отпечатък, независимо дали е съхранен като PEM или JWK.

Поддържат ли се шифровани ключове или ключове OpenSSH?

Не. Първо трябва да премахнете паролата от шифрованите PEM ключове, например с openssl pkey -in encrypted.pem -out key.pem. Частните ключове OpenSSH трябва да бъдат преобразувани в PEM с ssh-keygen, преди да могат да бъдат прочетени тук.

Кои типове ключове работят?

RSA, EC с P-256, P-384, P-521 и secp256k1, както и типовете OKP Ed25519, Ed448, X25519 и X448. Ключовете DSA и Diffie-Hellman нямат JWK формат и се отхвърлят с обяснение.

Запазва ли се частният ми ключ?

Не. Ключът се преобразува в паметта за тази заявка и никога не се регистрира или запазва. Предпочитайте да преобразувате публични ключове онлайн и обработвайте частни ключове за продукционни среди само на системи, които контролирате.

За OneClick Pro

OneClick Pro е безплатна колекция от над 150 уеб инструмента за ежедневна работа: преобразуване на изображения и единици, форматиране и валидиране на код, проверка на домейни и SEO, както и работа с текст, дати и числа. Всеки инструмент работи без регистрация или абонамент, а въведеното от вас се използва само за изчисляване на резултата и никога не се съхранява. Използвайте го като бърз набор от инструменти за еднократни задачи или добавете в отметките инструментите, на които разчитате всеки ден.