SCEP Server
SecTrail CM, kendi bünyesinde bir SCEP Server (Simple Certificate Enrollment Protocol - RFC 8894) barındırır. SCEP; router, switch, firewall, VPN istemcileri, MDM ile yönetilen mobil cihazlar ve Windows/Intune istemcileri tarafından yaygın olarak desteklenen, köklü bir sertifika kayıt (enrollment) protokolüdür.
SCEP desteği bulunan cihazlar, üzerine ek bir ajan (agent) kurmaya gerek kalmadan doğrudan SecTrail CM'den sertifika alabilir ve sertifikalarını yenileyebilir. Sertifikalar, SecTrail CM'in yönettiği CA'lar (Local CA, Microsoft ADCS, DigiCert vb.) tarafından, sizin tanımladığınız template kurallarına göre düzenlenir.
- SCEP Server: En geniş cihaz desteğine sahip protokoldür. Cihaz kimliği CSR içindeki challenge parolası ile doğrulanır. İstek ve yanıtlar PKCS#7 ile şifrelenip imzalandığından düz HTTP üzerinde de çalışabilir.
- EST Server: SCEP'in modern halefidir. HTTPS üzerinde çalışır; HTTP Basic veya mTLS ile kimlik doğrulama yapar.
- CMP Server: Endüstriyel ve telekom cihazlarında yaygındır. Paylaşılan sır (PBM) veya sertifika imzası ile kimlik doğrulama yapar.
Sağladığı Avantajlar
- Geniş cihaz desteği: Cisco, Juniper, Fortinet, Palo Alto gibi ağ cihazları, MDM çözümleri ve Windows/Intune (NDES uyumlu adres yapısı) ile çalışır
- RFC 8894 uyumluluğu:
GetCACert,GetCACaps,PKCSReq,RenewalReqveGetCertInitialişlemleri desteklenir - Uçtan uca şifreli istek: CSR, RA/CA sertifikasına şifrelenerek gönderilir; yanıt istemcinin sertifikasına şifrelenir
- Manuel onay desteği: İstenirse kayıt talepleri, bir yetkili onaylayana kadar bekletilir; onay iş akışı (workflow) ve e-posta bildirimleriyle entegre çalışır
- Tam görünürlük: Tüm kayıt işlemleri ve düzenlenen sertifikalar kayıt altına alınır ve envantere işlenir
Çalışma Mantığı
SCEP Server'ın temel bileşenleri şunlardır:
| Bileşen | Açıklama |
|---|---|
| Profile | Bir SCEP endpoint'ini tanımlar. Hangi template ile sertifika üretileceğini, challenge parolasını, RA sertifikasını ve onay ayarlarını belirler. |
| Transaction | Cihazların gerçekleştirdiği her kayıt, yenileme ve sorgu işleminin kaydı. |
Akış şu şekilde ilerler:
- Yönetici bir SCEP Profile oluşturur; profili bir sertifika template'ine bağlar ve bir challenge parolası belirler.
- Cihaz,
GetCACertile CA/RA sertifikasını,GetCACapsile sunucunun desteklediği yetenekleri alır. - Cihaz, challenge parolasını içeren CSR'ını CA/RA sertifikasına şifreleyerek
PKCSReqmesajıyla gönderir. - Challenge parolası doğruysa sertifika, template kurallarına göre düzenlenir, envantere eklenir ve cihaza şifreli olarak döndürülür.
- Profilde manuel onay açıksa talep pending olarak bekletilir; cihaz
GetCertInitialile periyodik olarak sorgular ve onay verildiğinde sertifikasını alır. - Cihaz, sertifikasının süresi dolmadan mevcut sertifikasıyla imzaladığı
RenewalReqmesajıyla yenileme yapar.
Bir SCEP profili yalnızca bağlı olduğu template'e karşı sertifika üretebilir. Template, hangi CA'nın kullanılacağını, geçerlilik süresini ve diğer sertifika parametrelerini belirler. Template yönetimi için bkz. Inventory → Issue Certificate → Templates.
SCEP Endpoint'leri
Her profil, kendi Label değeri üzerinden ayrı bir endpoint alır. SCEP tek bir adres kullanır; yapılacak işlem ?operation= parametresiyle belirlenir:
| Endpoint | Açıklama |
|---|---|
/scep/{label} | Standart SCEP adresi (GET ve POST) |
/scep/{label}/pkiclient.exe | Windows NDES / Intune istemcilerinin beklediği adres yapısı |
İşlem (operation) | Açıklama |
|---|---|
GetCACert | CA (ve varsa RA) sertifikasını döndürür. Tek sertifika DER, zincir ise PKCS#7 olarak gönderilir. |
GetCACaps | Sunucunun desteklediği yetenekleri listeler: POSTPKIOperation, SHA-256, SHA-1, Renewal, SCEPStandard |
PKIOperation | Kayıt (PKCSReq), yenileme (RenewalReq) ve bekleyen talep sorgusu (GetCertInitial) mesajlarını taşır |
Pasif (inactive) bir profilin veya tanımsız bir label'ın endpoint'i 404 döner. SCEP seviyesindeki hatalar ise HTTP 200 ile, imzalı bir FAILURE yanıtı içinde iletilir.
SCEP Profilleri (Profiles)
SCEP Profili Oluşturma
Certificate Authorities (CA) > SCEP Server > SCEP Profiles bölümüne gidin ve Create butonuna tıklayın:

