Oncelikle; yaptigim arastirmada ssl sertifikasinin suresinin uzatilamadigini, bunun yerine yeniden olusturulmasi gerektigini ogrendim. Bu islemi 2 sekilde yapabiliyoruz: ilki "openssl" ile, digeri de "/etc/pki/tls/certs/Makefile" scriptini kullanarak. Aslinda Aslinda bu script zaten asagida anlatacagim ornegi, sertifika dosya adini parametre olarak almak yoluyla yerine getiriyor(ornek : /etc/pki/tls/certs/make localhost.crt). Scripti acip incelediginizde goreceksiniz.
On bilgi
----------------------------------
Fedora 9'da
sertifika (.crt) dosyalari /etc/pki/tls/certs
key (.key) dosyalari ise /etc/pki/tls/private altinda tutuluyor.
*ssl - Secure Sockets Layer
*tls - Transport Layer Security
*pki - Public Key Infrastructure
openssl ile olusturma
- Konsol acip root olalim :
[ccanaslan@ccanaslan ~]$ su -
- Sertifika dosyalarinin bulundugu dizine gidelim :
[root@ccanaslan ~]# cd /etc/pki/tls/certs
- 1024 bit uzunlugunda (default 512), des3 cipher ile encrypt edilmis, localhost.key adinda RSA private key'i olusturalim :
[root@ccanaslan certs]# openssl genrsa -des3 1024 > localhost.key
- Sifre isteyecek, min.4 haneli bir sifre girin. Ne oldugu cok onemli degil, zaten key'in sifre sorma rutinini disable edecegiz. Yoksa apache'yi her resetlemede bu sifreyi soruyor :) Sifreyi verify ettikten sonra localhost.key dosyasinin olustugunu goreceksiniz.
- kisaca; localhost.key key'ini kullanarak, 1 yil gecerli olacak olan localhost.crt sertifika dosyasini olusturalim :
[root@ccanaslan tls]# openssl req -utf8 -new -key localhost.key -x509 -days 365 -out localhost.crt -set_serial 0
- 4. maddede girmis oldugunuz sifreyi soracak,girip enter'a basin.
- Bu noktada, sizden sertifika tanimlamalarinda kullanilacak bazi bilgiler isteyecek. Bu bilgileri doldurabilir ya da enter'a basarak default degerleri almasini saglayabilirsiniz. (Default degerler /etc/pki/tls/openssl.cnf dosyasinda tutulmakta, isterseniz degistirebilirsiniz. Asagidaki gosterim, ilgili dosyanin degistirilmesinden sonraki halidir). Common Name (eg, your name or your server's hostname) []: sorusunu "localhost.localdomain" girerek gecelim. Goruntu asagidakine benzer olacaktir :
[root@ccanaslan certs]# openssl req -utf8 -new -key localhost.key -x509 -days 365 -out localhost.crt -set_serial 0
Enter pass phrase for localhost.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [TR]:
State or Province Name (full name) [Maslak]:
Locality Name (eg, city) [Istanbul]:
Organization Name (eg, company) [Biletix A.S.]:
Organizational Unit Name (eg, section) [Software Development]:
Common Name (eg, your name or your server's hostname) []:localhost.localdomain
Email Address []:ccanaslan@biletix.com
[root@ccanaslan certs]# - Artik elimizde localhost.key ve localhost.crt dosyalari mevcut. Bu dosyalari "chmod 600 localhost*" komutunu kullanarak sadece root tarafindan okunup yazilabilecek seviyeye getirelim
[root@ccanaslan certs]# ll localhost*
-rw-r--r-- 1 root root 1407 2009-02-11 18:29 localhost.crt
-rw-r--r-- 1 root root 963 2009-02-11 18:18 localhost.key
[root@ccanaslan certs]# chmod 600 localhost*
[root@ccanaslan certs]# ll localhost*
-rw------- 1 root root 1407 2009-02-11 18:29 localhost.crt
-rw------- 1 root root 963 2009-02-11 18:18 localhost.key - localhost.key dosyasini /etc/pki/tls/private dizinine tasiyalim (bkz. On bilgi) ve bu dizine gecelim.
[root@ccanaslan certs]# mv localhost.key ../private/
[root@ccanaslan certs]# cd ../private/
- 4. maddede bahsettigim, sifre sorma rutinini iptal etme islemini yapalim:
[root@ccanaslan private]# cp localhost.key localhost.bak
[root@ccanaslan private]# openssl rsa -in localhost.bak -out localhost.key
Enter pass phrase for localhost.bak:
writing RSA key - Apache'yi restart edelim:
[root@ccanaslan private]# apachectl restart
/etc/pki/tls/certs/Makefile scriptini kullanarak olusturma
Bu islem cok daha basit. Zira soz konusu script ilk yontemde anlatilan islemleri, parametre olarak aldigi dosya adi ile gerceklestiriyor:
[root@ccanaslan ~]# cd /etc/pki/tls/certs
[root@ccanaslan certs]# make localhost.crt
Bu noktadan itibaren yapilacalar, ilk yontemin 9.maddesinden sonrasi ile aynidir:
[root@ccanaslan certs]# mv localhost.key ../private/
[root@ccanaslan certs]# cd ../private/
[root@ccanaslan private]# cp localhost.key localhost.bak
[root@ccanaslan private]# openssl rsa -in localhost.bak -out localhost.key
Enter pass phrase for localhost.bak:
writing RSA key
[root@ccanaslan private]# apachectl restart
Bitti :))