XAMPP Server SSL Kurulumu | Hosts ile SSL Sertifikası

Dreamfancy 

Kurucu
Katılım
2 Eyl 2019
Mesajlar
1,780
Beğeniler
3,744
İletişim
Bir programın lisans bağlantısını cracklediğinizi ve onu ücretsiz hale getirdiğinizi varsayalım. Hosts ile yönlendirdiğinizde eğer o programın lisans bağlantısı "https://" yani SSL kullanıyorsa bu projenizi yarıda bitirmenize neden olabilir. Ancak uzak masaüstü bir server kurduğunuzda ve hosts ile oraya yönlendirme yapıp lisans bağlantılarını kendi sunucunuz üzerine geçirdiğinizde https:// bağlantısından dolayı erişim sağlayamazsınız. Ancak bunun çözümü oldukça basit. Yönlendirdiğiniz xampp server sunucusunun ip adresini ve alan adını kendi bilgisayarınızda sertifika tanıtarak özel bir SSL yani güvenli bağlantı sertifikası oluşturmanız mümkün. Şimdi bu konuda onu anlatacağım. Artık https yani SSL bağlantısını görüpte hiçbir reverse engineering projenizi veya çalışmanızı sonlandırmanıza gerek kalmayacak. Sertifikayı yalnızca kurun ve sunucudan aldıktan sonra kendi bilgisayarınıza yada o siteye SSL ile erişim sağlatmak istediğiniz kullanıcılara kurmasını söyleyin. Bunu kendi yazılımınızada ekleyebilirsiniz oralara hiç girmeden ben direk nasıl SSL sertifikası oluşturabileceğinizi anlatayım;

İlk olarak C:\xampp\apache dizinine gidin ardından buraya crt adında bir klasör oluşturun ve aşağıda size verdiğim iki dosyayı ismiyle beraber oluşturun.

cert.conf adında bir dosya oluşturun ve içine bunları yazın.
Kod:
[ req ]

default_bits        = 2048
default_keyfile     = server-key.pem
distinguished_name  = subject
req_extensions      = req_ext
x509_extensions     = x509_ext
string_mask         = utf8only

[ subject ]

countryName                 = Country Name (2 letter code)
countryName_default         = US

stateOrProvinceName         = State or Province Name (full name)
stateOrProvinceName_default = NY

localityName                = Locality Name (eg, city)
localityName_default        = New York

organizationName            = Organization Name (eg, company)
organizationName_default    = Example, LLC

commonName                  = Common Name (e.g. server FQDN or YOUR name)
commonName_default          = {{DOMAIN}}

emailAddress                = Email Address
emailAddress_default        = [email protected]

[ x509_ext ]

subjectKeyIdentifier   = hash
authorityKeyIdentifier = keyid,issuer

basicConstraints       = CA:FALSE
keyUsage               = digitalSignature, keyEncipherment
subjectAltName         = @alternate_names
nsComment              = "OpenSSL Generated Certificate"

[ req_ext ]

subjectKeyIdentifier = hash

basicConstraints     = CA:FALSE
keyUsage             = digitalSignature, keyEncipherment
subjectAltName       = @alternate_names
nsComment            = "OpenSSL Generated Certificate"

[ alternate_names ]

DNS.1       = {{DOMAIN}}

make-cert.bat adında bir dosya oluşturun ve içine bunları yazın.
Kod:
@echo off
set /p domain="Enter Domain: "
set OPENSSL_CONF=../conf/openssl.cnf

if not exist .\%domain% mkdir .\%domain%

..\bin\openssl req -config cert.conf -new -sha256 -newkey rsa:2048 -nodes -keyout %domain%\server.key -x509 -days 365 -out %domain%\server.crt

echo.
echo -----
echo The certificate was provided.
echo.
pause

Şimdi cert.conf dosyasına geri dönün ve {{DOMAIN}} yazan tüm bölümleri site adresiyle değiştirin. Örneğin: testsitesi.com gibi. Daha sonra make-cert.bat dosyasını çalıştırın ve ilk gelen yere site adını yazın ve sonraki gelen kısma ise ülke adını yazın. Örneğin US yada TR yazabilirsiniz. Ülke kodunu doğru yazmanız şart, herneyse bunu yazdıktan sonra diğer bölümleri boş bırakıp enter tuşuna basın ve aşağıdaki resimde gördüğünüz gibi "Press any key to continue..." gibi bir yazı görürseniz artık sertifikayı başarıyla oluşturduğunuz anlamına gelir.
SG4PwzA.jpg


