Saya juga mengalami masalah ini. Saya telah membaca utas ini dan sebagian besar jawabannya informatif tetapi terlalu rumit bagi saya. Saya tidak berpengalaman dalam topik jaringan jadi jawaban ini untuk orang-orang seperti saya.
Dalam kasus saya, kesalahan ini terjadi karena saya tidak menyertakan sertifikat perantara dan root di sebelah sertifikat yang saya gunakan dalam aplikasi saya.
Inilah yang saya dapatkan dari pemasok sertifikat SSL:
- abc.crt
- abc.pem
- abc-bunde.crt
Dalam abc.crt
file tersebut, hanya ada satu sertifikat:
-----BEGIN CERTIFICATE-----
/*certificate content here*/
-----END CERTIFICATE-----
Jika saya menyediakannya dalam format ini, browser tidak akan menunjukkan kesalahan (Firefox) tetapi saya akan mendapatkan curl: (60) SSL certificate : unable to get local issuer certificate
kesalahan ketika saya melakukan permintaan curl.
Untuk memperbaiki kesalahan ini, periksa abc-bunde.crt
file Anda . Anda kemungkinan besar akan melihat sesuatu seperti ini:
-----BEGIN CERTIFICATE-----
/*additional certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*other certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*different certificate content here*/
-----END CERTIFICATE-----
Ini adalah sertifikat Menengah dan root Anda. Kesalahan terjadi karena tidak ada dalam sertifikat SSL yang Anda berikan ke aplikasi Anda.
Untuk memperbaiki kesalahan, gabungkan konten kedua file ini dalam format ini:
-----BEGIN CERTIFICATE-----
/*certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*additional certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*other certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*different certificate content here*/
-----END CERTIFICATE-----
Perhatikan bahwa tidak ada spasi di antara sertifikat, di akhir atau di awal file. Setelah Anda memberikan sertifikat gabungan ini ke aplikasi Anda, masalah Anda harus diperbaiki.