SCEP¶
SeaCat PKI podporuje SCEP, také známý jako Protokol pro jednoduchou registraci certifikátů.
Konfigurace¶
Založte X.509 certifikační autoritu schopnou SCEP.
-
Zadejte nového nájemce
v
etc/seacatpki.conf
:[tenants] ids=TENANT_ROOT_CA
Poznámka: Název nájemce (např. "TENANT_ROOT_CA") je libovolný.
-
Určete základní URL SeaCat PKI API
export ROOT_CA_URL=http://localhost:8080/TENANT_ROOT_CA
-
Vygenerujte soukromý klíč CA, RSA 4096 (nebo více).
openssl genrsa -out ca-private-key.pem 4096
-
Nakonfigurujte nájemce a soukromý klíč CA v PKI
v
seacatpki.conf
:[tenants] ids=TENANT_ROOT_CA [seacatpki:x509:ca:scep-tenant] # Standardní konfigurace certifikační autority X.509 ca_key=scep-ca-key [seacatpki:private_key:scep-ca-key] keyfile=${THIS_DIR}/ca-private-key.pem tenants=TENANT_ROOT_CA
-
Restartujte SeaCat PKI
-
Vygenerujte samopodepsaný certifikát Root CA
Použijte šablonu rootca.json a upravte především název subjektu.
curl -X PUT "${ROOT_CA_URL}/x509/self-signed" \ --header 'Content-Type: application/json' \ -d @rootca.json
Poznamenejte si
pbid
certifikátu CA pro pozdější použití. -
Dokončete konfiguraci SeaCat PKI
v
seacatpki.conf
:[tenants] ids=scep-tenant [seacatpki:x509:ca:scep-tenant] # Standardní konfigurace certifikační autority X.509 ca_key=scep-ca-key ca_cert=scep-tenant:4fec087429f00360e314894c79f4d6d59405b131624ce70fccb44154641084a743b855d8c5f230ec69f74e04475e5056 # To umožňuje použití SCEP scep=yes [seacatpki:private_key:scep-ca-key] keyfile=${THIS_DIR}/ca-private-key.pem tenants=scep-tenant
-
Restartujte SeaCat PKI
-
SCEP povolená X.509 CA je připravena k použití.
Zdroje¶
- Protokol pro jednoduchou registraci certifikátů (SCEP) Specifikace, draft-gutmann-scep-16
- RFC 2315 PKCS #7: Syntaxe kryptografických zpráv
- RFC 5652 Syntaxe kryptografických zpráv (CMS)
Registrace/Obnova certifikátu¶
Postup registrace certifikátu¶
Klient C
(také sscep)
Certifikační autorita CA
(také SeaCat PKI)
C
vygeneruje pár soukromého/verejného klíčeC
vygeneruje CSR (také Žádost o podepsání certifikátu, PKCS#10)- Přidejte atributy
- Přidejte veřejný klíč
- Podepište CSR soukromým klíčem (Proof-of-Possession nebo PoP)
C
odešle CSRCA
přes SCEP (žádost je ve formátu PKCS#7, také CMS)CA
přijme CSR (přes SCEP rozhraní, včetně PKCS# ověření)CA
ověří CSRCA
uloží CSR do úložiště- V tuto chvíli se
CA
může rozhodnout, že schválení bude zpožděno, a vrátíPENDING
C
. Proces může být zde obnoven.C
musí pravidelně kontrolovat stav registrace uCA
. CA
schválí CSR a tento krok implicitně vytvoří certifikát klienta- Přidejte vybrané atributy z CSR
- Přidejte veřejný klíč z CSR
- Podepište nový certifikát svým soukromým klíčem CA
CA
uloží nový certifikát klienta do úložištěC
získá tento certifikát klienta odCA
(přes SCEP)C
uloží certifikát klienta na místní disk
Poznámka: Proces obnovy je podobný registraci.
Nástroj sscep
¶
SSCEP je příkazový řádkový klient pro protokol SCEP.
Může být použit jako klient pro SeaCat PKI.
-
Nakonfigurujte vstupní bod SCEP pro SeaCat PKI.
% export SCEP_URL="http://example.com/scep-tenant/scep"
-
Získejte certifikát CA
% sscep getca -c ca.cert -u ${SCEP_URL}
Uloží certifikát CA do souboru
ca.cert
. -
Připravte CSR
% openssl req -newkey rsa:2048 -sha256 -nodes -out local.csr -keyout local.key -subj "/C=GB/L=London/O=TeskaLabs/OU=SeaCat/CN=example.com"
To vytvoří
local.key
alocal.csr
. -
Registrace certifikátu
% sscep enroll -v -k local.key -r local.csr -c ca.cert -l local.cert -t 2 -u ${SCEP_URL}
-
Obnova certifikátu
% sscep enroll -v -k local.key -r local.csr -c ca.cert -O local.cert -K local.key -l local.cert -u ${SCEP_URL}
Podpora SCEP od Apple¶
Apple umožňuje specifikovat profil pro macOS a iOS, který obsahuje specifikace SCEP umožňující automatizovanou registraci zařízení.
Dokumentace:
- Reference profilu konfigurace (Apple, PDF)
- Profily konfigurace (Online, proměnné pro substituci pro profily)
SCEP profil¶
./scep-apple-profile.mobileconfig
Profil je XML soubor. Apple poskytuje nástroj "Apple Configurator 2" pro správu profilů. Profil může být distribuován jako soubor nebo stažen přes HTTP(S) s MIME typem 'application/x-apple-aspen-config'.