Aşağıdaki bilgileri girin:
- Label (zorunlu): Profilin URL yol parçası (örn.
default). Kayıt endpoint'i/scep/{label}biçiminde oluşur. Yalnızca harf, rakam, nokta, tire ve alt çizgi (A-Z a-z 0-9 . _ -) kullanılabilir ve tüm tenant'lar arasında benzersiz olmalıdır. - Template (zorunlu): Bu profil üzerinden düzenlenecek sertifikaların template'i. Sertifikayı imzalayacak CA'yı, geçerlilik süresini ve profil bilgilerini belirler.
- Challenge Password (zorunlu): Cihazın CSR'ındaki
challengePasswordniteliğine yazması gereken parola. Yalnızca yazdırılabilir ASCII karakterler kullanılabilir (Türkçe veya aksanlı harfler kullanılamaz). Düzenleme ekranında boş bırakılırsa mevcut parola korunur. - RA Certificate (opsiyonel): İstekleri çözmek ve yanıtları imzalamak için kullanılan sertifika ve özel anahtar. Envanterde özel anahtarı bulunan CA sertifikaları listelenir. Boş bırakılırsa (Use issuing LocalCA key) template'in bağlı olduğu Local CA'nın anahtarı kullanılır.
- Encryption Algorithm: Cihaza gönderilen yanıtın şifreleme algoritması.
AES-256-CBCönerilir;AES-128-CBCda desteklenir.3DESyalnızca eski istemciler için kullanılmalıdır. - Approval: Require manual approval açıldığında, ilk kayıt talepleri bir yetkili onaylayana kadar pending durumunda bekletilir. Bkz. Manuel Onay.
- Description (opsiyonel): Profili açıklayan kısa not
- Status: Profilin etkin (Active) olup olmadığı
Submit butonuna tıklayarak profili oluşturun.
Template Local CA dışında bir CA'ya (örn. Microsoft ADCS veya DigiCert) bağlıysa, sunucunun kullanabileceği varsayılan bir Local CA anahtarı yoktur. Bu durumda RA Certificate alanında, envanterde özel anahtarı bulunan bir CA sertifikası seçilmelidir. Aksi halde GetCACert isteği yanıtlanamaz.
SCEP Profil Listesi
Oluşturulan profiller Certificate Authorities (CA) > SCEP Server > SCEP Profiles listesinde görüntülenir:

Liste ekranında aşağıdaki bilgiler gösterilir:
| Sütun | Açıklama |
|---|---|
| Label | Profilin URL yol parçası ve endpoint adı |
| Template | Bağlı olduğu sertifika template'i ve template'in CA tipi (örn. LocalCA, DigiCert) |
| Challenge Password | Challenge parolasının tanımlı olup olmadığı (set / not set). Parolanın kendisi gösterilmez. |
| RA Certificate | Seçilen RA sertifikası veya Use issuing LocalCA key |
| Require manual approval | Manuel onayın etkin olup olmadığı (✓ / —) |
| Active | Profilin etkin (Active) veya devre dışı (Inactive) durumu |
| Created | Profilin oluşturulma tarihi |
| Description | Profil açıklaması |
Profil İşlemleri
- Edit: Profil ayarlarını düzenleyin
- Aktif/Pasif: Satır sonundaki anahtar (toggle) ile profili devre dışı bırakın veya yeniden etkinleştirin
- Delete: Profili silin
- Export: Listeyi dışa aktarın
Bir profil pasif hâle getirildiğinde, o profile ait endpoint üzerinden yeni sertifika kaydı ve yenileme yapılamaz. Profile bağlı cihazların sertifika yenileme süreçlerinin etkileneceğini göz önünde bulundurun.
Manuel Onay
Profilde Require manual approval açıldığında form üzerinde ek alanlar görünür:
- Approver groups: Bu profilden gelen talepleri onaylayacak Ownership onay grupları. Gruplar Ownership → Groups altında yönetilir ve "onay grubu" olarak işaretlenmelidir.
- Approver emails: Hesabı olmayan onaylayıcılar için ek e-posta adresleri. Her adres için Add More butonu kullanılır.
- Mail Subject / Mail Content: Onaylayıcılara gönderilen e-postanın konusu ve talep bilgilerinin üzerinde gösterilen mesaj. Boş bırakılırsa varsayılan metin kullanılır.
Onay süreci şu şekilde işler:
- Cihaz
PKCSReqgönderir; talep pending olarak kaydedilir ve cihazaPENDINGyanıtı döner. - Talep için bir onay iş akışı (workflow) başlatılır. Onaylayıcılara; Common Name, SAN'lar, SCEP profili, istemci IP'si ve işlem numarasını içeren bir e-posta gönderilir.
- Yetkili, talebi iş akışı üzerinden veya SCEP Transactions ekranındaki Approve (✓) / Deny (✕) butonlarıyla sonuçlandırır.
- Cihaz, aynı Transaction ID ile
GetCertInitialsorgusu yapar. Onaylanan talepte sertifikayı alır, reddedilen talepteFAILUREyanıtı alır.
Manuel onay yalnızca ilk kayıt (PKCSReq) taleplerine uygulanır. RenewalReq mesajı cihazın mevcut sertifikasıyla imzalandığından cihaz kimliğini zaten kanıtlar; bu nedenle yenilemeler onay beklemeden işlenir. Yenileme talebindeki CN ve DNS SAN değerleri, mevcut sertifikadaki değerlerin bir alt kümesi olmalıdır; kimliği genişleten yenileme talepleri reddedilir.
Template, sertifika üretimi için kendi onay sürecini işleten bir CA'ya (örn. DigiCert) bağlıysa, CA'dan gelen pending yanıtı da aynı şekilde yönetilir. SecTrail CM siparişi arka planda takip eder; cihaz GetCertInitial ile sorguladığında sertifika hazırsa teslim edilir.
SCEP İşlemleri (Transactions)
Cihazların gerçekleştirdiği tüm kayıt ve yenileme işlemleri Certificate Authorities (CA) > SCEP Server > SCEP Transactions bölümünden takip edilir:

