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:
- .pfxdosyası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!