Skip to content

Ü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.

Takip Yok Tarayıcıda Çalışır Ücretsiz
Anahtar çiftleri tarayıcınızın içinde Web Crypto API ile üretilir ve üretim sırasında hiçbir ağ isteği yapılmaz. Bağlantıyı kesin, bu sayfa yine çalışır.

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.

Açık anahtar parmak izi — SPKI DER'inin SHA-256'sı
JWK (JSON Web Key)
Özel JWK — bunu asla yayımlamayın
 
Açık JWK
 

Aynı türden bir anahtar çiftini OpenSSL ile üretin

RFC 5958/5208 (PKCS#8), RFC 8017 (PKCS#1), RFC 8410 (Ed25519) ve RFC 7468 PEM kodlaması doğruluğu ile RSA, ECDSA ve Ed25519 genelinde Web Crypto API davranışı açısından incelendi. — Go Tools Güvenlik Araçları Ekibi · Aug 10, 2026

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. 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. 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. 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. 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. 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.

✗ Yanlış
-----BEGIN PUBLIC KEY-----
✓ Doğru
-----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.

✗ Yanlış
-----BEGIN RSA PRIVATE KEY-----
✓ Doğru
-----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.

✗ Yanlış
-----END PRIVATE KEY-----[EOF]
✓ Doğru
-----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.

✗ Yanlış
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtuvUHLjyK9zje2aaNIni eSccN1uleXFRBb1g2TN6bk
✓ Doğru
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.

✗ Yanlış
alg: RS256, key: 8f3a9c2e1b7d
✓ Doğru
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.

✗ Yanlış
-----BEGIN PUBLIC KEY-----
✓ Doğru
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.
KapPEM başlığıİçerdiğiNerede karşılaşırsınız
PKCS#8BEGIN PRIVATE KEYHer algoritmaWeb Crypto, JDK, Go, .NET — modern kütüphanelerin çoğu
PKCS#1BEGIN RSA PRIVATE KEYYalnızca RSAOpenSSL geleneksel çıktısı, bazı ödeme gateway'leri, eski Ruby ve Perl araçları
SPKI / X.509BEGIN PUBLIC KEYHer algoritma, açık yarıNeredeyse her kütüphanenin beklediği açık anahtar
PKCS#1 açıkBEGIN RSA PUBLIC KEYYalnızca RSA, açık yarıEski RSA araçları
JWKyok — kendisi JSONHer algoritmaJWKS uç noktaları, OIDC discovery, JOSE kütüphaneleri
Elinizde hâlihazırda bulunan dosyaları dönüştürmek için openssl pkcs8 -topk8 -nocrypt -in pkcs1.pem -out pkcs8.pem bir yöne, openssl rsa -traditional -in pkcs8.pem -out pkcs1.pem ise 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 base64 komutudur.

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?
Anahtar, kendi tarayıcınızdaki Web Crypto API tarafından üretilir ve bu sayfa üretim sırasında hiçbir ağ isteği yapmaz — Ağ panelini izleyebilir ya da bağlantıyı kesip üretimin yine çalıştığını görebilirsiniz. Bunun neyi gösterip neyi göstermediği konusunda net olalım: sayfanın bir sunucuya ihtiyaç duymadığını kanıtlar, ama ele geçirilmiş bir betiğe karşı kanıt değildir, çünkü JavaScript her ziyarette sunucumuzdan yeniden çekilir. Geriye kalan riskler ağın değil tarayıcının riskleridir — kötü niyetli bir eklenti sayfayı ve panonuzu okuyabilir, makineye erişimi olan herkes indirilen dosyayı okuyabilir. Üretim sistemlerini koruyan bir anahtarı, onu kullanacak makinede üretin; aşağıdaki OpenSSL komutları tam olarak bunu yapar. Bu sayfa; geliştirme, test, öğrenme ve tarayıcıda üretilmiş bir anahtarın kabul edilebilir olduğu her yer için doğru araçtır.
PKCS#8 ile PKCS#1 arasındaki fark nedir?
Bunlar aynı RSA anahtarı için iki kaptır. BEGIN RSA PRIVATE KEY ile işaretlenen PKCS#1, RSA sayılarını doğrudan tutar ve yalnızca RSA için vardır. BEGIN PRIVATE KEY ile işaretlenen PKCS#8 ise aynı sayıları bir algoritma tanımlayıcısıyla sarar; böylece tek bir biçim RSA, ECDSA ve Ed25519'u birlikte taşıyabilir. Modern kütüphanelerin çoğu PKCS#8 bekler — özellikle JDK, ek bir kütüphane olmadan yalnızca PKCS#8 okur — buna karşılık bir dizi ödeme gateway'i ve OpenSSL döneminden kalma eski araçlar hâlâ PKCS#1 ister. Bu sayfadaki düğmeyi çevirmek ekrandaki anahtarı yeniden kodlar; hiçbir bilgi eklenmez veya kaybolmaz ve parmak izi aynı kalır.
Bir PKCS#1 anahtarını PKCS#8'e ya da tersine nasıl çeviririm?
Bu sayfadaki PEM yapısı düğmesini çevirin; aynı anahtar diğer kapta yeniden verilir. Elinizde zaten bulunan bir dosya içinse dönüşümü OpenSSL yerelde yapar: openssl pkcs8 -topk8 -nocrypt -in pkcs1.pem -out pkcs8.pem bir BEGIN RSA PRIVATE KEY dosyasını BEGIN PRIVATE KEY'e çevirir, openssl rsa -traditional -in pkcs8.pem -out pkcs1.pem ise ters yöne gider. İki yön de anahtar malzemesine bir şey eklemez ya da ondan bir şey çıkarmaz; yalnızca sarmalayıcı değişir — iki dosyanın da aynı anahtarı tarif etmesinin ve aynı parmak izini vermesinin nedeni budur.
Bir RSA özel anahtarından açık anahtarı nasıl elde ederim?
Açık anahtar özel anahtardan türetilebilir, tersi asla mümkün değildir. Bu sayfa iki yarıyı da aynı anda gösterdiği için türetilecek bir şey yoktur. Diskinizde zaten duran bir özel anahtar için openssl pkey -in private.pem -pubout -out public.pem komutu eşleşen BEGIN PUBLIC KEY dosyasını yazar. Bir çiftin birbirine ait olup olmadığını da böyle denetlersiniz — açık yarıyı yeniden üretin ve size verilen dosyayla karşılaştırın.
RSA mı Ed25519 mü seçmeliyim?
Hiçbir şey elinizi bağlamıyorsa Ed25519'u seçin. 32 baytlık bir anahtarla RSA 3072'ye denk güvenliğe ulaşır, daha hızlı imzalar ve yanlış yapılandırılabilecek bir parametresi yoktur. Bir karşı taraf, bir sertifika otoritesi veya eski bir kütüphane zorunlu kıldığında RSA'yı seçin; kurumsal ve ödeme sistemlerinde bu hâlâ yaygındır. ECDSA ikisinin arasında durur ve TLS'te geniş destek görür.
2048 bitlik RSA hâlâ yeterince güçlü mü?
Bugün çoğu amaç için evet. NIST, 2048 bitlik RSA'yı 112 bit güvenlik gücünde sayar ve SP 800-57'de 2030'a kadar taşır; 3072 bit 128 bit güce ulaşır ve NIST'in ötesi için işaret ettiği düzey budur. Yani: birkaç yıl içinde rotasyona sokacağınız her şey için 2048; 2030'larda hâlâ hizmette olmasını beklediğiniz ya da bir sertifika otoritesinin şart koştuğu bir anahtar için 3072 veya 4096. Daha büyük anahtarın bedeli daha yavaş imzalama ve daha büyük imzalardır, daha zayıf güvenlik değil.
Bu anahtarlarla JWT imzalayabilir miyim?
Evet. RSA anahtarları RS256, RS384 ve RS512 ile ve ayrıca PSS varyantlarıyla çalışır; ECDSA P-256, ES256 ile eşleşir; Ed25519 ise EdDSA algoritmasıdır. Özel anahtarla imzalayın ve açık anahtarı yayımlayın ki doğrulayıcılar imzaları üretemeden denetleyebilsin. PEM yerine JWK panelini kullanacaksanız tek bir uyarı: Web Crypto bir RSA JWK'sını alg RS256 ile damgalar ve katı kütüphaneler onu PS256 veya RS512 için yüklemeyi reddeder — alg üyesini silin ya da PEM'i kullanın. JWT Oluşturucu'muz bu anahtarları kabul eder, JWT Çözücü ise ortaya çıkan token'ın ne içerdiğini gösterir.
Bu araç SSH anahtarı üretebilir mi?
Doğrudan hayır. OpenSSH'in kendi özel anahtar dosyası farklı bir kaptır ve bu sayfa onu yazmaz. Buradan alınan bir RSA anahtarı yine de kullanılabilir: ssh-keygen -y -f rsa-2048-private.pem > id_rsa.pub, indirdiğiniz dosyadan authorized_keys satırını türetir. Buradan alınan Ed25519 anahtarları ise kullanılamaz, çünkü OpenSSH PKCS#8 biçimini reddeder. SSH erişimi için daha iyi yanıt, anahtara ihtiyaç duyan makinede ssh-keygen -t ed25519 çalıştırmaktır; böylece özel anahtar hiç taşınmaz. JWT imzalama, CI'da sürüm imzalama ve webhook doğrulama içinse bu sayfanın ürettiği PKCS#8 anahtarı, o araçların tam olarak istediği şeydir.
Özel anahtarı bir parola ile koruyabilir miyim?
Burada hayır. Şifreli PKCS#8, Web Crypto API'nin sunmadığı bir anahtar türetme adımı gerektirir; bunu uygulamak JavaScript'te elle kriptografi yazmak anlamına gelirdi. Parolayı yerelde ekleyin: openssl pkcs8 -topk8 -in private.pem -out encrypted.pem komutu indirdiğiniz dosyayı okur ve bir parola ister.
Parmak izi ne işe yarar?
Açık anahtar yapısının SHA-256 özetidir; sesli olarak veya bir sohbet mesajında karşılaştırılabilecek kadar kısadır. Birine açık anahtar gönderdiğinizde, parmak izlerini ayrı bir kanaldan karşılaştırmak, ulaşanın gönderdiğiniz şey olduğunu doğrular. Yalnızca açık anahtarı tanımlar ve özel yarı hakkında hiçbir şey açık etmez. Dikkat: bu, ssh-keygen -l komutunun yazdırdığı sayı değildir — OpenSSH, SPKI yapısının değil kendi aktarım biçiminin özetini alır, bu yüzden aynı anahtar için ikisi asla örtüşmez.

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.