วิธีแก้ปัญหา Certificate not trusted บนเครื่อง Local สำหรับผู้พัฒนา ASP.NET Core in .NET 6.0 ขึ้นไป

สำหรับนักพัฒนาเว็บแอปพลิเคชัน ที่มีหลาย Projects หรือ มีการรันแอปพลิเคชัน ผ่าน Kestrel web server ใน ASP.NET Core หากรันเว็บแล้ว มี error เกี่ยวกับ Certificate not trusted. หรือ No server certificate was specified. ไม่สามารถทดสอบเว็บแอปพลิเคชันได้ ให้ตรวจสอบ Certificate ภายในเครื่อง Windows ของผู้พัฒนาก่อน

ขั้นตอน ดังนี้

1. ไปที่ช่องค้นหาของ Windows พิมพ์คำสั่ง certmgr เพื่อเปิดหน้าต่าง Manage computer certificates

2. ไปที่โฟลเดอร์
– Current User >> Personal >> Certificates และ
– Current User >> Trusted root certification authorities >> Certificates
ตรวจสอบจะพบว่ามี Certificates ที่มีชื่อ Issued To “localhost” ปรากฏหลายรายการ

3. ลบ Certificates ที่มีชื่อ Issued To “localhost” ออกทั้งหมด
โดยการคลิกขวา >> เลือก delete

Note: ยกเว้น localhost ที่ออกโดย “IIS Express localhost certificate” คงเหลือไว้ตามภาพ

4. จากนั้นรันคำสั่ง .NET CLI ผ่าน Package Manager Console ของ Project ที่กำลังทดสอบ ด้วยคำสั่ง

dotnet dev-certs https --clean

และ

dotnet dev-certs https --trust

5. จากนั้นปิดเบราว์เซอร์ที่รันเว็บทั้งหมด หรือ ปิด Visual Studio แล้วเปิด Project

เพื่อทดสอบรันเว็บแอปพลิเคชันใหม่อีกครั้ง จะสามารถรันเว็บแอปพลิเคชันได้แล้ว 🙂

ผู้เขียน

Amornrat Uamanasakul
ฝ่ายระบบสารสนเทศ
สำนักคอมพิวเตอร์
amornratu@g.swu.ac.th