openssl.cnf, OpenSSL komut satırı araçlarının varsayılan ayarlarını tutan yapılandırma dosyasıdır. SSL yönetiminde en çok CSR üretirken ve birden çok alan adı (SAN) tanımlarken işe yarar.
Dosyanın yeri
openssl version -d # OPENSSLDIR dizinini gösterir
openssl version -a
Linux dağıtımlarında genelde /etc/ssl/openssl.cnf, Windows kurulumlarında OpenSSL dizini altındaki openssl.cfg kullanılır. Farklı bir dosya için OPENSSL_CONF ortam değişkeni veya komutta -config bayrağı verilir.
Temel bölümler
[req]: anahtar boyutu, varsayılan özet algoritması ve hangi bölümlerin kullanılacağı.[req_distinguished_name]: ülke, şehir, kuruluş, ortak ad alanları.[v3_req]ve[alt_names]: uzantılar ve SAN listesi.
Örnek: SAN'lı CSR dosyası
[req]
default_bits = 2048
prompt = no
default_md = sha256
distinguished_name = dn
req_extensions = v3_req
[dn]
C = TR
ST = Istanbul
L = Istanbul
O = Ornek Sirket A.S.
CN = www.example.com
[v3_req]
subjectAltName = @alt_names
[alt_names]
DNS.1 = www.example.com
DNS.2 = example.com
Komut:
openssl req -new -newkey rsa:2048 -nodes -keyout example.key -out example.csr -config csr.cnf
OpenSSL 3.x sürümlerinde -nodes yerine -noenc da kullanılır; eski yazım çalışmaya devam eder.
Doğrulama
openssl req -in example.csr -noout -text | grep -A1 "Alternative"
Yapılandırma dosyasıyla ilgili sık sorunlar
- Windows'ta "Unable to load config info" hatası:
OPENSSL_CONFdeğişkeni geçerli bir dosyaya işaret etmiyordur veya komutta-configverilmemiştir. - SAN görünmüyor:
req_extensionssatırı eksik ya da bölüm adı yanlış yazılmıştır. - Çoklu ad için sıra numaraları
DNS.1,DNS.2şeklinde ardışık olmalıdır.
Çıktıda SAN girdilerini görmelisiniz. Özel anahtar dosyasını (example.key) paylaşmayın; yalnızca CSR dosyası CA'ya gönderilir.
İpuçları
- Tırnak içinde Türkçe karakter kullanmak yerine ASCII harflerle yazmak uyumluluğu artırır.
- Elle ayar yapmak istemezseniz CSR oluşturma aracı aynı işi tarayıcıda yapar.
- Ürün seçimi için SSL sertifikaları sayfasına bakın.