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
Lepaskan: 2024-12-15 19:43:10
asal
509 orang telah melayarinya

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}
Salin selepas log masuk

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}}
Salin selepas log masuk

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)
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan