Sådan opretter du en længere certifikatkæde med OpenSSL: Trin-for-trin guide

Hvordan oprettes en længere certifikatkæde (Root > A > B > C > ...) ved hjælp af OpenSSL, når kun Root og A certifikaterne er oprettet, og hvordan ændres openssl.cnf filen for at tillade dette?

For at oprette en længere certifikatkæde med OpenSSL skal du generere og signere certifikater for hver enhed i kæden og ændre openssl.cnf filen for at tillade længere kæder.

Sådan oprettes en længere certifikatkæde (Root > A > B > C > ...) ved hjælp af OpenSSL

For at oprette en længere certifikatkæde, hvor kun Root og A certifikaterne er oprettet, skal du følge disse trin:

  1. Opret en privat nøgle og et certifikat for B:
    • Generer en privat nøgle for B:
      openssl genpkey -algorithm RSA -out B.key
    • Opret en certifikat signeringsanmodning (CSR) for B:
      openssl req -new -key B.key -out B.csr
    • Signér B's CSR med A's certifikat og nøgle for at oprette B's certifikat:
      openssl x509 -req -in B.csr -CA A.crt -CAkey A.key -CAcreateserial -out B.crt -days 365 -sha256
  2. Opret en privat nøgle og et certifikat for C:
    • Generer en privat nøgle for C:
      openssl genpkey -algorithm RSA -out C.key
    • Opret en certifikat signeringsanmodning (CSR) for C:
      openssl req -new -key C.key -out C.csr
    • Signér C's CSR med B's certifikat og nøgle for at oprette C's certifikat:
      openssl x509 -req -in C.csr -CA B.crt -CAkey B.key -CAcreateserial -out C.crt -days 365 -sha256

Ændring af openssl.cnf filen for at tillade en længere certifikatkæde

For at tillade en længere certifikatkæde, skal du ændre openssl.cnf filen. Følg disse trin:

  1. Åbn openssl.cnf filen i en teksteditor.
  2. Find sektionen [ CA_default ] og tilføj eller rediger følgende linjer:
    
    [ CA_default ]
    default_days = 365
    default_md = sha256
    preserve = no
    policy = policy_anything
        
  3. Find sektionen [ policy_anything ] og tilføj eller rediger følgende linjer:
    
    [ policy_anything ]
    countryName = optional
    stateOrProvinceName = optional
    localityName = optional
    organizationName = optional
    organizationalUnitName = optional
    commonName = supplied
    emailAddress = optional
        
  4. Find sektionen [ req ] og tilføj eller rediger følgende linjer:
    
    [ req ]
    default_bits = 2048
    default_keyfile = privkey.pem
    distinguished_name = req_distinguished_name
    attributes = req_attributes
    x509_extensions = v3_ca # The extentions to add to the self signed cert
        
  5. Find sektionen [ v3_ca ] og tilføj eller rediger følgende linjer:
    
    [ v3_ca ]
    subjectKeyIdentifier = hash
    authorityKeyIdentifier = keyid:always,issuer
    basicConstraints = CA:true
        

Disse ændringer i openssl.cnf filen sikrer, at certifikaterne kan oprettes og signeres korrekt for at danne en længere certifikatkæde.

Opret din første opgave på få minutter

Spar dig selv for besvær og kom igennem din to-do liste i dag

1

Beskriv din opgave

2

Modtag bud

3

Få løst din opgave

opgaver platform services

Møbelsamling

Hjælp med at samle Ikea klædeskab

opgaver platform services

Maler

Klargøring af lejlighed til flyttesyn

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Havearbejde

Beskæring af 4 større træer

opgaver platform services

IT support

Geninstallering af windows + programmer

opgaver platform services

Elektriker

Installation af Sonos musikanlæg i hus

opgaver platform services

Rengøring

Ugentlig rengøring af lejlighed (114kvm)

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Elektriker

Opsætning af lamper i stue og soveværelse

opgaver platform services

Catering

3-retters menu til 14 mennesker