Elliptikusgörbe-kulcsgenerátor
Generáljon kulcspárt a P-256, P-384 vagy P-521 elliptikus görbéhez ES256, ES384 vagy ES512 aláírásokhoz, ECDH-hoz és TLS tanúsítványokhoz. Az eredmény titkosítatlan PKCS #8 PEM formátumú privát kulcsot, SPKI PEM formátumú nyilvános kulcsot, egy OpenSSH ecdsa-sha2 nyilvánoskulcs-sort a SHA-256 ujjlenyomattal, valamint az RFC 7638 szerinti JWK-ujjlenyomatot tartalmazza. Minden pár újonnan, a Node crypto moduljával jön létre, és soha nem kerül tárolásra.
Gyakran ismételt kérdések
Melyik görbét válasszam?
A P-256 (más néven prime256v1 vagy secp256r1) a legszélesebb körben támogatott görbe, és körülbelül 128 bites biztonságot nyújt. A P-384 körülbelül 192 bites biztonságot nyújt, és egyes kormányzati profilok, például a CNSA, ezt írják elő. A P-521 a legnagyobb NIST-görbe, és ritkábban támogatott, ezért csak akkor válassza, ha egy rendszer kéri.
Melyik JWT algoritmus tartozik az egyes görbékhez?
A P-256 kulcsok ES256-tal, a P-384 kulcsok ES384-gyel, a P-521 kulcsok pedig ES512-vel írnak alá. A JOSE minden algoritmust pontosan egy görbéhez rendel, ezért az JWT generátor elutasítja a nem megfelelő görbéhez tartozó kulcsot. Az eredmény megadja a kulcsához illő algoritmust.
Milyen formátumokat kapok?
A privát kulcs PEM-kódolású PKCS #8 (BEGIN PRIVATE KEY), a nyilvános kulcs pedig a névvel ellátott görbéhez tartozó, PEM-kódolású SubjectPublicKeyInfo (BEGIN PUBLIC KEY). Emellett megkapja az ecdsa-sha2-nistp256, nistp384 vagy nistp521 sort is, amelyet az OpenSSH az authorized_keys fájlban vár.
Hogyan állíthatom elő a SEC1 formátumot (BEGIN EC PRIVATE KEY)?
Egyes eszközök még a régebbi SEC1-kódolást igénylik. OpenSSL 3 használatakor futtassa az openssl pkey -in key.pem -traditional -out key-ec.pem vagy az openssl ec -in key.pem -out key-ec.pem parancsot. Maga a kulcs nem változik.
Létrehozhatok ezzel a kulccsal tanúsítvány-aláírási kérelmet?
Igen. Mentse a privát PEM-kulcsot, majd futtassa az openssl req -new -key key.pem -subj "/CN=example.com" -out request.csr parancsot, ezután pedig ellenőrizze a kérelmet a CSR Decoderrel. A hitelesítésszolgáltatók elfogadják a P-256 és P-384 kulcsokat TLS tanúsítványokhoz.
Miért kisebbek az EC-kulcsok az RSA-kulcsoknál?
Az elliptikusgörbe-kriptográfia sokkal rövidebb kulcsokkal nyújt azonos biztonságot, ezért egy P-256 kulcs nagyjából egy 3072 bites RSA-kulcsnak felel meg. Az aláírások rövidebbek, az aláíráskészítés pedig gyorsabb. A P-256 nyilvános kulcsa 65 bájtba fér bele.
Jelszó védi a privát kulcsot?
Nem, titkosítatlanul kapja meg, így más eszközök közvetlenül be tudják olvasni. Tároláshoz titkosítsa az openssl pkey -in key.pem -aes256 -out key-encrypted.pem paranccsal. Soha ne véglegesítsen titkosítatlan privát kulcsot egy adattárban.
Mire használható a JWK-ujjlenyomat?
Az RFC 7638 szerinti ujjlenyomat a kulcs crv, kty, x és y tagjainak base64url SHA-256 hashértéke. Stabil azonosítót ad a kulcshoz, amely nem függ a PEM- vagy JWK-formázástól, és jól használható kid értékként JWT fejlécekben és JWKS-dokumentumokban.
Tárolásra kerül a kulcspár?
Nem. A pár a kéréshez, memóriában jön létre, egyszer kerül visszaadásra, és soha nem naplózzuk vagy mentjük el. Az oldal elhagyása előtt másolja le mindkét kulcsot, mert később nem jeleníthetők meg újra.
Mit módosít a megjegyzés mező?
Csak egy címkét fűz az OpenSSH nyilvánoskulcs-sorának végére, például user@laptop, hogy könnyen felismerje a kulcsot az authorized_keys fájlban. Az ujjlenyomat és a kulcs adatai változatlanok maradnak. A megjegyzés legfeljebb 200 karakter hosszú lehet.