Benutzer-Werkzeuge

Webseiten-Werkzeuge


adcs

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
adcs [2025/04/10 08:16]
jango angelegt
adcs [2025/04/12 11:59] (aktuell)
jango
Zeile 1: Zeile 1:
-=====Request=====+[[Active Directory]] Certificate Services (ADCS) ist eine Serverrolle von Microsoft Windows Server, die es ermöglicht, eine [[pki|Public Key Infrastructure]] (PKI) innerhalb einer [[Active Directory|Windows-Domäne]] bereitzustellen. Sie wird verwendet, um digitale Zertifikate auszustellen, zu verwalten, zu erneuern und zu widerrufen. Diese Zertifikate können zur Authentifizierung, Verschlüsselung und Signierung in verschiedenen Szenarien verwendet werden (z. B. für HTTPS, [[Email]]-[[kryptographie|Verschlüsselung]], Smartcards oder [[VPN]]).
  
-webserver.inf+Siehe auch [[x509]] 
 + 
 +ADCS Tools/SnapIns 
 +|certsrv.msc|Verwaltung der Zertifizierungsstelle| 
 +|certtmpl.msc|Verwaltung der Zertifikatvorlagen| 
 +|certreq.exe|Zertifikatsanforderung per CLI| 
 +|certutil.exe|Diagnose und Management per CLI| 
 +|MMC → Zertifikate|Anzeige und Export von Zertifikaten| 
 + 
 +ADCS veröffentlicht Zertifikate und Sperrlisten (CRL: Certifficate revokation list) unter folgenden Pfaden: 
 + 
 +|CDP (CRL Distribution Point)|Speicherort der Sperrliste|http://pki.domain.local/CRL/ca.crl| 
 +|AIA (Authority Information Access)|Speicherort des CA-Zertifikats|http://pki.domain.local/CA.crt| 
 + 
 +=====Komponenten===== 
 + 
 +|Zertifizierungsstelle (CA)|Der zentrale Dienst, der Zertifikate ausstellt und verwaltet.| 
 +|Web Enrollment|Weboberfläche zur Zertifikatsanforderung und -verwaltung.| 
 +|Online Responder (OCSP)|Dient der Überprüfung von Zertifikatsstatus in Echtzeit.| 
 +|Network Device Enrollment Service (NDES)|Ermöglicht die Anmeldung von Netzwerkgeräten (z. B. Router, Switches).| 
 +|Zertifikatvorlagen (Templates)|Vordefinierte Einstellungen für automatische und manuelle Zertifikatserstellung.| 
 +|Zertifikatverteilungspunkte (CDP/AIA)|Speicherorte für Sperrlisten (CRL) und CA-Zertifikate.| 
 + 
 +=====CSR (Certificate signing request)===== 
 + 
 +Erstelle eine Datei, z.B webserver.inf (Mit certtmpl.msc kannst du alle Vorlagen anzeigen)
  
 <code> <code>
Zeile 31: Zeile 56:
 </code> </code>
  
-Einen CSR erzeugen.+Erzeuge einen CSR auf dem betreffenden Server.
 <code> <code>
 certreq -new webserver.inf webserver.req certreq -new webserver.inf webserver.req
 </code> </code>
  
-Die req Datei auf die CA kopieren und das Zertifikat erzeugen.+Die req Datei jetzt auf die CA kopieren und das Zertifikat erzeugen.
 <code> <code>
 certreq -submit webserver.req webserver.cer certreq -submit webserver.req webserver.cer
 </code> </code>
  
-Zertifikat wieder auf den Webserver kopieren und bestätigen.+Das erzeugte Zertifikat wieder auf den Webserver kopieren und bestätigen.
 <code> <code>
 certreq -accept webserver.cer certreq -accept webserver.cer
 </code> </code>
  
-Export als PFX (inkl private key)+Zertifikat als PFX (inkl private key) exportieren.
 <code powershell> <code powershell>
 # Öffne PowerShell als Administrator # Öffne PowerShell als Administrator
