sql >> Database teknologi >  >> RDS >> PostgreSQL

Npgsql-forbindelse med ssl-certifikater i .net core web-api

Jeg fandt en løsning på dette og tænkte på at poste den her, som kan hjælpe andre, der står over for det samme problem.

Det virkede ikke med .pem-filer. Jeg har konverteret den til en .pfx-fil ved hjælp af nedenstående kommando, og den begyndte at fungere fint.

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

Reference:understøttelse af certifikatgodkendelse

REDIGER

I stedet for at oprette den fysiske pfx-fil, var jeg i stand til at kombinere de to pem-filer og fik det til at virke. Kodestykket er givet nedenfor for nogen til reference i fremtiden.

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. Med henvisning til sessionsvariabler (\set var='value') fra PL/PGSQL

  2. union alle to tabel men diff nummer af kolonne

  3. Hvordan simulerer man UNPIVOT i Access?

  4. Flere tekstværdier i én kolonne, kræver forespørgslen for at finde det mest gentagelige ord