Testnizer
Güvenlik araç kutusu

Bir itiraf: production JWT'nizi kaç kez bir web sitesine yapıştırdınız?

Hepimiz yaptık — sertifikaya bakmak için ayrı program kurmak, keytool sözdizimini yine aramak ve keystore parolasını bir yerlere not etmek de dâhil. Hiçbiri dikkatsizlik değil. Araçlar başka yerde olduğunda olan şey bu.

Testnizer onları isteğin zaten durduğu yere koyuyor. İmzalama, çözme ve anahtar üretimi sizin makinenizde, uygulamanın kendi süreci içinde yapılıyor.

Keystore Studio

keytool ve openssl için, sözdizimini ezberlemek zorunda olmadığınız bir arayüz.

JKS ve PKCS#12 keystore'ları komut satırı olmadan açın, oluşturun, düzenleyin, dönüştürün ve dışa aktarın; X.509 sertifikalarını okuyun. Anahtar çifti ve gizli anahtar üretin, PEM/DER/PFX materyali içe aktarın, bir anahtarın sertifikasıyla eşleşip eşleşmediğini kontrol edin, depo ve giriş parolalarını değiştirin.

  • JKS ⇄ PKCS#12 dönüşümü — yolculuktan sağ çıkamayacak olan, onaylamadan önce adıyla söylenir
  • Sertifika ayrıntıları: subject, issuer, SAN'lar, anahtar kullanımı, geçerlilik, parmak izleri
  • Anahtar çifti ve gizli anahtar üretimi; uzantılar tahmin edilmez, açıkça yazılır
  • Kaydedilen keystore sonra mTLS, WS-Security, JWT/JOSE ve SAML için anahtar sağlayabilir

JWT / JOSE

Token'ınızı hiç görmeyen bir JWT debugger.

Çözün, imzalayın, doğrulayın, şifreleyin ve deşifre edin. HS256/384/512, RS, PS ve ES aileleri; şifreli token'lar için JWE. Yapıştırılan bir anahtarla, bir keystore girişiyle ya da bir JWKS uç noktasıyla doğrulayın. Header ve claim'ler düzenlenebilir, imza siz yazdıkça yeniden hesaplanır.

  • İmzalama ve doğrulama — yalnızca decode değil
  • Seçtiğiniz anahtar yönetimi / içerik şifreleme çiftiyle JWE şifreleme ve çözme
  • Canlı JWKS ile doğrulama; algoritma allowlist'i elinizdeki token'a sabitlenir
  • Betiklerin içinde de var: pm.jose.sign / verify, Send ve Runner'da birebir aynı

JWK / JWKS

PEM girer, JWK çıkar — gerektiğinde de bir JWKS uç noktası.

PEM'i JWK'ya ve geri çevirin, doğrudan JWK olarak anahtar üretin, RFC 7638 parmak izlerini hesaplayın ve bir anahtar seti kurun. Dahili mock sunucu bu seti JWKS uç noktası olarak yayınlayabilir; böylece bir kimlik akışı tek makinede uçtan uca test edilir.

  • RSA ve EC anahtarları için PEM ⇄ JWK
  • RFC 7638 parmak izleri
  • JWKS oluşturup yerel mock sunucudan yayınlama
  • Yalnızca-public dışa aktarım — özel anahtar yanlışlıkla verilmez

SAML 2.0

Üretin, imzalayın ve genelde atlanan kısmı yapın: doğrulayın.

AuthnRequest ya da imzalı assertion üretin, PEM veya keystore girişiyle XML-DSig imzalayın ve geleni doğrulayın. Doğrulayıcı, imzanın gerçekte hangi elemanı kapsadığını kanıtlar; imzalı görünüp aslında imzalı olmayan bir doküman gerekçesiyle reddedilir.

  • İmza sarmalama reddedilir — doğrulayıcı hangi elemanın kapsandığını bildirir
  • HMAC algoritma karışıklığı, SHA-1 ve XXE gerekçesi söylenerek reddedilir
  • Bearer koşul pencereleri, saat kayması dâhil kontrol edilir
  • Redirect ve POST binding'leri, her birinin gerektirdiği kodlamayla

