Verifiera Azure Stack Hub PKI-certifikatValidate Azure Stack Hub PKI certificates

Verktyget Azure Stack Hub readiness Checker som beskrivs i den här artikeln är tillgängligt från PowerShell-galleriet.The Azure Stack Hub Readiness Checker tool described in this article is available from the PowerShell Gallery. Använd verktyget för att verifiera att genererade PKI-certifikat (Public Key Infrastructure) är lämpliga för för distribution.Use the tool to validate that generated public key infrastructure (PKI) certificates are suitable for pre-deployment. Verifiera certifikat genom att lämna tillräckligt med tid för att testa och utfärda certifikat om det behövs.Validate certificates by leaving enough time to test and reissue certificates if necessary.

Verktyget readiness Checker utför följande certifikat valideringar:The Readiness Checker tool performs the following certificate validations:

  • Parsa PFXParse PFX
    Söker efter giltig PFX-fil, rätt lösen ord och om den offentliga informationen skyddas av lösen ordet.Checks for valid PFX file, correct password, and whether the public information is protected by the password.
  • FörfallodatumExpiry Date
    Söker efter lägsta giltighet sju dagar.Checks for minimum validity of seven days.
  • SignaturalgoritmSignature algorithm
    Kontrollerar att signeringsalgoritmen inte är SHA1.Checks that the signature algorithm isn't SHA1.
  • Privat nyckelPrivate Key
    Kontrollerar att den privata nyckeln finns och exporteras med det lokala dator-attributet.Checks that the private key is present and is exported with the local machine attribute.
  • Certifikat kedjaCert chain
    Kontrollerar att certifikat kedjan är intakt med en kontroll av självsignerade certifikat.Checks certificate chain is intact including a check for self-signed certificates.
  • DNS-namnDNS names
    Kontrollerar att SAN-nätverket innehåller relevanta DNS-namn för varje slut punkt eller om det finns stöd för jokertecken.Checks the SAN contains relevant DNS names for each endpoint or if a supporting wildcard is present.
  • Nyckel användningKey usage
    Kontrollerar om nyckel användningen innehåller en digital signatur och nyckelchiffrering och kontrollerar om förbättrad nyckel användning innehåller serverautentisering och klientautentisering.Checks if the key usage contains a digital signature and key encipherment and checks if enhanced key usage contains server authentication and client authentication.
  • Nyckel storlekKey size
    Kontrollerar om nyckel storleken är 2048 eller större.Checks if the key size is 2048 or larger.
  • Kedje ordningChain order
    Kontrollerar ordningen på de andra certifikaten som verifierar att ordern är korrekt.Checks the order of the other certificates validating that the order is correct.
  • Andra certifikatOther certificates
    Se till att inga andra certifikat har paketerats i PFX förutom det relevanta löv certifikatet och dess kedja.Ensure no other certificates have been packaged in PFX other than the relevant leaf certificate and its chain.

Viktigt

PKI-certifikatet är en PFX-fil och lösen ord ska behandlas som känslig information.The PKI certificate is a PFX file and password should be treated as sensitive information.

FörutsättningarPrerequisites

Systemet bör uppfylla följande krav innan du verifierar PKI-certifikat för en Azure Stack Hub-distribution:Your system should meet the following prerequisites before validating PKI certificates for an Azure Stack Hub deployment:

  • Microsoft Azure Stack Hub readiness Checker.Microsoft Azure Stack Hub Readiness Checker.
  • SSL-certifikat som exporter ATS enligt förberedelse anvisningarna.SSL Certificate(s) exported following the preparation instructions.
  • DeploymentData.jspå.DeploymentData.json.
  • Windows 10 eller Windows Server 2016.Windows 10 or Windows Server 2016.

Utför certifikatsverifiering för kärntjänsterPerform core services certificate validation

