Tidak Dapat Mengonfigurasi Titik Akhir HTTPS: Solusi untuk Kesalahan Sertifikat
Gambaran Umum Error
Pesan kesalahan “Unable to configure HTTPS endpoint. No server certificate was specified, and the default developer certificate could not be found” muncul ketika Anda mencoba menjalankan aplikasi ASP.NET Core dengan HTTPS, tetapi tidak ada sertifikat server yang ditentukan. Ini sering terjadi saat sertifikat pengembang default tidak tersedia atau tidak valid. Dalam artikel ini, kita akan membahas penyebab umum dari kesalahan ini dan beberapa metode untuk menyelesaikannya.
Penyebab Umum
Ada beberapa alasan mengapa Anda mungkin mengalami kesalahan ini:
1. Sertifikat Developer Tidak Ada: Sertifikat HTTPS yang digunakan untuk pengembangan tidak terinstal atau telah dihapus.
2. Sertifikat Kadaluarsa: Sertifikat yang ada mungkin telah kadaluarsa dan tidak lagi dapat digunakan.
3. Konfigurasi yang Salah: Pengaturan di dalam file konfigurasi aplikasi mungkin tidak mengarah ke sertifikat yang benar.
4. Masalah dengan Kestrel: Jika Anda menggunakan Kestrel sebagai server web, pengaturan untuk sertifikat mungkin tidak benar.
Metode Solusi
Berikut adalah beberapa metode untuk memperbaiki kesalahan ini:
Metode 1: Menghasilkan Sertifikat Baru
Jika sertifikat pengembang tidak ada atau telah kadaluarsa, Anda dapat menghasilkan sertifikat baru dengan menggunakan OpenSSL. Berikut adalah langkah-langkahnya:
- Buat file konfigurasi bernama
asp_config.confdengan konten berikut:
“`ini
[ req ]
default_bits = 2048
distinguished_name = dn
req_extensions = aspnet
[ dn ]
CN = localhost
[ aspnet ]
basicConstraints = critical, CA:FALSE
keyUsage = critical, digitalSignature, keyEncipherment
extendedKeyUsage = critical, serverAuth
subjectAltName = critical, DNS:localhost
“`
-
Jalankan perintah berikut untuk menghasilkan kunci dan CSR:
bash
openssl req -new -config asp_config.conf -keyout local_asp_dev.key -out local_asp_dev.csr -nodes -
Kemudian, buat sertifikat dengan perintah:
bash
openssl x509 -req -in local_asp_dev.csr -CA /path/to/CA.pem -CAkey /path/to/CA.key -CAcreateserial -out local_asp_dev.crt -days 365 -sha256 -extensions aspnet -extfile asp_config.conf -
Konversikan sertifikat menjadi format PFX:
bash
openssl pkcs12 -in local_asp_dev.crt -inkey local_asp_dev.key -export -out local_asp_dev.pfx -
Pindahkan sertifikat ke direktori yang tepat:
bash
mv local_asp_dev.pfx ~/.dotnet/corefx/cryptography/x509stores/my/
Metode 2: Menghapus Sertifikat yang Ada
Jika Anda memiliki banyak sertifikat yang tidak diperlukan, Anda dapat menghapusnya menggunakan perintah berikut:
-
Jalankan perintah untuk membersihkan sertifikat dev HTTPS:
bash
dotnet dev-certs https --clean - Buka pengelola sertifikat dan hapus semua sertifikat dengan nama “ASP.NET Core…” di bawah:
- Current User > Personal > Certificates
- Current User > Trusted Root Certification Authorities > Certificates
Metode 3: Mengonfigurasi Kestrel
Jika Anda menggunakan Kestrel, Anda perlu memastikan bahwa sertifikat dikonfigurasi dengan benar. Berikut adalah contoh konfigurasi yang dapat Anda gunakan:
- Tambahkan pengaturan berikut di
appsettings.json:
“`json

コメント