sql >> Databáze >  >> RDS >> PostgreSQL

Npgsql spojení s ssl certifikáty v .net core web api

Mám pro to řešení a napadlo mě ho sem zveřejnit, což může pomoci ostatním, kteří čelí podobnému problému.

Se soubory .pem to nefungovalo. Převedl jsem jej na soubor .pfx pomocí níže uvedeného příkazu a začalo to fungovat dobře.

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

Reference:Podpora pro ověřování certifikátů

UPRAVIT

Namísto vytvoření fyzického souboru pfx jsem byl schopen zkombinovat dva soubory pem a fungovalo to. Fragment kódu je uveden níže pro budoucí použití.

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. MAMP MySQL nerozpoznává hodnoty my.cnf v OSX

  2. Relace MySQL Workbench nevidí aktualizace databáze

  3. Odeslání dat do databáze po kliknutí na odkaz bez obnovení stránky

  4. Jak ignorovat duplicitní řádky při vkládání