Använd de här stegen för att verifiera Azure Stack Hub PKI-certifikat för distribution och hemlig rotation:Use these steps to validate the Azure Stack Hub PKI certificates for deployment and secret rotation:

  1. Installera AzsReadinessChecker från en PowerShell-prompt (5,1 eller senare) genom att köra följande cmdlet:Install AzsReadinessChecker from a PowerShell prompt (5.1 or above) by running the following cmdlet:

        Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
    
  2. Skapa certifikat katalog strukturen.Create the certificate directory structure. I exemplet nedan kan du ändra <C:\Certificates\Deployment> till en ny katalog Sök väg.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}
    

    Anteckning

    AD FS och Graph krävs om du använder AD FS som identitets system.AD FS and Graph are required if you're using AD FS as your identity system. Till exempel:For example:

    $directories = 'ACSBlob', 'ACSQueue', 'ACSTable', 'ADFS', 'Admin Extension Host', 'Admin Portal', 'ARM Admin', 'ARM Public', 'Graph', 'KeyVault', 'KeyVaultInternal', 'Public Extension Host', 'Public Portal'
    
    • Placera dina certifikat i lämpliga kataloger som skapats i föregående steg.Place your certificate(s) in the appropriate directories created in the previous step. Till exempel:For example:
      • C:\Certificates\Deployment\ACSBlob\CustomerCertificate.pfx
      • C:\Certificates\Deployment\Admin Portal\CustomerCertificate.pfx
      • C:\Certificates\Deployment\ARM Admin\CustomerCertificate.pfx
  3. I PowerShell-fönstret, ändra värdena för RegionName FQDN och IdentitySystem lämpligt för Azure Stack Hub-miljön och kör följande cmdlet:In the PowerShell window, change the values of RegionName, FQDN and IdentitySystem 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  
    
  4. Kontrol lera utdata och se till att alla certifikat klarar alla tester.Check the output and ensure that all certificates pass all tests. Till exempel: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
    
    

    Ändra värdet för om du vill verifiera certifikat för andra Azure Stack Hub-tjänster -CertificateType .To validate certificates for other Azure Stack Hub services, change the value for -CertificateType. Till exempel: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
    

    Varje mapp bör innehålla en enda PFX-fil för certifikat typen.Each folder should contain a single PFX file for the certificate type. Om en certifikat typ har krav på flera certifikat, förväntas kapslade mappar för varje enskilt certifikat och vara namn känsliga.If a certificate type has multi-certificate requirements, nested folders for each individual certificate are expected and name-sensitive. Följande kod visar en exempel-mapp/certifikat struktur för alla certifikat typer och lämpligt värde för -CertificateType och -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
    

Kända problemKnown issues

Symptom: testerna hoppas överSymptom: Tests are skipped

Orsak: AzsReadinessChecker hoppar över vissa tester om ett beroende inte uppfylls:Cause: AzsReadinessChecker skips certain tests if a dependency isn't met:

  • Andra certifikat hoppas över om det inte går att certifikat kedjan.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
    

Lösning: Följ verktygets vägledning i avsnittet information under varje uppsättning tester för varje certifikat.Resolution: Follow the tool's guidance in the details section under each set of tests for each certificate.

Symptom: http CRL-kontrollen Miss lyckas trots att ett http-CDP har skrivits till x509-tillägg.Symptom: HTTP CRL Checking fails despite having an HTTP CDP written to x509 extensions.

Orsak: för närvarande kan AzsReadinessChecker inte söka efter http CDP på vissa språk.Cause: Currently, AzsReadinessChecker can't check for HTTP CDP in some languages.

Lösning: kör verifiering med OS-språket inställt på en-US.Resolution: Run validation with OS language set to EN-US.

CertifikatCertificates

KatalogDirectory CertifikatCertificate
ACSBlobACSBlob wildcard_blob_<region>_<externalFQDN>
ACSQueueACSQueue wildcard_queue_<region>_<externalFQDN>
ACSTableACSTable wildcard_table_<region>_<externalFQDN>
Administratörs tilläggs värdAdmin Extension Host wildcard_adminhosting_<region>_<externalFQDN>
AdministratörsportalAdmin Portal adminportal_<region>_<externalFQDN>
ARM-administratörARM Admin adminmanagement_<region>_<externalFQDN>
ARM-offentligARM Public management_<region>_<externalFQDN>
KeyVaultKeyVault wildcard_vault_<region>_<externalFQDN>
KeyVaultInternalKeyVaultInternal wildcard_adminvault_<region>_<externalFQDN>
Offentlig förlängnings värdPublic Extension Host wildcard_hosting_<region>_<externalFQDN>
Offentlig PortalPublic Portal portal_<region>_<externalFQDN>

Använda verifierade certifikatUsing validated certificates

När dina certifikat har verifierats av AzsReadinessChecker är du redo att använda dem i Azure Stack hubb distribution eller för Azure Stack hubbens hemliga rotation.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.

Nästa stegNext steps

Data Center Identity IntegrationDatacenter identity integration