Daha sonra C:\xampp\apache\crt dizinine gidin ve yazdığınız site adı neyse onun isminde klasör oluştuğunu göreceksiniz. Örneğin ben testsitesi.com yazdım bu yüzden C:\xampp\apache\crt\testsitesi.com dizinine gittim. Burada 2 tane dosya oluştuğunu görüyoruz. Server.crt dosyasına tıklayın ve install certificate butonuna basın. Yerel Makine'yi seçin. Daha sonra ikinci seçeneğe gelip browse butonuna basın ve Güvenilen Kök Sertifikaları seçeneğini seçin. Sonra ileri butonlarına basarak sertifika yüklemesini tamamlayın. Eğer anlattıklarımdan hiçbirşey anlamadıysanız aşağıdaki resimde gösterdiğim talimatları izleyin.
iDsFqda.png
6qCtb9P.png
37SsvKH.png



Son olarakta hosts dosyasına belirlediğim site adresini yani bunu yazıyorum.
Kod:
127.0.0.1 testsitesi.com

Son olarakta C:\xampp\apache\conf\extra\httpd-xampp.conf yoluna gidin ve bu dosyayı açın. En aşağıya inip bunu kopyalayın ve yapıştırın. testsitesi.com yazan yerleri kendi site adresinizle değiştirmeyi unutmayın. Bunları yaptıktan sonra xampp serveri durdurup tekrar başlatın. Hepsi bu kadar, artık testsitesi.com adresine girdiğiniz güvenli bağlantı sertifikasını göreceksiniz. Bu sertifikayı başka kullanıcılara yüklettiğinizde onlarda hosts ile belirlediğiniz site adresine ssl sertifikası ile başarıyla giriş yapabilecektir.
Kod:
<VirtualHost *:80>
     DocumentRoot "C:/xampp/htdocs"
     ServerName testsite.com
     ServerAlias *.testsite.com
</VirtualHost>
<VirtualHost *:443>
     DocumentRoot "C:/xampp/htdocs"
     ServerName testsite.com
     ServerAlias *.testsite.com
     SSLEngine on
     SSLCertificateFile "C:\xampp\apache\crt\testsite.com\server.crt"
     SSLCertificateKeyFile "C:\xampp\apache\crt\testsite.com\server.key"
</VirtualHost>
 
Son düzenleme:
Bir programın lisans bağlantısını cracklediğinizi ve onu ücretsiz hale getirdiğinizi varsayalım. Hosts ile yönlendirdiğinizde eğer o programın lisans bağlantısı "https://" yani SSL kullanıyorsa bu projenizi yarıda bitirmenize neden olabilir. Ancak uzak masaüstü bir server kurduğunuzda ve hosts ile oraya yönlendirme yapıp lisans bağlantılarını kendi sunucunuz üzerine geçirdiğinizde https:// bağlantısından dolayı erişim sağlayamazsınız. Ancak bunun çözümü oldukça basit. Yönlendirdiğiniz xampp server sunucusunun ip adresini ve alan adını kendi bilgisayarınızda sertifika tanıtarak özel bir SSL yani güvenli bağlantı sertifikası oluşturmanız mümkün. Şimdi bu konuda onu anlatacağım. Artık https yani SSL bağlantısını görüpte hiçbir reverse engineering projenizi veya çalışmanızı sonlandırmanıza gerek kalmayacak. Sertifikayı yalnızca kurun ve sunucudan aldıktan sonra kendi bilgisayarınıza yada o siteye SSL ile erişim sağlatmak istediğiniz kullanıcılara kurmasını söyleyin. Bunu kendi yazılımınızada ekleyebilirsiniz oralara hiç girmeden ben direk nasıl SSL sertifikası oluşturabileceğinizi anlatayım;

İlk olarak C:\xampp\apache dizinine gidin ardından buraya crt adında bir klasör oluşturun ve aşağıda size verdiğim iki dosyayı ismiyle beraber oluşturun.

cert.conf adında bir dosya oluşturun ve içine bunları yazın.
Kod:
[ req ]

default_bits        = 2048
default_keyfile     = server-key.pem
distinguished_name  = subject
req_extensions      = req_ext
x509_extensions     = x509_ext
string_mask         = utf8only

[ subject ]

countryName                 = Country Name (2 letter code)
countryName_default         = US

stateOrProvinceName         = State or Province Name (full name)
stateOrProvinceName_default = NY

localityName                = Locality Name (eg, city)
localityName_default        = New York

organizationName            = Organization Name (eg, company)
organizationName_default    = Example, LLC