Liste ekranında aşağıdaki bilgiler gösterilir:
| Sütun | Açıklama |
|---|---|
| Profile | İşlemin gerçekleştiği SCEP profili |
| Operation | İşlem tipi (PKCSReq, RenewalReq) |
| Transaction ID | İstemcinin SCEP mesajında gönderdiği işlem numarası. Bekleyen talepler bu numara ile sorgulanır. |
| Remote IP Address | İsteği gönderen cihazın IP adresi |
| Common Name | Talep edilen sertifikanın CN değeri |
| Status | İşlem sonucu (success, pending, failure) ve HTTP durum kodu |
| Certificate | Düzenlenen sertifikanın envanterdeki kaydına bağlantı. Sertifika iptal edilmişse revoked etiketi gösterilir. |
| Created | İşlemin gerçekleştiği tarih |
pending durumundaki işlemlerde, satır sonunda Approve (✓) ve Deny (✕) butonları görünür.
Başarılı işlemlerde Certificate sütunundaki sertifika numarasına tıklayarak envanterdeki kayda gidebilir; sertifikayı indirebilir, izleyebilir veya iptal (revoke) edebilirsiniz.
failure durumundaki işlemlerin çoğu şu nedenlerden kaynaklanır:
- CSR'daki challenge parolasının profildekiyle eşleşmemesi
- Yenileme talebindeki adların mevcut sertifikanın adlarıyla uyuşmaması
- Lisans limitine ulaşılmış olması
İstemci Yapılandırma Örnekleri
Aşağıdaki örneklerde cm.sectrail.local yerine kendi SecTrail CM adresinizi, default yerine profilinizin Label değerini kullanın.
Yeteneklerin ve CA Sertifikasının Alınması
# Desteklenen yetenekler
curl "https://cm.sectrail.local/scep/default?operation=GetCACaps"
# CA/RA sertifikası
curl -o ca.der "https://cm.sectrail.local/scep/default?operation=GetCACert"
Challenge Parolasını İçeren CSR Oluşturma
openssl req -new -newkey rsa:2048 -nodes \
-keyout device.key -out device.csr \
-subj "/CN=device01.sectrail.local" \
-addext "subjectAltName=DNS:device01.sectrail.local" \
-reqexts challenge -config <(cat /etc/ssl/openssl.cnf; \
printf "[challenge]\nchallengePassword=CHALLENGE_PAROLASI\n")
sscep ile Sertifika Kaydı
# CA sertifikasını indirin (zincir varsa ca.crt-0, ca.crt-1 ... olarak kaydedilir)
sscep getca -u https://cm.sectrail.local/scep/default -c ca.crt
# Kayıt talebi gönderin
sscep enroll -u https://cm.sectrail.local/scep/default \
-c ca.crt -k device.key -r device.csr -l device.crt \
-E aes256 -S sha256
Profilde manuel onay açıksa sscep, talep onaylanana kadar aynı Transaction ID ile otomatik olarak sorgulamaya devam eder.
Windows NDES / Intune Uyumlu Adres
NDES adres yapısını bekleyen istemcilerde (Intune SCEP profili, MDM çözümleri vb.) sunucu adresi olarak şunu kullanın:
https://cm.sectrail.local/scep/default/pkiclient.exe