-$cert = Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -like "*www.meinserver.de*" }+$cert = Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -like "*domain.com*" }
 $pwd = ConvertTo-SecureString -String "MeinSicheresPasswort123" -Force -AsPlainText $pwd = ConvertTo-SecureString -String "MeinSicheresPasswort123" -Force -AsPlainText
 Export-PfxCertificate -Cert $cert -FilePath "C:\webserver.pfx" -Password $pwd Export-PfxCertificate -Cert $cert -FilePath "C:\webserver.pfx" -Password $pwd
 </code> </code>
  
-PFX installieren+Zertifikat als PFX (inkl private key) installieren.
 <code> <code>
 Import-PfxCertificate -FilePath "C:\webserver.pfx" -CertStoreLocation Cert:\LocalMachine\My Import-PfxCertificate -FilePath "C:\webserver.pfx" -CertStoreLocation Cert:\LocalMachine\My
 +</code>
 +
 +=====CRL (Certificate revokation list)=====
 +
 +<code powershell>
 +PS C:\> $cert = Get-ChildItem -Path Cert:\LocalMachine\My | Select-Object -First 1
 +PS C:\> $cert.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Cert) | Set-Content -Path "C:\Temp\ExportedCert.cer" -Encoding Byte
 +PS C:\> certutil -urlfetch -verify "C:\Temp\ExportedCert.cer"
 +
 +Aussteller:
 +    CN=EnterpriseIssuingCA
 +    DC=d2000
 +    DC=local
 +  Namenshash (sha1): 20177fd169ec3c09be924512e96b8109379fbaa0
 +  Namenshash (md5): 20eaa93acd9358a358a56ae652663417
 +Antragsteller:
 +    CN=audit.akm.at
 +  Namenshash (sha1): 49ea13ae2a8a41a8b96f9a42e2663f821e693a36
 +  Namenshash (md5): 2d67cd2da7891e75a22a19423e885094
 +Zertifikatseriennummer: 4b00004747b1656e05970d297b000100004747
 +
 +dwFlags = CA_VERIFY_FLAGS_CONSOLE_TRACE (0x20000000)
 +dwFlags = CA_VERIFY_FLAGS_DUMP_CHAIN (0x40000000)
 +ChainFlags = CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT (0x40000000)
 +HCCE_LOCAL_MACHINE
 +CERT_CHAIN_POLICY_BASE
 +-------- CERT_CHAIN_CONTEXT --------
 +ChainContext.dwInfoStatus = CERT_TRUST_HAS_PREFERRED_ISSUER (0x100)
 +ChainContext.dwRevocationFreshnessTime: 206 Days, 7 Hours, 16 Minutes, 25 Seconds
 +
 +SimpleChain.dwInfoStatus = CERT_TRUST_HAS_PREFERRED_ISSUER (0x100)
 +SimpleChain.dwRevocationFreshnessTime: 206 Days, 7 Hours, 16 Minutes, 25 Seconds
 +
 +CertContext[0][0]: dwInfoStatus=102 dwErrorStatus=0
 +  Issuer: CN=EnterpriseIssuingCA, DC=d2000, DC=local
 +  NotBefore: 10.04.2025 07:56
 +  NotAfter: 10.04.2027 07:56
 +  Subject: CN=audit.akm.at
 +  Serial: 4b00004747b1656e05970d297b000100004747
 +  SubjectAltName: DNS-Name=audit.akm.at, DNS-Name=vie-t-srv-audit.d2000.local
 +  Template: WebServer
 +  Cert: e47af028e60d14590d95ad69ca8b76e8da17e408
 +  Element.dwInfoStatus = CERT_TRUST_HAS_KEY_MATCH_ISSUER (0x2)
 +  Element.dwInfoStatus = CERT_TRUST_HAS_PREFERRED_ISSUER (0x100)
 +  ----------------  Zertifikat abrufen  ----------------
 +  Überprüft "Zertifikat (0)" Zeit: 0 c11c4a123232d5756221fa5b6a7e81fbd7d0a03d
 +    [0.0] ldap:///CN=EnterpriseIssuingCA,CN=AIA,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=d2000,DC=local?cACertificate?base?objectClass=certificationAuthority
 +
 +  Überprüft "Zertifikat (1)" Zeit: 0 b61438f8d5b0ba453066f20db4a290d0032c2d3c
 +    [0.1] ldap:///CN=EnterpriseIssuingCA,CN=AIA,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=d2000,DC=local?cACertificate?base?objectClass=certificationAuthority
 +
 +  Überprüft "Zertifikat (1)" Zeit: 0 b61438f8d5b0ba453066f20db4a290d0032c2d3c
 +    [1.0] http://pki.akm.at/pki/vie-srv-ca01.d2000.local_EnterpriseIssuingCA(1).crt
 +
 +  ----------------  Zertifikat abrufen  ----------------
 +  Überprüft "Basissperrliste (0151)" Zeit: 0 7d8932bc1119d3f18f083cbef8c778d5e37e81a7
 +    [0.0] ldap:///CN=EnterpriseIssuingCA,CN=vie-srv-ca01,CN=CDP,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=d2000,DC=local?certificateRevocationList?base?objectClass=cRLDistributionPoint
 +
 +  Überprüft "Deltasperrliste (0151)" Zeit: 0 87bb070928de8de2a98f70c9c0f61e35be189cd7
 +    [0.0.0] ldap:///CN=EnterpriseIssuingCA,CN=vie-srv-ca01,CN=CDP,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=d2000,DC=local?deltaRevocationList?base?objectClass=cRLDistributionPoint
 +
 +  Überprüft "Deltasperrliste (0151)" Zeit: 0 87bb070928de8de2a98f70c9c0f61e35be189cd7
 +    [0.0.1] http://pki.akm.at/pki/EnterpriseIssuingCA+.crl
 +
 +  Überprüft "Basissperrliste (0151)" Zeit: 0 7d8932bc1119d3f18f083cbef8c778d5e37e81a7
 +    [1.0] http://pki.akm.at/pki/EnterpriseIssuingCA.crl
 +
 +  Überprüft "Deltasperrliste (0151)" Zeit: 0 87bb070928de8de2a98f70c9c0f61e35be189cd7
 +    [1.0.0] ldap:///CN=EnterpriseIssuingCA,CN=vie-srv-ca01,CN=CDP,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=d2000,DC=local?deltaRevocationList?base?objectClass=cRLDistributionPoint
 +
 +  Überprüft "Deltasperrliste (0151)" Zeit: 0 87bb070928de8de2a98f70c9c0f61e35be189cd7
 +    [1.0.1] http://pki.akm.at/pki/EnterpriseIssuingCA+.crl
 +
 +  ----------------  Basissperrliste veraltet  ----------------
 +  Keine URLs "Keine" Zeit: 0 (null)
 +  ----------------  Zertifikat-OCSP  ----------------
 +  Keine URLs "Keine" Zeit: 0 (null)
 +  --------------------------------
 +    CRL 0150:
 +    Issuer: CN=EnterpriseIssuingCA, DC=d2000, DC=local
 +    ThisUpdate: 09.04.2025 12:10
 +    NextUpdate: 24.04.2025 00:30
 +    CRL: 11e66ec51ef72d189c669893c0b4aa0635f1f5f9
 +  Application[0] = 1.3.6.1.5.5.7.3.1 Serverauthentifizierung
 +
 +CertContext[0][1]: dwInfoStatus=102 dwErrorStatus=0
 +  Issuer: CN=ROOTCA
 +  NotBefore: 06.04.2020 14:25
 +  NotAfter: 06.04.2034 14:35
 +  Subject: CN=EnterpriseIssuingCA, DC=d2000, DC=local
 +  Serial: 730000000402f3944965a14fd6000100000004
 +  Template: SubCA
 +  Cert: b61438f8d5b0ba453066f20db4a290d0032c2d3c
 +  Element.dwInfoStatus = CERT_TRUST_HAS_KEY_MATCH_ISSUER (0x2)
 +  Element.dwInfoStatus = CERT_TRUST_HAS_PREFERRED_ISSUER (0x100)
 +  ----------------  Zertifikat abrufen  ----------------
 +  Überprüft "Zertifikat (0)" Zeit: 0 003a30d9ef730a81e36684c1cfc3aa0fb3b1f979
 +    [0.0] http://pki.akm.at/pki/RootCA_ROOTCA(1).crt
 +
 +  Überprüft "Zertifikat (1)" Zeit: 0 81b85e9c5ca43c4be4fb8f343edbfb5a3d8df18f
 +    [1.0] ldap:///CN=ROOTCA,CN=AIA,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=d2000,DC=local?cACertificate?base?objectClass=certificationAuthority
 +
 +  Überprüft "Zertifikat (0)" Zeit: 0 003a30d9ef730a81e36684c1cfc3aa0fb3b1f979
 +    [1.1] ldap:///CN=ROOTCA,CN=AIA,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=d2000,DC=local?cACertificate?base?objectClass=certificationAuthority
 +
 +  ----------------  Zertifikat abrufen  ----------------
 +  Abgelaufen "Basissperrliste (12)" Zeit: 0 4c44fba92c822a6bf632b2c531ad75443eab2711
 +    [0.0] http://pki.akm.at/pki/ROOTCA.crl
 +
 +  Überprüft "Basissperrliste (14)" Zeit: 0 de9f7a941d1db2df69780bb385901f3047b00ffc
 +    [1.0] ldap:///CN=ROOTCA,CN=RootCA,CN=CDP,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=d2000,DC=local?certificateRevocationList?base?objectClass=cRLDistributionPoint
 +
 +  ----------------  Basissperrliste veraltet  ----------------
 +  Keine URLs "Keine" Zeit: 0 (null)
 +  ----------------  Zertifikat-OCSP  ----------------
 +  Keine URLs "Keine" Zeit: 0 (null)
 +  --------------------------------
 +    CRL 14:
 +    Issuer: CN=ROOTCA
 +    ThisUpdate: 16.09.2024 08:47
 +    NextUpdate: 16.09.2025 21:07
 +    CRL: de9f7a941d1db2df69780bb385901f3047b00ffc
 +
 +CertContext[0][2]: dwInfoStatus=10c dwErrorStatus=0
 +  Issuer: CN=ROOTCA
 +  NotBefore: 27.09.2012 08:24
 +  NotAfter: 06.04.2048 13:12
 +  Subject: CN=ROOTCA
 +  Serial: 323eab5b4a53dda34ebcdde98394ea6a
 +  Cert: 003a30d9ef730a81e36684c1cfc3aa0fb3b1f979
 +  Element.dwInfoStatus = CERT_TRUST_HAS_NAME_MATCH_ISSUER (0x4)
 +  Element.dwInfoStatus = CERT_TRUST_IS_SELF_SIGNED (0x8)
 +  Element.dwInfoStatus = CERT_TRUST_HAS_PREFERRED_ISSUER (0x100)
 +  ----------------  Zertifikat abrufen  ----------------
 +  Keine URLs "Keine" Zeit: 0 (null)
 +  ----------------  Zertifikat abrufen  ----------------
 +  Keine URLs "Keine" Zeit: 0 (null)
 +  ----------------  Zertifikat-OCSP  ----------------
 +  Keine URLs "Keine" Zeit: 0 (null)
 +  --------------------------------
 +
 +Exclude leaf cert:
 +  Chain: fd786397872f5f43ee14c7592bf62f0f0d950d70
 +Full chain:
 +  Chain: 12cc956f02358ef15baa12297568acc4259d370e
 +------------------------------------
 +Verfizierte Ausstellungsrichtlinien: Kein
 +Verfizierte Anwendungsrichtlinien:
 +    1.3.6.1.5.5.7.3.1 Serverauthentifizierung
 +Sperrstatussüberprüfung des untergeordneten Zertifikats erfolgreich abgeschlossen.
 +CertUtil: -verify-Befehl wurde erfolgreich ausgeführt.
 +</code>
 +
 +=====CLI=====
 +
 +<code>
 +# Zeige alle Templates
 +certtmpl.msc
 </code> </code>
adcs.1744265802.txt.gz · Zuletzt geändert: 2025/04/10 08:16 von jango