membuat agar localhost menjadi https
- XAMPP for Windows 5.6.30
- Win64OpenSSL_Light-3_6_0.exe ( https://slproweb.com/products/Win32OpenSSL.html )
-cari text “#LoadModule ssl_module modules/mod_ssl.so” hapus “#” agar aktif
-cari text “#Include conf/extra/httpd-ssl.conf” hapus “#” agar aktif
3.Buat sertifikat SSL untuk localhost
-buka cmd dengan administrator , dan masuk ke folder “cd C:\OpenSSL-Win64\bin”
-ketik perintah berikut :
-setelah selesai akan muncul 2 file , “server.crt” dan “server.key”
-pindahkan file tersebut diatas ke :
server.crt → C:\xampp\apache\conf\ssl.crt\server.crt
-buka file “xampp/apache/conf/extra/httpd-ssl.conf”
-pastikan isinya sbb :
DocumentRoot "C:/xampp/htdocs"
ServerName localhost:443
SSLEngine on
SSLCertificateFile "conf/ssl.crt/server.crt"
SSLCertificateKeyFile "conf/ssl.key/server.key"
</virtualhost >
@echo off
echo ==============================================
echo Membuat Sertifikat HTTPS Localhost VALID
echo (Trusted, Tidak Ada Warning Chrome)
echo ==============================================
echo.
REM --- Konfigurasi folder ---
set OPENSSL=C:\OpenSSL-Win64\bin\openssl.exe
set CERTDIR=%cd%\cert-localhost
set XAMPP_SSL=C:\xampp\apache\conf
REM --- Cek apakah openssl ada ---
if not exist "%OPENSSL%" (
echo ERROR: OpenSSL tidak ditemukan di:
echo %OPENSSL%
echo Pastikan kamu install "Win64 OpenSSL" dari Shining Light.
pause
exit /b
)
REM --- Buat folder sertifikat ---
mkdir "%CERTDIR%"
cd "%CERTDIR%"
echo Membuat Root CA...
"%OPENSSL%" genrsa -out rootCA.key 2048
"%OPENSSL%" req -x509 -new -nodes -key rootCA.key -sha256 -days 3650 -out rootCA.pem -subj "/C=ID/ST=Local/L=Local/O=LocalDev/OU=Dev/CN=Localhost-Root-CA"
echo Root CA berhasil dibuat.
echo.
echo Menginstall Root CA ke Trusted Root Store...
certutil -addstore -f "Root" rootCA.pem
echo Root CA terinstall.
echo.
echo Membuat private key untuk localhost...
"%OPENSSL%" genrsa -out localhost.key 2048
echo Membuat CSR untuk localhost...
"%OPENSSL%" req -new -key localhost.key -out localhost.csr -subj "/C=ID/ST=Local/L=Local/O=LocalDev/OU=Dev/CN=localhost"
echo Membuat file ext untuk SAN...
echo authorityKeyIdentifier=keyid,issuer > localhost.ext
echo basicConstraints=CA:FALSE >> localhost.ext
echo keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment >> localhost.ext
echo subjectAltName = @alt_names >> localhost.ext
echo [alt_names] >> localhost.ext
echo DNS.1 = localhost >> localhost.ext
echo DNS.2 = 127.0.0.1 >> localhost.ext
echo Menandatangani sertifikat dengan Root CA (Valid HTTPS)...
"%OPENSSL%" x509 -req -in localhost.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out localhost.crt -days 365 -sha256 -extfile localhost.ext
echo Sertifikat localhost valid dibuat.
echo.
REM --- Copy sertifikat ke XAMPP ---
echo Menyalin sertifikat ke folder XAMPP...
copy localhost.crt "%XAMPP_SSL%\ssl.crt\server.crt" /Y
copy localhost.key "%XAMPP_SSL%\ssl.key\server.key" /Y
echo Selesai!
echo ==============================================
echo Sertifikat HTTPS localhost VALID sudah dibuat
echo Root CA telah ditambahkan ke Windows
echo Chrome sekarang akan menunjukkan gembok hijau
echo ==============================================
echo.
pause