Přeskočit obsah

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.

  1. 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ý.

  2. Určete základní URL SeaCat PKI API

    export ROOT_CA_URL=http://localhost:8080/TENANT_ROOT_CA
    
  3. Vygenerujte soukromý klíč CA, RSA 4096 (nebo více).

    openssl genrsa -out ca-private-key.pem 4096
    
  4. 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
    
  5. Restartujte SeaCat PKI

  6. 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í.

  7. 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
    
  8. Restartujte SeaCat PKI

  9. SCEP povolená X.509 CA je připravena k použití.

Zdroje

Registrace/Obnova certifikátu

Postup registrace certifikátu

Klient C (také sscep)
Certifikační autorita CA (také SeaCat PKI)

  1. C vygeneruje pár soukromého/verejného klíče
  2. C vygeneruje CSR (také Žádost o podepsání certifikátu, PKCS#10)
  3. Přidejte atributy
  4. Přidejte veřejný klíč
  5. Podepište CSR soukromým klíčem (Proof-of-Possession nebo PoP)
  6. C odešle CSR CA přes SCEP (žádost je ve formátu PKCS#7, také CMS)
  7. CA přijme CSR (přes SCEP rozhraní, včetně PKCS# ověření)
  8. CA ověří CSR
  9. CA uloží CSR do úložiště
  10. 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 u CA.
  11. CA schválí CSR a tento krok implicitně vytvoří certifikát klienta
  12. Přidejte vybrané atributy z CSR
  13. Přidejte veřejný klíč z CSR
  14. Podepište nový certifikát svým soukromým klíčem CA
  15. CA uloží nový certifikát klienta do úložiště
  16. C získá tento certifikát klienta od CA (přes SCEP)
  17. 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.

  1. Nakonfigurujte vstupní bod SCEP pro SeaCat PKI.

    % export SCEP_URL="http://example.com/scep-tenant/scep"
    
  2. Získejte certifikát CA

    % sscep getca -c ca.cert -u ${SCEP_URL}
    

    Uloží certifikát CA do souboru ca.cert.

  3. 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 a local.csr.

  4. Registrace certifikátu

    % sscep enroll -v -k local.key -r local.csr -c ca.cert -l local.cert -t 2 -u ${SCEP_URL}
    
  5. 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:

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'.