pfx-chain-tool
PFX Zincir Aracı
SRE/DevOps ekiplerinin wildcard TLS .pfx / .p12 dosyalarını, Kubernetes Secret data alanına konacak üç sertifikalık CRT ve şifresiz PKCS#8 KEY Base64 değerlerine dönüştürmesi için tarayıcıdan kullanılan bir web uygulamasıdır.
Uygulama adı: PFX Zincir Aracı.
Ne işe yarar?
- PFX/P12 dosyasını şifresiyle (veya boş şifre alanındaki sabit aday listesiyle) açar.
- Özel anahtarla eşleşen sunucu sertifikasını bulur, imza doğrulayarak zinciri sıralar.
- Yönetilen CA deposuna göre OpenSSL
verifyile yolu doğrular. - Başarılı çıktıda tam üç benzersiz X.509 sertifikası üretir; aksi halde dışa aktarma alanlarını açmaz.
- CRT ve KEY için satır kaydırmasız Base64 ve indirilebilir PEM sağlar.
Bu üç blok kuralı bir kurumsal çıktı politikasıdır. TLS’in her durumda üç sertifika gerektirdiği anlamına gelmez; iki sertifikalık bir sunum genel olarak geçerli olabilir.
Sentetik örnek
Doğru bir CRT PEM’i çözüldüğünde tam üç blok görünür:
-----BEGIN CERTIFICATE-----
... sunucu / alan adı sertifikası ...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
... ara CA ...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
... kök CA veya ikinci ara CA ...
-----END CERTIFICATE-----
İkinci ara CA senaryosunda yönetilen depodaki kök CRT dosyasına yazılmaz; arayüzde “CRT dışındaki güven kökü” olarak gösterilir.
Hızlı başlangıç (macOS)
Ön koşullar: Python 3.12+, uv, Node.js 22+, OpenSSL 3 CLI.
# 1) Depo kökünde, backend bağımlılıkları
cd backend
uv sync --group dev
# 2) Yönetilen güven deposu (örnek; kendi köklerinizi koyun)
mkdir -p ../tmp
# CA_BUNDLE_PATH için PEM kökleri içeren bir dosya hazırlayın
# 3) API (ayrı terminal, backend dizininde)
CA_BUNDLE_PATH=/absolute/path/to/ca-bundle.pem uv run uvicorn app.main:app --reload --port 8080
# 4) Arayüz (ayrı terminal, frontend dizininde)
cd ../frontend
npm ci
npm run dev
Tarayıcı: http://127.0.0.1:5173 (Vite, /api isteklerini 8080’e vekiller).
Docker / Linux GHCR: docs/deployment.md (doğrulanmış komut: port 10000, MAX_CERTIFICATES=512, sistem CA bundle).
Dokümantasyon
| Belge | Konu |
|---|---|
| docs/architecture.md | Modüller, veri akışı, üç sertifika politikası |
| docs/development.md | Mac kurulumu, lint, test |
| docs/usage.md | PFX yükleme, kopyalama, indirme, infra-secret |
| docs/deployment.md | Docker, GHCR, Linux Compose, HTTPS |
| docs/security.md | Sırlar, Base64, güven deposu, yapılmayan kontroller |
| docs/troubleshooting.md | Şifre, legacy PFX, eksik CA, pano, platform |
Bilinçli sınırlar
- İlk sürüm tek özel anahtar bekler; birden fazla anahtarlı PFX desteklenmez.
- AIA CA Issuers üzerinden ara/kök sertifika indirme vardır; OCSP/CRL yapılmaz. AIA’dan gelen kök çapa sayılmaz.
- Canlı TLS sunumu veya tarayıcı kök deposu doğrulanmaz.
- Yeni kullanıcı hesabı sistemi yoktur; erişim reverse proxy / VPN katmanındadır.
Lisans ve referanslar
Uygulama, PyCA cryptography PKCS#12, OpenSSL verify ve RFC 8446 Certificate listesi belgelerine dayanır.
cagatayuresin