# JWK-muunnin

Muunna avaimia PEM- ja JSON Web Key -muodon välillä. Liitä PKCS #8-, PKCS #1- tai SEC1-muotoinen PEM-yksityisavain, julkinen avain tai varmenne saadaksesi siitä JWK:n, tai liitä JWK tai enintään 20 avaimen JWKS saadaksesi PKCS #8- ja SPKI-PEM-muodot. Tuettuja avaintyyppejä ovat RSA, EC (P-256, P-384, P-521, secp256k1), Ed25519, Ed448, X25519 ja X448. Kunkin avaimen tyyppi ja RFC 7638 -sormenjälki näytetään.

## Usein kysytyt kysymykset

### Miten muunnin tietää, kumpaan suuntaan muuntaa?

Syöte, joka alkaa merkillä {, tulkitaan JWK:ksi tai JWKS:ksi ja muunnetaan PEM-muotoon. Syöte, joka sisältää -----BEGIN-rivin, tulkitaan PEM-muotoiseksi ja muunnetaan JWK:ksi. Muut syötteet hylätään, ja niiden yhteydessä kerrotaan odotetut muodot.

### Millaiset PEM-syötteet hyväksytään?

Hyväksytään salaamattomat PKCS #8- (BEGIN PRIVATE KEY), PKCS #1- (BEGIN RSA PRIVATE KEY) ja SEC1-muotoiset (BEGIN EC PRIVATE KEY) yksityisavaimet sekä SPKI- (BEGIN PUBLIC KEY) tai PKCS #1 -muotoiset (BEGIN RSA PUBLIC KEY) julkiset avaimet ja X.509-varmenteet, joista muunnetaan julkinen avain. Jos liität useita PEM-lohkoja, ensimmäinen yksityisavain valitaan. Jos niitä ei ole, valitaan ensimmäinen julkinen avain tai varmenne.

### Mitä yksityisavaimesta saadaan?

Yksityistä PEM-avainta käytettäessä tuloksena on yksityinen JWK kaikkine jäsenineen, kuten RSA-avaimen d, p, q, dp, dq ja qi, sekä sitä vastaava julkinen JWK. Jaa vain julkinen JWK, sillä yksityinen sisältää salaisen avainmateriaalin.

### Voinko muuntaa koko JWKS:n?

Kyllä. Liitä enintään 20 avaimen keys-taulukon sisältävä dokumentti, esimerkiksi jwks_uri-päätepisteestä saatu, niin jokainen avain muunnetaan PEM-muotoon indeksin ja kid-arvon kanssa. Yksityisistä JWK-avaimista, jotka tunnistetaan d-jäsenestä, palautetaan sekä PKCS #8 -yksityisavain että SPKI-julkinen avain.

### Miksi symmetristä avainta ei voi muuntaa?

kty-arvon oct sisältävät avaimet ovat HMAC- tai AES-käyttöön tarkoitettuja tavallisia salaisia tavuja, eikä niillä ole PEM-esitysmuotoa. Käytä niitä suoraan esimerkiksi JWT Generatorissa, joka hyväksyy oct-JWK:n HMAC-salaisuudeksi.

### Mitä kid-valinta tekee?

Kun valinta on käytössä, luotuun JWK:hon lisätään avaimen RFC 7638 -sormenjälki kid-jäsenenä. Näin avain saa pysyvän tunnisteen, jonka varmentajat voivat täsmäyttää JWT-otsakkeen kid-arvoon.

### Mikä on RFC 7638 -sormenjälki?

Se on base64url-muotoinen SHA-256-tiiviste, joka lasketaan avaimen vaadituista julkisista jäsenistä kiinteässä järjestyksessä. Esimerkiksi RSA-avaimella käytetään e-, kty- ja n-jäseniä ja EC-avaimella crv-, kty-, x- ja y-jäseniä. Samalla avaimella on aina sama sormenjälki, olipa se tallennettu PEM- tai JWK-muodossa.

### Tuetaanko salattuja avaimia tai OpenSSH-avaimia?

Ei. Salattujen PEM-avainten salasana on poistettava ensin, esimerkiksi komennolla openssl pkey -in encrypted.pem -out key.pem. OpenSSH-yksityisavaimet on muunnettava PEM-muotoon ssh-keygenillä, ennen kuin ne voidaan lukea täällä.

### Mitkä avaintyypit toimivat?

Tuettuja ovat RSA, EC-käyrät P-256, P-384 ja P-521 sekä secp256k1, ja OKP-tyypit Ed25519, Ed448, X25519 ja X448. DSA- ja Diffie-Hellman-avaimille ei ole JWK-muotoa, joten ne hylätään selityksen kera.

### Säilytetäänkö yksityisavimeni?

Ei. Avain muunnetaan muistissa tätä pyyntöä varten, eikä sitä koskaan kirjata lokiin tai tallenneta. Suosi julkisten avainten muuntamista verkossa ja käsittele tuotantoympäristön yksityisavaimia vain hallitsemillasi järjestelmillä.

Mainospaikka vapaana?

[Lähetä meille sähköpostia](mailto:hi@dennn.is?subject=Mainostaminen%20palvelussa%20OneClick%20Pro)

[Mainos Agenteille valmis lisäosa­sarja tuotteelle WordPress.](https://sleekwp.com/?ref=oneclickpro)