WS-Security

SOAP imzalama ve şifreleme, onu gönderen isteğin yanında.

SOAP zarflarını X.509 token'larıyla imzalayın ve şifreleyin, hangi elemanların kapsanacağını seçin, imzalı bir yanıtı doğrulayın. Sonuç bir metin editöründen kopyalanmak yerine doğrudan üzerinde çalıştığınız SOAP isteğine aktarılabilir.

  • Timestamp, UsernameToken ve BinarySecurityToken
  • Eleman düzeyinde imzalama ve şifreleme
  • İmzalı zarfı doğrulayın ve imzanın neyi kapsadığını görün
  • Anahtarlar bir PEM dosyasından ya da keystore girişinden gelir

TLS Inspector

Canlı bir uç noktanın gerçekte ne sunduğu: zincir, protokol, şifre takımları.

Bir host gösterin ve sunduğu sertifika zincirini okuyun: subject ve issuer, SAN'lar, geçerlilik, imza algoritmaları, anlaşılan protokol sürümü ve cipher, ALPN. El sıkışma başarısız olduğunda ve hata mesajı sebebini söylemediğinde işe yarar.

  • Leaf, ara sertifikalar ve eksik olanla birlikte tam zincir
  • Süre dolması ve hostname uyuşmazlığı açıkça belirtilir
  • Gerektiğinde SNI host'tan bağımsız ayarlanır
  • Sunulan bir sertifika güvenilir olarak keystore'a kaydedilebilir

"Kablo çekiliyken çalışır" iddiasının istisnası bu: canlı bir uç noktayı incelemek ona bağlanmak demektir. Yine de hiçbir şey yüklemez — sunucunun sunduğunu okur.

Parola, OTP ve QR

Bir web sitesi açtığınız küçük işler.

Gerçek entropi okumasıyla parola ve parola ifadesi üretin, TOTP/HOTP gizli anahtarlarını yerel bir kasada tutup güncel kodu okuyun, QR üretin ya da okuyun — otpauth:// dâhil, böylece bir test hesabını kaydetmek için telefona gerek kalmaz.

  • Dürüst bir güç tahminiyle parola ve parola ifadesi üretimi
  • Yerel olarak saklanan TOTP / HOTP kasası
  • QR üretimi ve okuma, otpauth:// dâhil
  • Aynı panelde hash, HMAC, kodlayıcılar ve daha fazlası

Bunları neden yaptık

Var olmadıkları için değil.

Buradaki araçların her biri zaten bir yerde var. Sorun tam olarak bu. Her biri ya bir web sitesinde, ya ayrı bir programda, ya da sözdizimini her seferinde aradığınız bir komutta yaşıyor — yani birini kullanmak, üzerinde çalıştığınız isteği bırakmak ve çoğu zaman bir şeyi denetiminizde olmayan bir sayfaya yapıştırmak demek.

Bankacılıkta, kamuda, sigortada ve sağlıkta bu alışkanlığın denetim raporunda bir adı var. Kimse kötü niyetli olduğu için değil; bir tarayıcı sekmesindeki production token, sonunda bir şey olsun ya da olmasın, bir ifşadır.

Yani amaç hiçbir zaman daha iyi bir JWT çözücü yapmak değildi. Başka yere gitme sebebini ortadan kaldırmaktı. Araçlar onlara ihtiyaç duyan isteğin yanında duruyor, özel anahtar uygulama çekirdeğinde kalıp baktığınız pencereye hiç ulaşmıyor ve işlenmek üzere hiçbir yere yüklenmiyor.

Ağ kablosunu çekin; bu sayfadaki her araç çalışmaya devam eder — uzaktaki bir uç noktayla konuşmak için var olan TLS inceleyici hariç. İddianın tamamı bu ve test edilmek için yazıldı.