PKI-certificaten van Azure Stack Hub validerenValidate Azure Stack Hub PKI certificates
Het hulp programma Azure Stack hub Readiness Checker dat in dit artikel wordt beschreven, is beschikbaar via de PowerShell Gallery.The Azure Stack Hub Readiness Checker tool described in this article is available from the PowerShell Gallery. Gebruik het hulp programma om te controleren of de gegenereerde PKI-certificaten (Public Key Infrastructure) geschikt zijn voor de pre-implementatie.Use the tool to validate that generated public key infrastructure (PKI) certificates are suitable for pre-deployment. Valideer certificaten door voldoende tijd te hebben om de certificaten zo nodig te testen en opnieuw uit te geven.Validate certificates by leaving enough time to test and reissue certificates if necessary.
Het hulp programma gereedheids controle voert de volgende certificaat validaties uit:The Readiness Checker tool performs the following certificate validations:
- PFX parserenParse PFX
Hiermee wordt gecontroleerd op een geldig PFX-bestand, het juiste wacht woord en of de open bare gegevens worden beveiligd met het wacht woord.Checks for valid PFX file, correct password, and whether the public information is protected by the password. - VervaldatumExpiry Date
Hiermee wordt de minimum geldigheid van zeven dagen gecontroleerd.Checks for minimum validity of seven days. - Handtekening algoritmeSignature algorithm
Hiermee wordt gecontroleerd of het handtekening algoritme niet SHA1 is.Checks that the signature algorithm isn't SHA1. - Persoonlijke sleutelPrivate Key
Controleert of de persoonlijke sleutel aanwezig is en wordt geëxporteerd met het kenmerk lokale computer.Checks that the private key is present and is exported with the local machine attribute. - Certificaat ketenCert chain
Controleert of de certificaat keten intact is, inclusief een controle op zelfondertekende certificaten.Checks certificate chain is intact including a check for self-signed certificates. - DNS-namenDNS names
Controleert of de SAN relevante DNS-namen bevat voor elk eind punt of dat er een ondersteunings Joker teken aanwezig is.Checks the SAN contains relevant DNS names for each endpoint or if a supporting wildcard is present. - Sleutel gebruikKey usage
Controleert of het sleutel gebruik een digitale hand tekening en sleutel codering bevat en controleert of Enhanced Key Usage Server verificatie en client verificatie bevat.Checks if the key usage contains a digital signature and key encipherment and checks if enhanced key usage contains server authentication and client authentication. - SleutelgrootteKey size
Hiermee wordt gecontroleerd of de sleutel grootte 2048 of groter is.Checks if the key size is 2048 or larger. - Keten volgordeChain order
Controleert de volg orde van de andere certificaten die controleren of de volg orde juist is.Checks the order of the other certificates validating that the order is correct. - Andere certificatenOther certificates
Zorg ervoor dat er geen andere certificaten zijn verpakt in een andere PFX dan het relevante blad certificaat en de bijbehorende keten.Ensure no other certificates have been packaged in PFX other than the relevant leaf certificate and its chain.
Belangrijk
Het PKI-certificaat is een PFX-bestand en het wacht woord moet worden behandeld als gevoelige informatie.The PKI certificate is a PFX file and password should be treated as sensitive information.
VereistenPrerequisites
Uw systeem moet voldoen aan de volgende vereisten voordat u PKI-certificaten valideert voor een implementatie van een Azure Stack hub:Your system should meet the following prerequisites before validating PKI certificates for an Azure Stack Hub deployment:
- Microsoft Azure Stack hub-gereedheids controleprogramma.Microsoft Azure Stack Hub Readiness Checker.
- Te exporteren SSL-certificaten na de voorbereidings instructies.SSL Certificate(s) exported following the preparation instructions.
- DeploymentData.jsop.DeploymentData.json.
- Windows 10 of Windows Server 2016.Windows 10 or Windows Server 2016.
Validatie uitvoeren van coreservicecertificatenPerform core services certificate validation
Gebruik de volgende stappen om de PKI-certificaten van Azure Stack hub te valideren voor implementatie en voor een geheim draaiing:Use these steps to validate the Azure Stack Hub PKI certificates for deployment and secret rotation:
Installeer AzsReadinessChecker via een Power shell-prompt (5,1 of hoger) door de volgende cmdlet uit te voeren:Install AzsReadinessChecker from a PowerShell prompt (5.1 or above) by running the following cmdlet:
Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
Maak de directory structuur van het certificaat.Create the certificate directory structure. In het onderstaande voor beeld kunt u overschakelen
<C:\Certificates\Deployment>
naar een nieuw mappad naar keuze.In the example below, you can change<C:\Certificates\Deployment>
to a new directory path of your choice.New-Item C:\Certificates\Deployment -ItemType Directory $directories = 'ACSBlob', 'ACSQueue', 'ACSTable', 'Admin Extension Host', 'Admin Portal', 'ARM Admin', 'ARM Public', 'KeyVault', 'KeyVaultInternal', 'Public Extension Host', 'Public Portal' $destination = 'C:\Certificates\Deployment' $directories | % { New-Item -Path (Join-Path $destination $PSITEM) -ItemType Directory -Force}
Notitie
AD FS en Graph zijn vereist als u AD FS als uw identiteits systeem gebruikt.AD FS and Graph are required if you're using AD FS as your identity system. Bijvoorbeeld:For example:
$directories = 'ACSBlob', 'ACSQueue', 'ACSTable', 'ADFS', 'Admin Extension Host', 'Admin Portal', 'ARM Admin', 'ARM Public', 'Graph', 'KeyVault', 'KeyVaultInternal', 'Public Extension Host', 'Public Portal'
- Plaats uw certificaten in de juiste directory's die u in de vorige stap hebt gemaakt.Place your certificate(s) in the appropriate directories created in the previous step. Bijvoorbeeld:For example:
C:\Certificates\Deployment\ACSBlob\CustomerCertificate.pfx
C:\Certificates\Deployment\Admin Portal\CustomerCertificate.pfx
C:\Certificates\Deployment\ARM Admin\CustomerCertificate.pfx
- Plaats uw certificaten in de juiste directory's die u in de vorige stap hebt gemaakt.Place your certificate(s) in the appropriate directories created in the previous step. Bijvoorbeeld:For example:
In het Power shell-venster wijzigt u de waarden van
RegionName
FQDN
enIdentitySystem
past u deze toe op de Azure stack hub-omgeving en voert u de volgende cmdlet uit:In the PowerShell window, change the values ofRegionName
,FQDN
andIdentitySystem
appropriate to the Azure Stack Hub environment and run the following cmdlet:$pfxPassword = Read-Host -Prompt "Enter PFX Password" -AsSecureString Invoke-AzsHubDeploymentCertificateValidation -CertificatePath C:\Certificates\Deployment -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com -IdentitySystem AAD
Controleer de uitvoer en zorg ervoor dat alle certificaten alle tests door geven.Check the output and ensure that all certificates pass all tests. Bijvoorbeeld:For example:
Invoke-AzsHubDeploymentCertificateValidation v1.2005.1286.272 started. Testing: KeyVaultInternal\KeyVaultInternal.pfx Thumbprint: E86699****************************4617D6 PFX Encryption: OK Expiry Date: OK Signature Algorithm: OK DNS Names: OK Key Usage: OK Key Length: OK Parse PFX: OK Private Key: OK Cert Chain: OK Chain Order: OK Other Certificates: OK Testing: ARM Public\ARMPublic.pfx Thumbprint: 8DC4D9****************************69DBAA PFX Encryption: OK Expiry Date: OK Signature Algorithm: OK DNS Names: OK Key Usage: OK Key Length: OK Parse PFX: OK Private Key: OK Cert Chain: OK Chain Order: OK Other Certificates: OK Testing: Admin Portal\AdminPortal.pfx Thumbprint: 6F9055****************************4AC0EA PFX Encryption: OK Expiry Date: OK Signature Algorithm: OK DNS Names: OK Key Usage: OK Key Length: OK Parse PFX: OK Private Key: OK Cert Chain: OK Chain Order: OK Other Certificates: OK Testing: Public Portal\PublicPortal.pfx Log location (contains PII): C:\Users\[*redacted*]\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessChecker.log Report location (contains PII): C:\Users\[*redacted*]\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessCheckerReport.json Invoke-AzsHubDeploymentCertificateValidation Completed
Als u certificaten voor andere Azure Stack hub-Services wilt valideren, wijzigt u de waarde voor
-CertificateType
.To validate certificates for other Azure Stack Hub services, change the value for-CertificateType
. Bijvoorbeeld:For example:# App Services Invoke-AzsHubAppServicesCertificateValidation -CertificatePath C:\Certificates\AppServices -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com # DBAdapter Invoke-AzsHubDBAdapterCertificateValidation -CertificatePath C:\Certificates\DBAdapter -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com # EventHubs Invoke-AzsHubEventHubsCertificateValidation -CertificatePath C:\Certificates\EventHubs -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com # IoTHub Invoke-AzsHubIoTHubCertificateValidation -CertificatePath C:\Certificates\IoTHub -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com
Elke map moet één PFX-bestand bevatten voor het certificaat type.Each folder should contain a single PFX file for the certificate type. Als voor een certificaat type meerdere certificaat vereisten gelden, worden geneste mappen voor elk afzonderlijk certificaat verwacht en naam gevoelig.If a certificate type has multi-certificate requirements, nested folders for each individual certificate are expected and name-sensitive. De volgende code toont een voor beeld van een map/certificaat structuur voor alle certificaat typen en de juiste waarde voor
-CertificateType
en-CertificatePath
.The following code shows an example folder/certificate structure for all certificate types, and the appropriate value for-CertificateType
and-CertificatePath
.C:\>tree c:\SecretStore /A /F Folder PATH listing Volume serial number is 85AE-DF2E C:\SECRETSTORE \---AzureStack +---CertificateRequests \---Certificates +---AppServices # Invoke-AzsCertificateValidation ` | +---API # -CertificateType AppServices ` | | api.pfx # -CertificatePath C:\Certificates\AppServices | | | +---DefaultDomain | | wappsvc.pfx | | | +---Identity | | sso.pfx | | | \---Publishing | ftp.pfx | +---DBAdapter # Invoke-AzsCertificateValidation ` | dbadapter.pfx # -CertificateType DBAdapter ` | # -CertificatePath C:\Certificates\DBAdapter | +---Deployment # Invoke-AzsCertificateValidation ` | +---ACSBlob # -CertificateType Deployment ` | | acsblob.pfx # -CertificatePath C:\Certificates\Deployment | | | +---ACSQueue | | acsqueue.pfx ./. ./. ./. ./. ./. ./. ./. <- Deployment certificate tree trimmed. | \---Public Portal | portal.pfx | +---EventHubs # Invoke-AzsCertificateValidation ` | eventhubs.pfx # -CertificateType EventHubs ` | # -CertificatePath C:\Certificates\EventHubs | \---IoTHub # Invoke-AzsCertificateValidation ` iothub.pfx # -CertificateType IoTHub ` # -CertificatePath C:\Certificates\IoTHub
Bekende problemenKnown issues
Symptoom: testen worden overgeslagenSymptom: Tests are skipped
Oorzaak: AzsReadinessChecker slaat bepaalde tests over als er niet aan een afhankelijkheid wordt voldaan:Cause: AzsReadinessChecker skips certain tests if a dependency isn't met:
Andere certificaten worden overgeslagen als de certificaat keten mislukt.Other certificates are skipped if certificate chain fails.
Testing: ACSBlob\singlewildcard.pfx Read PFX: OK Signature Algorithm: OK Private Key: OK Cert Chain: OK DNS Names: Fail Key Usage: OK Key Size: OK Chain Order: OK Other Certificates: Skipped Details: The certificate records '*.east.azurestack.contoso.com' do not contain a record that is valid for '*.blob.east.azurestack.contoso.com'. Please refer to the documentation for how to create the required certificate file. The Other Certificates check was skipped because Cert Chain and/or DNS Names failed. Follow the guidance to remediate those issues and recheck. Log location (contains PII): C:\Users\username\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessChecker.log Report location (contains PII): C:\Users\username\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessCheckerReport.json Invoke-AzsCertificateValidation Completed
Oplossing: Volg de richt lijnen van het hulp programma in de sectie Details onder elke set tests voor elk certificaat.Resolution: Follow the tool's guidance in the details section under each set of tests for each certificate.
Symptoom: de http-CRL-controle mislukt ondanks dat er een http-CDP is geschreven naar x509-extensies.Symptom: HTTP CRL Checking fails despite having an HTTP CDP written to x509 extensions.
Oorzaak: momenteel kan AzsReadinessChecker niet in sommige talen controleren op http CDP.Cause: Currently, AzsReadinessChecker can't check for HTTP CDP in some languages.
Oplossing: Voer een validatie uit waarbij de taal van het besturings systeem is ingesteld op en-us.Resolution: Run validation with OS language set to EN-US.
CertificatenCertificates
DirectoryDirectory | CertificaatCertificate |
---|---|
ACSBlobACSBlob | wildcard_blob_<region>_<externalFQDN> |
ACSQueueACSQueue | wildcard_queue_<region>_<externalFQDN> |
ACSTableACSTable | wildcard_table_<region>_<externalFQDN> |
Host voor de beheer uitbreidingAdmin Extension Host | wildcard_adminhosting_<region>_<externalFQDN> |
BeheerportalAdmin Portal | adminportal_<region>_<externalFQDN> |
ARM-beheerderARM Admin | adminmanagement_<region>_<externalFQDN> |
ARM openbaarARM Public | management_<region>_<externalFQDN> |
KeyVaultKeyVault | wildcard_vault_<region>_<externalFQDN> |
KeyVaultInternalKeyVaultInternal | wildcard_adminvault_<region>_<externalFQDN> |
Open bare extensie hostPublic Extension Host | wildcard_hosting_<region>_<externalFQDN> |
Open bare PortalPublic Portal | portal_<region>_<externalFQDN> |
Gevalideerde certificaten gebruikenUsing validated certificates
Zodra uw certificaten zijn gevalideerd door de AzsReadinessChecker, kunt u deze gebruiken in de implementatie van de Azure Stack hub of voor een geheime draaiing van Azure Stack hub.Once your certificates are validated by the AzsReadinessChecker, you're ready to use them in your Azure Stack Hub deployment or for Azure Stack Hub secret rotation.
- Voor implementatie moet u uw certificaten veilig overdragen aan uw implementatie-Engineer, zodat ze deze kunnen kopiëren naar de implementatie-host zoals opgegeven in de documentatie voor de Azure stack hub PKI-vereisten.For deployment, securely transfer your certificates to your deployment engineer so that they can copy them onto the deployment host as specified in the Azure Stack Hub PKI requirements documentation.
- Voor een geheime rotatie kunt u de certificaten gebruiken om oude certificaten voor de open bare infrastructuur eindpunten van uw Azure Stack hub-omgeving bij te werken door de documentatie van de Azure stack hub-geheim rotatiete volgen.For secret rotation, you can use the certificates to update old certificates for your Azure Stack Hub environment's public infrastructure endpoints by following the Azure Stack Hub Secret Rotation documentation.
- Voor PaaS Services kunt u de certificaten gebruiken voor het installeren van SQL-, MySQL-en App Services resource providers in Azure Stack hub door het overzicht van het aanbieden van services in azure stack hub-documentatie.For PaaS services, you can use the certificates to install SQL, MySQL, and App Services Resource Providers in Azure Stack Hub by following the Overview of offering services in Azure Stack Hub documentation.
Volgende stappenNext steps
Integratie van Data Center-identiteitDatacenter identity integration