Ücretsiz Çevrimiçi RSA Anahtar Çifti Oluşturucu
Çevrimiçi RSA anahtar çifti oluşturun — özel anahtar tarayıcınızdan çıkmaz. RSA 2048/4096, ECDSA ve Ed25519, PKCS#8 veya PKCS#1 PEM, JWK ve parmak izi.
PKCS#8 (BEGIN PRIVATE KEY) modern varsayılandır ve JDK'nın beklediği biçimdir. PKCS#1 (BEGIN RSA PRIVATE KEY), OpenSSL'in geleneksel biçimidir ve bazı gateway'ler hâlâ bunu ister. Değiştirmek aynı anahtarı yeniden kodlar.
Bunu gizli tutun. Eline geçen herkes sizin yerinize geçebilir.
Aynı türden bir anahtar çiftini OpenSSL ile üretin
Ekibimiz PKCS#8'den PKCS#1'e dönüşümü Node'un crypto modülünün referans çıktısına karşı bayt bayt doğrular; böylece burada dışa aktarılan bir anahtar, OpenSSL'in aynı malzeme için üreteceğiyle özdeştir.
RSA Anahtar Oluşturucu Nedir?
Bir RSA anahtar oluşturucu, matematiksel olarak birbirine bağlı bir çift üretir: sizde kalan bir özel anahtar ve dağıttığınız bir açık anahtar. Özel yarıyla imzalanan her şey açık yarıyla doğrulanabilir ve yayımlanması güvenli olan yalnızca açık yarıdır. Bütün mesele bu asimetridir — doğrulayan tarafın, taklit etme gücünü kazanmadan imzalarınızı denetlemesini sağlayan şey odur; paylaşılan bir gizli anahtar bunu hiçbir zaman sunamaz.
Bu oluşturucu, Web Crypto API üzerinden tarayıcınızın içinde çalışır; özel anahtar sekmede oluşturulur ve sayfa üretim sırasında hiçbir ağ isteği yapmaz. RSA'nın yanı sıra ECDSA ve Ed25519 çiftleri de üretir; bunlar aynı işi çok daha kısa anahtarlarla görür: bir Ed25519 özel anahtarı PKCS#8'de 48 bayttır, 2048 bitlik bir RSA anahtarı ise 1,2 KB'ı aşar.
İnsanları takılmaya düşüren şey matematik değil, paketlemedir. Aynı anahtar PKCS#8, PKCS#1, SPKI veya JWK olarak yazılabilir ve birini reddeden bir kütüphane, çoğu zaman bir ayrıştırma hatasından daha açık bir mesaj vermeden diğerini kabul eder. Aşağıdaki tablo her kabı, onu bekleyen ekosistemlerle eşleştirir.
// Verify a downloaded key pair matches, using OpenSSL: openssl pkey -in rsa-2048-private.pem -pubout | diff - rsa-2048-public.pem // No output means the public key really belongs to that private key.
Temel Özellikler
Tarayıcınızda Üretilir
Anahtarlar kendi sekmenizdeki Web Crypto API'den gelir ve sayfa üretim sırasında hiçbir ağ isteği yapmaz. Bağlantınızı kapatın; çalışmaya devam eder, bu da aracın işini görmek için bir sunucuya ihtiyaç duymadığını gösterir.
RSA, ECDSA ve Ed25519
RSA 2048, 3072 ve 4096; P-256, P-384 ve P-521 üzerinde ECDSA; ve Ed25519 — hepsi tek sayfadan, aynı dışa aktarma seçenekleriyle.
PKCS#8 ve PKCS#1 Çıktısı
OpenSSL'e dokunmadan BEGIN PRIVATE KEY ile geleneksel BEGIN RSA PRIVATE KEY düzeni arasında geçiş yapın. Düğme ekrandaki anahtarı yeniden kodlar, dolayısıyla anahtar aynı kalır.
JWK Dışa Aktarma
İki yarı da JSON Web Key olarak sunulur. Bir JWKS belgesine ya da bir JOSE doğrulayıcısına giren şey açık JWK'dır; özel JWK yalnızca sizin imzalayıcınıza aittir ve asla yayımlanmamalıdır.
SHA-256 Parmak İzi
Her çift, açık anahtarının parmak iziyle birlikte gelir; böylece iki tarafın aynı anahtarı taşıdığını ayrı bir kanaldan doğrulayabilirsiniz.
Eşleşen OpenSSL Komutları
Aynı türden bir anahtarı yerelde üretmenin eşdeğer komutları çıktının altında gösterilir; böylece istediğiniz anda komut satırına geçebilirsiniz.
Anlamlı Adlarla İndirme
Dosyalar, sonradan değiştirmeniz gereken genel bir indirme adı yerine rsa-2048-private.pem ve rsa-2048-public.pem olarak kaydedilir.
Hesap Yok, Kota Yok
Devrede hiçbir sunucu olmadığı için kaydolacağınız bir yer ve tüketeceğiniz bir kota yoktur.
İşlenmiş Örnekler
Tam haliyle bir Ed25519 çifti
Algoritma: Ed25519
-----BEGIN PRIVATE KEY----- MC4CAQAwBQYDK2VwBCIEIA2HJVU1qChbOJN8XksXVhyD0IjYVt0UU6Mwz814rOFf -----END PRIVATE KEY----- -----BEGIN PUBLIC KEY----- MCowBQYDK2VwAyEAV5uB7UaPJrtncx3SXNtNzn1ZXjF1ApwvzBZ8nFzT5eU= -----END PUBLIC KEY-----
Bir Ed25519 özel anahtarı PKCS#8'de 48 bayt, açık anahtar ise 44 bayttır; bu yüzden her PEM tek satır base64 içerir. Bu, atılmak üzere hazırlanmış bir gösterim çiftidir — kopyalamak yerine kendinizinkini üretin.
PKCS#8 ve PKCS#1 başlıkları farklıdır
Algoritma: RSA 2048, yapı değiştirildi
PKCS#8: -----BEGIN PRIVATE KEY----- PKCS#1: -----BEGIN RSA PRIVATE KEY-----
Aynı anahtar, iki farklı sarmalayıcı. PKCS#8, RSA yapısının etrafına bir algoritma tanımlayıcısı ekler; her algoritma için çalışmasının nedeni budur, PKCS#1 ise yalnızca RSA için vardır. Düğmeyi çevirmek ekrandaki anahtarı yeniden kodlar, dolayısıyla parmak izi değişmez.
RSA 2048 açık anahtarı
Algoritma: RSA 2048
-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtuvUHLjyK9zje2aaNIni eSccN1uleXFRBb1g2TN6bk/fbpPCGDyh71m73oB9Bk8+fKVkSThXyWTtpgblB7pX iQBtTvSWVZGHprkLgMGkU2Yw8Z43m1WpoRuYyXNFe92S5viIdVuKTj/VEUuEpzHd ffWMIUw70LaUdTP04iQdkNVeS3M6VHkpTwsPSQfsFSwObtLVNy2Lf+ODwJRqCk2r C749hgKqBdJqkcIj49R7UP4SMQ/9V3yy8DFMrIcgsjC4tHwlQSCGeXNxTNlapGSa ke55LUR83FASryVJRbUs678SCZSFkyGcT0qLZ/olu/e7Jj2lB0Qy/SJawkrs9hPE 4QIDAQAB -----END PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A öneki rsaEncryption algoritma tanımlayıcısıdır; bir SPKI RSA anahtarını ilk bakışta böyle tanırsınız.
Açık anahtarın JWK hali
Algoritma: Ed25519, JWK paneli
{
"key_ops": [
"verify"
],
"ext": true,
"alg": "Ed25519",
"crv": "Ed25519",
"x": "V5uB7UaPJrtncx3SXNtNzn1ZXjF1ApwvzBZ8nFzT5eU",
"kty": "OKP"
} Bu, Web Crypto'nun her zaman eklediği key_ops ve ext üyeleri dahil, dışa aktarmanın birebir kendisidir. Bir JWKS girdisi bunları istemez — ikisini de silin ve yerine kid ile use ekleyin ki doğrulayıcılar rotasyon sırasında doğru anahtarı seçebilsin. Ed25519, OKP anahtar türüne düşer; RSA anahtarları ise n ve e üyeleriyle kty RSA olarak görünür.
SHA-256 parmak izi
Algoritma: Ed25519
SHA256(SPKI) = KAXVxapxpG4zLsTVMpPafovT+X1NLWc8fsOXqtrb59o=
Açık anahtar yapısının SHA-256 özeti; telefonda okunabilecek kadar kısadır. Dikkat: bu, ssh-keygen'in yazdırdığı değer değildir — OpenSSH kendi aktarım biçiminin özetini alır, bu yüzden aynı anahtar için ikisi asla örtüşmez.
RSA Anahtar Oluşturucu Nasıl Kullanılır
- 1
Algoritmayı seçin
RSA, eski sistemlerin en geniş yelpazesini kapsar. ECDSA, çok daha küçük anahtarlarla eşdeğer güç sunar. Ed25519 ise yeni imzalama işleri için modern varsayılandır.
- 2
Anahtar boyutunu belirleyin
RSA 2048 güncel rehberliği karşılar; 3072 ve 4096, uzun ömürlü anahtarlar için pay ekler. ECDSA P-256, P-384 ve P-521 sunar. Ed25519'un tek ve sabit bir boyutu vardır.
- 3
PEM yapısını seçin
PKCS#8, BEGIN PRIVATE KEY üretir ve JDK dahil neredeyse her yerde çalışır. PKCS#1'e yalnızca bir şey özellikle BEGIN RSA PRIVATE KEY istediğinde geçin.
- 4
İki yarıyı da kopyalayın veya indirin
Özel anahtar secret deponuza gider. Açık anahtar, imzalarınızı doğrulayan tarafa gider. Özel yarıyı hiçbir yere göndermeyin.
- 5
Parmak izini doğrulayın
Karşı tarafın gerçekten burada ürettiğiniz açık anahtarı kurduğunu teyit etmek için SHA-256 parmak izini ayrı bir kanaldan karşılaştırın.
Yaygın Anahtar Biçimi Hataları
Özel anahtarın yerine açık anahtarı yapıştırmak
İmzalama, özel yarıyı ister. Özel anahtar beklerken BEGIN PUBLIC KEY verilen bir kütüphane, gerçek sorunu adlandırmak yerine genellikle işe yaramaz bir ayrıştırma hatası bildirir.
-----BEGIN PUBLIC KEY-----
-----BEGIN PRIVATE KEY-----
Kütüphane için yanlış PEM yapısı
Yalnızca birkaç ekosistem sadece geleneksel RSA düzenini okur — OpenSSL'in kendi -traditional çıktısı, bazı ödeme gateway'i SDK'ları, eski Ruby ve Perl araçları. Modern kütüphanelerin çoğu, özellikle de JDK, PKCS#8 bekler. Bir dönüştürme komutu aramak yerine PEM yapısı düğmesini çevirin.
-----BEGIN RSA PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
Sondaki satır sonunu kaybetmek
PEM dosyaları son sınırlayıcıdan sonra bir satır sonuyla biter. Boşlukları kırpan bir form alanından kopyalamak, bazı ayrıştırıcıların doğrudan reddettiği bir dosya üretir — ve eksik karakter görünmez olduğu için dosya editörde doğru görünür.
-----END PRIVATE KEY-----[EOF]
-----END PRIVATE KEY-----↵[EOF]
Yolda kaybolan bir karakter
Bir PEM'i bozan şey satır genişliği değil, kaybolan, eklenen ya da değişen bir karakterdir — ayrıştırıcıların çoğu her türlü kaydırmayı kabul eder. Bir sohbet istemcisinden veya form alanından yapılan kopyalama, bir satır sonunu sessizce boşluğa çevirebilir ve base64 hangi karakterin bozulduğuna dair ipucu vermez; anahtar yalnızca yüklenmez. Elle seçmek yerine kopyalama düğmesini kullanın.
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtuvUHLjyK9zje2aaNIni eSccN1uleXFRBb1g2TN6bk
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtuvUHLjyK9zje2aaNIni eSccN1uleXFRBb1g2TN6bk
RS256 yapılandırılmışken HS256 gizli anahtarı kullanmak
HS256 tek bir paylaşılan gizli anahtar alır; RS256 bir anahtar çifti alır. Bir RS256 imzalayıcısına rastgele bir dize vermek ayrıştırma adımında başarısız olur. Çifti buradan üretin ya da kastettiğiniz HS256 ise JWT Gizli Anahtar Oluşturucu'muzu kullanın.
alg: RS256, key: 8f3a9c2e1b7d
alg: RS256, key: -----BEGIN PRIVATE KEY-----
authorized_keys içine bir PEM yapıştırmak
Bir SSH açık anahtarı, OpenSSH'in tek satırlık ssh-ed25519 AAAA… biçimidir, bir PEM bloğu değil; bu yüzden bu sayfadaki açık anahtarı authorized_keys içine yapıştırmak işe yaramaz. Bir RSA anahtarı için doğru satırı yerelde ssh-keygen -y ile türetebilirsiniz; genel olarak SSH erişimi içinse anahtarı hedef makinede üretmek yine de daha iyidir.
-----BEGIN PUBLIC KEY-----
ssh-keygen -y -f rsa-2048-private.pem > id_rsa.pub
Bu Aracı Kimler Kullanır
- RS256 veya EdDSA ile JWT İmzalama
- Asimetrik JWT algoritmaları paylaşılan bir gizli anahtar yerine bir anahtar çifti ister. Özel anahtarla imzalayın, açık anahtarı yayımlayın; doğrulayıcıların elinde token üretmeye yarayacak hiçbir şey kalmaz. JWT Oluşturucu'muz bu sayfanın ürettiği anahtarları kabul eder.
- Webhook ve Sürüm İmzalama
- Açık anahtarı bir kez yayımlayın, her payload'ı özel anahtarla imzalayın; tüketiciler sızabilecek ortak bir kimlik bilgisi olmadan özgünlüğü doğrulasın.
- Yerel Geliştirme ve Testler
- İmza doğrulamasını sınayan test paketleri tek kullanımlık bir anahtar çiftine ihtiyaç duyar. Burada bir tane üretmek, OpenSSL çağrısını hatırlamaktan hızlıdır.
- Bir Anahtar Çiftinin Neye Benzediğini Öğrenme
- Algoritmalar ve PEM yapıları arasında yan yana geçiş yapmak, farkları bir spesifikasyonu okumanın sağlamadığı biçimde somutlaştırır.
- JWKS Uç Noktası Hazırlama
- Açık JWK, bir OpenID Connect discovery belgesindeki keys dizisine doğrudan düşer. Doğrulayıcıların rotasyon sırasında seçebilmesi için bir kid ekleyin ve özel JWK'yı o dosyanın dışında tutun.
- RSA'dan Modern Eğrilere Geçiş
- Ed25519 karşılığını RSA aslının yanında üretin ve değişikliğe karar vermeden önce boyutları karşılaştırın.
- Biçim Uyuşmazlığını Giderme
- Bir kütüphane anahtarı bir ayrıştırma hatasıyla reddettiğinde, onu diğer PEM yapısında yeniden vermek genellikle çözümün tamamıdır.
PEM Biçimleri ve Oluşturucu Nasıl Çalışır
- Hangi Kap Nereye Gider
- Tek anahtar, beş paket. Yanlışını seçmek bir anahtarın reddedilmesinin en yaygın nedenidir ve hata mesajı nadiren bir ayrıştırma hatasından daha açıklayıcı olur.
Elinizde hâlihazırda bulunan dosyaları dönüştürmek içinKap PEM başlığı İçerdiği Nerede karşılaşırsınız PKCS#8 BEGIN PRIVATE KEY Her algoritma Web Crypto, JDK, Go, .NET — modern kütüphanelerin çoğu PKCS#1 BEGIN RSA PRIVATE KEY Yalnızca RSA OpenSSL geleneksel çıktısı, bazı ödeme gateway'leri, eski Ruby ve Perl araçları SPKI / X.509 BEGIN PUBLIC KEY Her algoritma, açık yarı Neredeyse her kütüphanenin beklediği açık anahtar PKCS#1 açık BEGIN RSA PUBLIC KEY Yalnızca RSA, açık yarı Eski RSA araçları JWK yok — kendisi JSON Her algoritma JWKS uç noktaları, OIDC discovery, JOSE kütüphaneleri openssl pkcs8 -topk8 -nocrypt -in pkcs1.pem -out pkcs8.pembir yöne,openssl rsa -traditional -in pkcs8.pem -out pkcs1.pemise diğer yöne gider. - Rastgelelik İşletim Sisteminden Gelir
- Web Crypto, anahtar üretimini platformun entropi kaynağından besler — Linux'ta getrandom, Windows ve macOS'ta sistemin CSPRNG'i. OpenSSL'in de yararlandığı kaynakla aynı sınıftandır; bir JavaScript sözde rastgele üreticisi değil.
- Üretim Sayfayı Dondurmaz
- crypto.subtle.generateKey asenkrondur ve başlıca tarayıcı motorlarında asal sayı arayışı ana iş parçacığının dışında yürür; bu yüzden 4096 bitlik bir modül aranırken arayüz yanıt vermeye devam eder. Sayfa yine de bir gösterge gösterir, çünkü bu arayışın ne kadar süreceği şansa bağlıdır.
- PKCS#8, PKCS#1'i Sarar
- Bir PKCS#8 PrivateKeyInfo; bir sürüm numarası, bir algoritma tanımlayıcısı ve bir OCTET STRING'tir. Şifrelenmemiş bir rsaEncryption anahtarı için bu OCTET STRING, eksiksiz bir PKCS#1 RSAPrivateKey içerir; sayfanın hiçbir şeyi yeniden türetmeden ikisi arasında dönüşüm yapması tam olarak bu sayededir.
- Açık Anahtarlar SubjectPublicKeyInfo Kullanır
- BEGIN PUBLIC KEY, bir X.509 SubjectPublicKeyInfo'dur: bir algoritma tanımlayıcısı artı bir BIT STRING. O bitlerin içinde ne durduğu algoritmaya bağlıdır — RSA'da bir PKCS#1 RSAPublicKey'dir, BEGIN RSA PUBLIC KEY'in daha kısa olmasının nedeni budur; ECDSA'da sıkıştırılmamış eğri noktası, Ed25519'da ise ham 32 baytlık anahtardır.
- Açık Üs 65537'dir
- Buradaki her RSA anahtarı 0x010001 olarak yazılan e = 65537 değerini kullanır. Küçük üs saldırılarından kaçınacak kadar büyüktür ve yalnızca iki biti settir; bu yüzden doğrulama 16 kare alma ile tek bir çarpmaya mal olur.
- Parmak İzleri PEM'i Değil DER'i Özetler
- SHA-256 parmak izi, ikili SubjectPublicKeyInfo yapısı üzerinden alınır. Bunun yerine base64 metnini özetlemek, satır kaydırma her değiştiğinde sonucu da değiştirirdi. Yereldeki karşılığı
openssl pkey -in private.pem -pubout -outform DER | openssl dgst -sha256 -binary | openssl base64komutudur.
Anahtar Yönetimi En İyi Uygulamaları
- Anahtarları Kullanılacakları Yerde Üretin
- Bir ağ üzerinden geçen özel anahtar, yol boyundaki her durağa açılmış demektir. Tarayıcıda üretmek anahtarın kendisini ağın dışında tutar, gerçi sayfanın kodu hâlâ ağ üzerinden gelir; hedef makinede üretmek kopyalama adımını bile ortadan kaldırır. Üretim sistemlerini koruyan bir anahtar için makineyi tercih edin.
- Bir Şey RSA Zorunlu Kılmadıkça Ed25519'u Tercih Edin
- Ed25519, 32 baytlık bir anahtarda güçlü güvenlik sunar; hızlı imzalar ve yanlış seçilebilecek bir parametresi yoktur. Bir karşı taraf veya eski bir kütüphane size seçenek bırakmadığında RSA'ya uzanın.
- 2048 Biti Taban Kabul Edin
- NIST SP 800-131A, 2013'ten beri imza üretimi için 2048 bitin altındaki RSA'yı kullanım dışı sayar ve hiçbir kamuya açık sertifika otoritesi daha küçük bir anahtara sertifika vermez. Yıllarca hizmette kalması beklenen anahtarlar için 3072 veya 4096 seçin.
- Özel Anahtarı Asla Depoya İşlemeyin
- Özel anahtarları bir secret yöneticisine veya çalışma anında yüklenen bir ortam değişkenine koyun. Bir anahtar bir kez depoya girdiğinde, tek güvenli karşılık onu rotasyona sokmaktır.
- Yalnızca Olaydan Sonra Değil, Takvime Göre Rotasyona Sokun
- Eskileri emekliye ayırmadan önce yeni açık anahtarları bir anahtar kimliğiyle yayımlayın ki doğrulayıcılar örtüşme boyunca ikisini de kabul edebilsin. Rutin olarak uygulanan rotasyon, baskı altında da işleyen rotasyondur.
Sık Sorulan Sorular
Bir web sitesinde özel anahtar üretmek güvenli mi?
PKCS#8 ile PKCS#1 arasındaki fark nedir?
Bir PKCS#1 anahtarını PKCS#8'e ya da tersine nasıl çeviririm?
Bir RSA özel anahtarından açık anahtarı nasıl elde ederim?
RSA mı Ed25519 mü seçmeliyim?
2048 bitlik RSA hâlâ yeterince güçlü mü?
Bu anahtarlarla JWT imzalayabilir miyim?
Bu araç SSH anahtarı üretebilir mi?
Özel anahtarı bir parola ile koruyabilir miyim?
Parmak izi ne işe yarar?
İlgili Araçlar
Tüm araçları görüntüleyin →AES Şifre Çözme Aracı — OpenSSL ve CryptoJS Uyumlu
Güvenlik Araçları
AES şifreli metnini online çözün — GCM/CBC/CTR, parola veya ham anahtar, OpenSSL ve CryptoJS "U2FsdGVkX1" biçimini otomatik algılar. %100 tarayıcıda, anahtarlar sayfadan asla çıkmaz.
AES Şifreleme Aracı — GCM, CBC ve CTR
Güvenlik Araçları
Ücretsiz online AES şifreleme — AES-128/192/256, GCM/CBC/CTR, parola (PBKDF2) veya ham anahtar. %100 tarayıcınızda çalışır; hiçbir şey yüklenmez.
Bcrypt Karma Oluşturucu ve Doğrulayıcı
Güvenlik Araçları
bcrypt şifre karmalarını çevrimiçi oluşturun ve doğrulayın — ayarlanabilir maliyet, $2b$/$2a$/$2y$ önekleri. %100 tarayıcınızda; şifreniz asla yüklenmez.
HMAC Üretici ve İmza Doğrulayıcı
Güvenlik Araçları
Ücretsiz online HMAC üretici ve doğrulayıcı. Metin, Hex veya Base64 anahtarlarla ve Hex/Base64/Base64URL çıktısıyla HMAC-SHA256/SHA1/SHA384/SHA512 hesaplayın. %100 tarayıcınızda — anahtarlar sayfadan asla çıkmaz.
JWT Çözücü
Güvenlik Araçları
Ücretsiz JWT çözücümüzle JWT token'larını online çözün. header, payload, signature, son kullanma, algoritma ve claim'leri anında inceleyin. %100 tarayıcıda çalışır — token'ınız cihazınızdan ayrılmaz. Kayıt yok, izleme yok.
JWT Oluşturucu ve Kodlayıcı
Güvenlik Araçları
Ücretsiz online JWT oluşturucu ve kodlayıcı. header ve payload'ı oluşturun, HS256, RS256 ya da ES256 ile anında imzalayın. %100 tarayıcıda çalışır — gizli anahtarınız ve özel anahtarınız cihazınızdan ayrılmaz.