ABP Framework ile Paylaşımlı Hosting Ortamında PFX Sertifikası Olmadan OpenIddict Yayınlamak
🎯 Amaç
Bu repo, ABP Framework kullanılarak geliştirilen bir uygulamanın paylaşımlı hosting ortamında .pfx
sertifikasına ihtiyaç duymadan OpenIddict ile token imzalama işlemini nasıl gerçekleştireceğini gösterir.
⚠️ Neden .pfx
Dosyası Sorun Olur?
Paylaşımlı hosting ortamlarında:
.pfx
dosyasını okumak genellikle yasaktır,- Uygulama başlatılamaz veya token üretimi başarısız olur.
✅ Çözüm: Kalıcı RSA Anahtarı ile Sertifikasız Token İmzalama
OpenIddict, .pfx
yerine kalıcı bir RSA özel anahtar dosyasını (PEM) doğrudan kabul eder.
1. RSA Anahtarı Oluştur
openssl genpkey -algorithm RSA -out signing-key.pem -pkeyopt rsa_keygen_bits:2048
Oluşan dosyayı keys/ klasörüne yerleştirin.
2. Anahtarı Yükle (C#)
using System.Security.Cryptography;
public static class RsaKeyLoader
{
public static RSA LoadPrivateKey(string filePath)
{
var keyBytes = File.ReadAllBytes(filePath);
var rsa = RSA.Create();
rsa.ImportFromPem(System.Text.Encoding.UTF8.GetString(keyBytes));
return rsa;
}
}
ImportFromPem() .NET 5+ sürümlerinde desteklenir.
3. OpenIddict’e Entegre Et
MyProjectWebModule dosyasında:
PreConfigure<OpenIddictServerBuilder>(builder =>
{
var rsa = RsaKeyLoader.LoadPrivateKey(Path.Combine("keys", "signing-key.pem"));
builder.AddSigningKey(new RsaSecurityKey(rsa)
{
KeyId = "my-signing-key"
});
});
Güvenlik Tavsiyeleri
keys/signing-key.pem dosyasını .gitignore ile gizleyin:
/keys/*.pem
Üretim ortamında bu dosyayı kimseyle paylaşmayın.
Comments
No one has commented yet, be the first to comment!