WebCrypto ile tarayıcınızda bir RSA veya EC anahtar çifti oluşturun ve açık ile özel anahtarları PEM veya JWK olarak dışa aktarın. Anahtarlar cihazınızdan asla çıkmaz.
Anahtarlar tarayıcınızda yerel olarak oluşturulur — özel anahtar asla yüklenmez.
— çıktı burada görünür —
— çıktı burada görünür —
Bu araç hakkında
RSA / EC Anahtar Çifti Oluşturucu, yerel WebCrypto API'sini (crypto.subtle.generateKey) kullanarak tamamen tarayıcınızda asimetrik bir anahtar çifti oluşturur, ardından onu gerçekten yapılandırma dosyalarına ve koda yapıştırdığınız biçimlerde dışa aktarır. Bir sunucuya hiçbir şey iletilmez veya saklanmaz: özel anahtar cihazınızda oluşturulur, bir kez gösterilir ve sayfadan ayrıldığınızda atılır. Bu, SSH'ye yakın araçlar, JWT imzalama, TLS denemeleri için anahtar üretmenin ya da açık anahtar biçimlerinin birbirine nasıl uyduğunu öğrenmenin güvenli bir yoludur.
RSA için standart açık üs 65537 ile 2048, 3072 veya 4096 bit modül uzunluğunu ve anahtarın imzalama (RSASSA-PKCS1-v1_5, SHA-256) mı yoksa şifreleme (RSA-OAEP, SHA-256) için mi olduğunu seçersiniz. Eliptik eğri anahtarları için bir NIST eğrisi seçersiniz — P-256, P-384 veya P-521 — ve imzalama (ECDSA) için mi yoksa anahtar anlaşması (ECDH) için mi olduğunu. Daha büyük RSA modülleri ve daha yüksek eğriler daha güçlüdür ancak oluşturması daha yavaştır; özellikle RSA-4096 tarayıcıda birkaç saniye sürebilir.
Dışa aktarma WebCrypto'nun exportKey'iyle yapılır: açık anahtar SubjectPublicKeyInfo (SPKI) olarak ve özel anahtar PKCS#8 olarak, base64 kodlu ve -----BEGIN PUBLIC KEY----- / -----BEGIN PRIVATE KEY----- çerçeveleri içinde satır başına 64 karakterle sarılır. Bunun yerine JSON Web Key gösterimini almak için biçim düğmesini JWK'ye çevirin. Oluşturma yerel ve çevrimdışı olduğundan, özel anahtar asla yüklenmez — sekmeyi kapatmadan önce güvenli bir yere kopyalayın çünkü daha sonra kurtarılamaz.
Sık sorulan sorular
Özel anahtarlar bir sunucuya gönderiliyor mu?
Hayır. Anahtarlar tarayıcınızın WebCrypto motoru tarafından yerel olarak oluşturulur ve sayfada dışa aktarılır. Özel anahtar cihazınızdan asla çıkmaz ve hiçbir yerde saklanmaz, bu yüzden sekmeyi kapatmadan önce güvenli bir yere kopyalayın — daha sonra kurtarılamaz.
Hangi anahtar boyutunu veya eğriyi seçmeliyim?
RSA-2048 yaygın temeldir; 3072 veya 4096, daha yavaş oluşturma ve daha büyük anahtarlar pahasına daha fazla marj verir. EC için P-256 hızlı ve yaygın desteklenir, P-384 ve P-521 ise daha yüksek güvenlik seviyeleri sunar. EC anahtarları, karşılaştırılabilir güç için RSA'dan çok daha küçüktür.
PEM ile JWK çıktısı arasındaki fark nedir?
PEM, çoğu sunucunun ve OpenSSL'in beklediği BEGIN/END satırlarına sarılmış base64 DER biçimidir — açık anahtar için SPKI ve özel anahtar için PKCS#8. JWK, JavaScript ve JOSE/JWT kütüphaneleri tarafından kullanılan JSON Web Key nesnesidir. İkisi de aynı anahtar çiftini tanımlar.
İmzalamaya karşı şifreleme — ne değişir?
Anahtarın oluşturulduğu algoritmayı seçer. RSA imzalama RSASSA-PKCS1-v1_5 kullanır ve şifreleme RSA-OAEP kullanır; EC imzalama ECDSA kullanır ve anahtar anlaşması ECDH kullanır. Bir amaç için oluşturulan bir anahtar o algoritmaya bağlıdır, bu yüzden onu nasıl kullanacağınıza göre seçin.