PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Koneksi Npgsql dengan sertifikat ssl di .net core web api

Saya mendapat solusi untuk ini dan berpikir untuk mempostingnya di sini yang dapat membantu orang lain yang menghadapi masalah serupa.

Itu tidak bekerja dengan file .pem. Saya telah mengonversinya menjadi file .pfx menggunakan perintah di bawah ini dan itu mulai berfungsi dengan baik.

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

Referensi:Dukungan Otentikasi Sertifikat

EDIT

Alih-alih membuat file pfx fisik, saya dapat menggabungkan dua file pem dan membuatnya berfungsi. Cuplikan kode diberikan di bawah ini untuk seseorang sebagai referensi di masa mendatang.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Paket 'pgadmin4' tidak memiliki kandidat instalasi, untuk Ubuntu 20.04

  2. Mencari nomor telepon yang mengandung minus, seperti 123-456789

  3. Ukuran Tabel Partisi di PostgreSQL 9.0

  4. Metode Kesalahan Postgres org.postgresql.jdbc.PgConnection.createClob() tidak diterapkan

  5. Performa buruk pada kueri PostgreSQL