Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membetulkan \"x509: sijil bergantung pada medan Nama Biasa warisan\" Ralat Semasa Menyambung ke MongoDB dengan Go?

Bagaimana untuk Membetulkan \"x509: sijil bergantung pada medan Nama Biasa warisan\" Ralat Semasa Menyambung ke MongoDB dengan Go?

Patricia Arquette
Patricia Arquetteasal
2024-10-28 05:51:30817semak imbas

How to Fix

Ralat: Menyambung ke Pelayan dengan Medan Nama Biasa Legasi

Apabila cuba mewujudkan sambungan ke pelayan MongoDB menggunakan Go, anda mungkin menghadapi ralat:

failed to connect: x509: certificate relies on legacy Common Name field, use SANs or temporarily enable Common Name matching with GODEBUG=x509ignoreCN=0

Ralat ini menunjukkan bahawa sijil yang digunakan untuk pengesahan TLS mengandungi medan Common Name (CN) tetapi tidak mempunyai medan Nama Alternatif Subjek (SAN) yang diperlukan. Pelaksanaan TLS Go telah menjadi lebih ketat dalam versi terbaharu dan ia kini mengutamakan SAN berbanding CN untuk pengesahan hos.

Punca Punca:

Punca ralat ini terletak pada salah konfigurasi sijil SSL yang digunakan untuk pengesahan TLS. Sijil harus mempunyai medan SAN DNS yang sepadan dengan nama hos atau alamat IP pelayan MongoDB.

Penyelesaian:

Untuk menyelesaikan ralat ini, anda perlu menjana semula SSL sijil dengan medan SAN DNS. Ini boleh dicapai menggunakan langkah berikut:

  1. Buat CSR (Permintaan Menandatangani Sijil):

    openssl req -new \
        -subj "${SUBJ_PREFIX}/CN=${DNS}/emailAddress=${EMAIL}" \
        -key "${KEY}" \
        -addext "subjectAltName = DNS:${DNS}" \
        -out "${CSR}"
  2. Tandatangan CSR dengan Root CA Anda:

    openssl ca \
        -create_serial \
        -cert "${ROOT_CRT}" \
        -keyfile "${ROOT_KEY}" \
        -days "${CERT_LIFETIME}" \
        -in "${CSR}" \
        -batch \
        -config "${CA_CONF}" \
        -out "${CRT}"
  3. Periksa Sijil Hasil:

    openssl x509 -in server.crt -noout -text

Anda kini sepatutnya mempunyai sijil dengan bahagian SAN seperti:

X509v3 Subject Alternative Name: 
    DNS:myserver.com

Setelah anda menjana semula sijil, anda boleh menggunakannya untuk mewujudkan sambungan selamat ke pelayan MongoDB tanpa menghadapi Ralat Nama Biasa.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan \"x509: sijil bergantung pada medan Nama Biasa warisan\" Ralat Semasa Menyambung ke MongoDB dengan Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn