1) Sertifika Talep Edecek Kuruma Ait Özel Anahtarın Oluşturulması
Özel anahtarı oluşturmak için OpenSSL komut satırı aracı kullanılabilir. OpenSSL yazılımı kendi sayfasından (https://www.openssl.org/source/) elde edilebilir. Bu yazılımın kurulum dosyalarının C:\ ana dizinine yapıldığını varsayalım. Öncelikle sertifika talep edilen kuruma ait özel anahtar oluşturulur. Özel anahtarı oluşturmak için komut satırından OpenSSL’e ait dizine gidilir (C:\OpenSSL-Win64\bin) ve aşağıdaki komut yazılır:
openssl.exe genrsa -des3 -out SirketOzelAnahtari.key 2048
Komut girildikten sonra ileride oluşturulacak olan CSR (Certificate Signing Request) dosyasında kullanılmak üzere parola belirlenir. İlgili komut ve parola belirlenme adımına ait ekran görüntüsü aşağıda verilmiştir.

Yukarıdaki ekran görüntüsünde SirketOzelAnahtari.key isimli gizli anahtarı oluşturmak için parola girilmesi beklenir. Kullanıcı bu alana kendi seçtiği ve tahmin edilmesi zor olan bir parola girdikten sonra gizli anahtar üretilir.
Not: Yukarıdaki komutta SirketOzelAnahtari.key, özel anahtar üretildikten sonra kaydedileceği dosya adıdır ve 2048 değeri ise anahtar uzunluğunu temsil eder, kullanıcı tercihine bağlı olarak 1024 veya 4096 olarak da değiştirilebilir.
2) Sertifikayı Verecek Olan Kuruma Ait Özel Anahtarın Oluşturulması
Normal şartlar altında, bir sertifika geçerli bir Sertifika Otoritesi (örneğin VeriSign, Comodo, DigiCert vs) tarafından hazırlanır. Ancak bu uygulamada gerçek olmayan bir Sertifika Otoritesi’nin özel anahtarı kullanılacaktır. Sahte Sertifika Otoritesi’ne (Certificate Authority) ait özel anahtarı oluşturmak için komut satırından OpenSSL’e ait dizine gidilir (C:\OpenSSL-Win64\bin) ve aşağıdaki komut yazılır:
openssl.exe genrsa -out OzelAnahtar.pem 1024
Bu komut ve çıktısına ait ekran görüntüsü aşağıda verilmiştir.

3) Sertifika Talep Eden Kurum Tarafından CSR Dosyasının Oluşturulması
Sertifika talep eden kurum oluşturduğu özel anahtarı kullanılarak .csr dosyası üretir. Bu dosyayı oluşturmak için
openssl.exe req -new -key SirketOzelAnahtari.key -out SirketSertifikaTalebi.csr
komutu girildikten sonra özel anahtar oluşturmak için kullanılan parola ve sertifika talep eden kuruma ait gerçek bilgiler girilmelidir. İlgili adıma ait ekran görüntüsü aşağıda verilmiştir.

Not: Özel anahtar ve CSR talebi tek bir komut ile aşağıdaki gibi de oluşturulabilirdi.
openssl.exe req -new -newkey rsa:2048 -nodes -keyout SirketOzelAnahtari.key -out SirketSertifikaTalebi.csr
Yukarıdaki işlemden sonra ilgili dizinde SirketSertifikaTalebi.csr isimli dosya oluşturulmuştur. Böylece kurum sayısal imzasını kullanmış olur. Oluşturulan bu CSR dosyası aşağıdaki bilgileri kapsar:
- Sertifikayı talep eden kurum bilgisi
- Sertifikanın kullanılacağı adres (Common Name)
- Genel Anahtar
Oluşturulan bu CSR dosyası direk olarak sertifika otoritesine veya PKI sürecindeki aracı kurumlara gönderilir.
Talep edilen sertifikanın özelliğine göre, sertifika talep eden kurumun gerçekten o kurum olduğunun ispatlanması, için çevrimdışı yollarla (faks, posta vs) aşağıdaki dokümanlar da gönderilebilir:
- Kurumsal sicil kaydı – ticari sicil gazetesi fotokopisi
- Kurum imza sirkülerinin fotokopisi
- Sunucu (SSL) sertifikasının bedelinin ödendiğine dair banka dekontu
- Kurumun, sunucuya ait alan adına sahipliğini gösterir belgenin örneği
4) Sertifika Otoritesi Tarafından Sertifikanın Hazırlanması
Normal şartlar altında, sertifika talep eden kurum tarafından oluşturulmuş olan CSR dosyası geçerli bir sertifika otoritesine (örneğin VeriSign, Comodo, DigiCert vs) gönderilir. Bu sertifika otoritesi, CSR dosyasını imzalaması sağlandıktan sonra, ilgili sertifika otoritesi tarafından sertifika talep eden kuruma sertifikası gönderilir. Ancak bu uygulamada gerçek olmayan bir Sertifika Otoritesi’nin özel anahtarı (OzelAnahtar.pem) ile imzalama işlemi gerçekleştirilecektir. Sahte Sertifika Otoritesi’nin özel anahtarı (OzelAnahtar.pem) kullanılarak CSR dosyasını imzalamak için
openssl.exe x509 -req -days 365 -in SirketSertifikaTalebi.csr -signkey OzelAnahtar.pem -out SirketSertifikasi.cer
komutu girilir. Komuta ait ekran görüntüsü aşağıdaki gibidir.

Bu komut, CSR dosyasının OzelAnahtar.pem isimli özel anahtar kullanılarak ve 1 yıllık geçerli olacak şekilde imzalandığı, sonucunda da SirketSertifikasi.cer isimli sertifika dosyası oluşturulduğunu belirtir. Eğer OzelAnahtar.pem dosyası hazırlanırken bir parola girilmiş olsa ide, CSR imzalınırken bu parolanın da girilmesi istenecekti.
Çalıştırılan komuttan sonra, Sertifika Otoritesi’nin özel anahtarı, sertifika talep eden şirketin gönderdiği CSR dosyası ve Sertifika Otoritesi tarafından hazırlanan sertifikaların bulunduğu dizindeki dosyaların görüntüsü aşağıdaki gibidir.

5) Sertifika Bilgilerini Listeleme
Son olarak oluşturulan sertifikaya ait bilgileri görebilmek için,
openssl.exe x509 -noout -text -in SirketSertifikasi.cer
komutu girilir ve aşağıdaki ekran görüntüsüne benzer bilgiler elde edilir.

Kurum tarafında CER uzantılı bu sertifika farklı formatlara çevrilerek kullanılabilir.