commonName                  = Common Name (e.g. server FQDN or YOUR name)
commonName_default          = {{DOMAIN}}

emailAddress                = Email Address
emailAddress_default        = [email protected]

[ x509_ext ]

subjectKeyIdentifier   = hash
authorityKeyIdentifier = keyid,issuer

basicConstraints       = CA:FALSE
keyUsage               = digitalSignature, keyEncipherment
subjectAltName         = @alternate_names
nsComment              = "OpenSSL Generated Certificate"

[ req_ext ]

subjectKeyIdentifier = hash

basicConstraints     = CA:FALSE
keyUsage             = digitalSignature, keyEncipherment
subjectAltName       = @alternate_names
nsComment            = "OpenSSL Generated Certificate"

[ alternate_names ]

DNS.1       = {{DOMAIN}}

make-cert.bat adında bir dosya oluşturun ve içine bunları yazın.
Kod:
@echo off
set /p domain="Enter Domain: "
set OPENSSL_CONF=../conf/openssl.cnf

if not exist .\%domain% mkdir .\%domain%

..\bin\openssl req -config cert.conf -new -sha256 -newkey rsa:2048 -nodes -keyout %domain%\server.key -x509 -days 365 -out %domain%\server.crt

echo.
echo -----
echo The certificate was provided.
echo.
pause

Şimdi cert.conf dosyasına geri dönün ve {{DOMAIN}} yazan tüm bölümleri site adresiyle değiştirin. Örneğin: testsitesi.com gibi. Daha sonra make-cert.bat dosyasını çalıştırın ve ilk gelen yere site adını yazın ve sonraki gelen kısma ise ülke adını yazın. Örneğin US yada TR yazabilirsiniz. Ülke kodunu doğru yazmanız şart, herneyse bunu yazdıktan sonra diğer bölümleri boş bırakıp enter tuşuna basın ve aşağıdaki resimde gördüğünüz gibi "Press any key to continue..." gibi bir yazı görürseniz artık sertifikayı başarıyla oluşturduğunuz anlamına gelir.
SG4PwzA.jpg


Daha sonra C:\xampp\apache\crt dizinine gidin ve yazdığınız site adı neyse onun isminde klasör oluştuğunu göreceksiniz. Örneğin ben testsitesi.com yazdım bu yüzden C:\xampp\apache\crt\testsitesi.com dizinine gittim. Burada 2 tane dosya oluştuğunu görüyoruz. Server.crt dosyasına tıklayın ve install certificate butonuna basın. Yerel Makine'yi seçin. Daha sonra ikinci seçeneğe gelip browse butonuna basın ve Güvenilen Kök Sertifikaları seçeneğini seçin. Sonra ileri butonlarına basarak sertifika yüklemesini tamamlayın. Eğer anlattıklarımdan hiçbirşey anlamadıysanız aşağıdaki resimde gösterdiğim talimatları izleyin.
iDsFqda.png
6qCtb9P.png
37SsvKH.png



Son olarakta hosts dosyasına belirlediğim site adresini yani bunu yazıyorum.
Kod:
127.0.0.1 testsitesi.com

Son olarakta C:\xampp\apache\conf\extra\httpd-xampp.conf yoluna gidin ve bu dosyayı açın. En aşağıya inip bunu kopyalayın ve yapıştırın. testsitesi.com yazan yerleri kendi site adresinizle değiştirmeyi unutmayın. Bunları yaptıktan sonra xampp serveri durdurup tekrar başlatın. Hepsi bu kadar, artık testsitesi.com adresine girdiğiniz güvenli bağlantı sertifikasını göreceksiniz. Bu sertifikayı başka kullanıcılara yüklettiğinizde onlarda hosts ile belirlediğiniz site adresine ssl sertifikası ile başarıyla giriş yapabilecektir.
Kod:
<VirtualHost *:80>
     DocumentRoot "C:/xampp/htdocs"
     ServerName testsite.com
     ServerAlias *.testsite.com
</VirtualHost>
<VirtualHost *:443>
     DocumentRoot "C:/xampp/htdocs"
     ServerName testsite.com
     ServerAlias *.testsite.com
     SSLEngine on
     SSLCertificateFile "C:\xampp\apache\crt\testsite.com\server.crt"
     SSLCertificateKeyFile "C:\xampp\apache\crt\testsite.com\server.key"
</VirtualHost>
baya iyi neden ilgi almamıs anlamadım
 

  Şuanda konuyu görüntüleyen kullanıcılar


Üst Alt