Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengkonfigurasi Sambungan TLS Dengan Betul Menggunakan Sijil Ditandatangani Sendiri?

Bagaimana untuk Mengkonfigurasi Sambungan TLS Dengan Betul Menggunakan Sijil Ditandatangani Sendiri?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-15 19:43:10513semak imbas

How to Properly Configure TLS Connections Using Self-Signed Certificates?

Mewujudkan Sambungan TLS dengan Sijil Ditandatangani Sendiri

Apabila mewujudkan sambungan TLS menggunakan sijil yang ditandatangani sendiri, adalah penting untuk mengkonfigurasi pelanggan dengan betul dan bahagian pelayan untuk mengelakkan ralat berkaitan sijil.

Pelanggan Pertimbangan

Kod pelanggan harus menambahkan sijil pelayan yang ditandatangani sendiri pada kumpulan CAnya. Kumpulan ini mengandungi sijil yang dipercayai oleh pelanggan. Dengan menambahkan sijil pelayan pada kumpulan, pelanggan mempercayainya dengan berkesan.

Ini boleh dicapai menggunakan struktur tls.Config, seperti yang ditunjukkan dalam coretan kod yang disediakan:

CA_Pool := x509.NewCertPool()
serverCert, err := ioutil.ReadFile("./cert.pem")
if err != nil {
    log.Fatal("Could not load server certificate!")
}
CA_Pool.AppendCertsFromPEM(severCert)

config := tls.Config{RootCAs: CA_Pool}

Pertimbangan Pelayan

Untuk sijil yang ditandatangani sendiri, pelayan mesti mempunyai sijil yang sama ditambah seperti CA akarnya sendiri. Ini memastikan pelayan diberi kuasa untuk mengeluarkan sijil kepada dirinya sendiri.

Untuk mencapai ini, gunakan coretan kod berikut:

cert, err := tls.LoadX509KeyPair("./cert.pem", "./key.pem")
config := tls.Config{Certificates: []tls.Certificate{cert}}

Kesilapan Biasa

Kesilapan biasa apabila menjana sijil yang ditandatangani sendiri ialah tidak menetapkan bendera IsCA. Bendera ini menunjukkan bahawa sijil boleh digunakan sebagai CA. Tanpa bendera ini, sijil mungkin gagal untuk mengesahkan tandatangannya sendiri.

Kod yang betul harus mengandungi yang berikut:

x509.CreateCertificate(&opts, &opts, &rootTemplate, rootKey)

Dengan menetapkan bendera IsCA, sijil yang ditandatangani sendiri akan dijana dengan betul dan pelanggan akan dapat mengesahkan rantaian sijil pelayan dengan jayanya.

Atas ialah kandungan terperinci Bagaimana untuk Mengkonfigurasi Sambungan TLS Dengan Betul Menggunakan Sijil Ditandatangani Sendiri?. 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