sql >> Databasteknik >  >> RDS >> PostgreSQL

Npgsql-anslutning med ssl-certifikat i .net core webbapi

Jag fick en lösning på detta och tänkte lägga upp den här som kan hjälpa andra som står inför liknande problem.

Det fungerade inte med .pem-filer. Jag har konverterat den till en .pfx-fil med kommandot nedan och det började fungera bra.

openssl pkcs12 -inkey C:\Certs\client-key.pem -in C:\Certs\client-cert.pem -export -out C:\Certs\client-cert.pfx

Referens:Stöd för certifikatautentisering

REDIGERA

Istället för att skapa den fysiska pfx-filen kunde jag kombinera de två pem-filerna och fick det att fungera. Kodavsnittet ges nedan för någon för framtida referens.

public X509Certificate2 GetCombinedCertificateAndKey(string certificatePath, string privateKeyPath)
    {
        using var publicKey = new X509Certificate2(certificatePath);

        var privateKeyText = System.IO.File.ReadAllText(privateKeyPath);
        var privateKeyBlocks = privateKeyText.Split("-", StringSplitOptions.RemoveEmptyEntries);
        var privateKeyBytes = Convert.FromBase64String(privateKeyBlocks[1]);
        using var rsa = RSA.Create();

        if (privateKeyBlocks[0] == "BEGIN PRIVATE KEY")
        {
            rsa.ImportPkcs8PrivateKey(privateKeyBytes, out _);
        }
        else if (privateKeyBlocks[0] == "BEGIN RSA PRIVATE KEY")
        {
            rsa.ImportRSAPrivateKey(privateKeyBytes, out _);
        }

        var keyPair = publicKey.CopyWithPrivateKey(rsa);
        var Certificate = new X509Certificate2(keyPair.Export(X509ContentType.Pfx));
        return Certificate;
    }



  1. Hur hittar (avkodar) PostgreSQL-fråga från Wireshark-fil?

  2. FEL:mer än en ägd sekvens hittades i Postgres

  3. Hur upprätthåller man referensintegritet på enkelbordsarv?

  4. Tre främsta trender som påverkar DBA:er Ansvariga för SQL Server-övervakning