MIM 憑證管理員 Microsoft Store 應用程式部署

讓 MIM 2016 和憑證管理員啟動並執行之後,即可部署 MIM 憑證管理員 Microsoft Store 應用程式。 Microsoft Store 應用程式可讓您的使用者管理自己的實體智慧卡、虛擬智慧卡和軟體憑證。 部署 MIM CM 應用程式的步驟如下:

  1. 建立憑證範本。

  2. 建立設定檔範本。

  3. 準備應用程式。

  4. 透過 SCCM 或 Intune 部署應用程式。

建立憑證範本

您可以像平常一樣建立 CM 應用程式的憑證範本,唯一的差別是您必須確定憑證範本是第3版和更新版本。

  1. 登入執行 AD CS (憑證伺服器) 的伺服器。

  2. 開啟 MMC。

  3. 按一下 [檔案 新增/移除嵌入式管理單元]。

  4. 在 [可用的嵌入式管理單元] 清單中,按一下 [憑證範本],然後按一下 [新增]。

  5. 現在,您在 MMC 中的 [主控台根目錄] 下會看見 [憑證範本]。 按兩下來檢視所有可用的憑證範本。

  6. 以滑鼠右鍵按一下 [智慧卡登入] 範本,然後按一下 [複製範本]。

  7. 在 [相容性] 索引標籤的 [憑證授權單位] 下,選取 [Windows Server 2008]。 在 [憑證接收者] 下,選取 [Windows 8.1/Windows Server 2012 R2]。 在您初次建立並儲存憑證範本時,即會設定好範本版本。 若您未依照此方式建立憑證範本,就無法將其修改為正確版本。

    注意

    此步驟很重要,因為這可確保您有版本 3 (或更高) 的憑證範本。 只有版本 3 的範本才能使用憑證管理員應用程式。

  8. 在 [一般] 索引標籤的 [顯示名稱] 欄位中,輸入想要在應用程式的 UI 中顯示的名稱,例如虛擬智慧卡登入

  9. 在 [處理要求] 索引標籤上,將 [目的] 設定為 [簽章及加密],在 [...執行下列操作] 下選取 [註冊過程中提示使用者]。

  10. 在 [加密] 索引標籤的 [提供者類別] 下,選取 [金鑰儲存提供者和要求可使用主體電腦上可用的任何提供者]。

    注意

    如果您的範本是第 3 版,則只會看到 [金鑰儲存提供者] 選項。 如果您沒有看到,表示您可能未使用正確的版本建立憑證範本。 重新執行上述步驟 5。

  11. 在 [安全性] 索引標籤上,新增您想要提供 [註冊] 存取權的安全性群組。 例如,如果您想要提供存取權給所有使用者,請選取 [Authenticated users] 群組,然後選取 [註冊權限]。

  12. 按一下 [確定],完成您的變更並建立新的範本。 您在 [憑證範本] 清單中應該可以看到您的新範本。

  13. 選取 [檔案],按一下 [新增/移除嵌入式管理單元],將 [憑證授權單位] 嵌入式管理單元新增至 MMC 主控台。 當系統詢問您想要管理哪一部電腦時,請選取 [本機電腦]

  14. 在 MMC 的左窗格中,展開 [憑證授權單位 (本機)],然後在 [憑證授權單位] 清單內展開您的 CA。

  15. 以滑鼠右鍵按一下 [憑證範本],然後按一下 [新增] [憑證範本] 來發出。

  16. 從清單選取您建立的新範本,然後按一下 [確定]。

建立設定檔範本

當您建立設定檔範本時,請確定將它設定為建立/終結 vSC 及移除資料集合。 CM 應用程式無法處理收集的資料,所以必須停用,如下所示。

  1. 以具有系統管理權限的使用者身分登入 CM 入口網站。

  2. 前往 [管理] > [管理設定檔範本]。 確定已選取 [MIM CM 範例智慧卡登入設定檔範本] 旁邊的方塊,然後按一下 [複製選取的設定檔範本]。

  3. 輸入設定檔範本的名稱並按一下 [確定]

  4. 在下一個畫面中,按一下 [新增憑證範本],並確定核取 CA 名稱旁的方塊。

  5. 核取設定檔範本 [登入] 名稱旁的方塊,並按一下 [新增]。

  6. 核取 SmartCardLogon 範本旁邊的方塊,按一下 [刪除選取的憑證範本],將它移除,然後按一下 [確定]。

  7. 向下捲動到底部,按一下 [變更設定]。

  8. 核取 [建立/終結虛擬智慧卡] 和 [管理金鑰多樣化] 旁邊的核取方塊。

  9. 在 [使用者 PIN 原則] 下,選取 [使用者提供]。

  10. 在左窗格中,按一下[更新原則] [變更一般設定]。 選取 [更新時重複使用卡片],按一下 [確定]。

  11. 您必須按一下左窗格中的原則來停用每個原則的資料收集項目。 然後,必須選取 [範例資料項目] 旁的方塊,按一下 [刪除資料收集項目],然後按一下 [確定]

準備部署 CM 應用程式

  1. 在命令提示字元中,執行下列命令以解壓縮應用程式。 此命令會將內容解壓縮至名為 appx 的新子資料夾,並建立複本,如此您便不會修改到原始檔。

    makeappx unpack /l /p <app package name>.appx /d ./appx
    ren <app package name>.appx <app package name>.appx.original
    cd appx
    
  2. 在 appx 資料夾中,將稱為 CustomDataExample.xml 的檔案名稱變更為 Custom.data。

  3. 開啟 Custom.data 檔案,依需要修改參數。

    MIMCM URL 您用來設定 CM 的入口網站的 FQDN。 例如, https://mimcmServerAddress/certificatemanagement
    ADFS URL 如果您要使用 AD FS,請插入您的 AD FS URL。 例如, https://adfsServerSame/adfs
    如果未使用 ADFS,請使用空字串來設定此設定。 例如, <ADFS URL=""/>
    PrivacyUrl 您可以包含網頁的 URL,以說明您如何使用憑證註冊時所收集的使用者詳細資料。
    SupportMail 您可以包含用於支援問題的電子郵件地址。
    LobComplianceEnable 您可以將此參數設為 true 或 false。 預設為 true。
    MinimumPinLength 預設為 6。
    NonAdmin 您可以將此參數設為 true 或 false。 預設為 false。 只有當您想讓不是電腦系統管理員的使用者能夠註冊和更新憑證時,才需要這樣修改。

    重要

    必須指定 ADFS URL 的值。 如果未指定任何值,新款應用程式會在初次使用時就結束執行。

  4. 儲存檔案並結束編輯器。

  5. 簽署封裝會建立簽章檔案,所以您必須刪除名為 AppxSignature.p7x 的原始簽署檔案。

  6. AppxManifest.xml 檔案指定簽章憑證的主體名稱。 開啟此檔案進行編輯。

  7. 開始本節之前,您必須先取得簽章憑證。 請參閱下文,「MIM 2016 憑證管理員」步驟 1 的「讓非系統管理員能夠更新智慧卡」。

  8. 在 <Identity> 元素中,將 Publisher 屬性的值修改為與簽署憑證中所列出的主體相同,例如 “CN=SUBJECT”。

  9. 儲存檔案並結束編輯器。

  10. 在命令提示字元中,執行下列命令重新封裝並簽署 .appx 檔案。

    cd ..
    makeappx pack /l /d .\appx /p <app package name>.appx
    

    其中,app package name 是您建立複本時所使用的相同名稱。

    signtool sign /f <path\>mysign.pfx /p <pfx password> /fd "sha256" <app package name>.ap
    px
    

    這會提供新的 .appx 檔案。 Pfx 檔案提供簽章憑證的位置和 .pfx 檔案的密碼。

  11. 使用 AD FS 驗證:

    • 開啟虛擬智慧卡應用程式。 這可讓您更輕鬆地尋找下一個步驟所需的值。

    • 若要將應用程式當做用戶端新增到 AD FS 伺服器,並在伺服器上設定 CM,請在 AD FS 伺服器上,開啟 Windows PowerShell 並執行命令 ConfigureMimCMClientAndRelyingParty.ps1 –redirectUri <redirectUriString> -serverFQDN <MimCmServerFQDN>

      以下是 ConfigureMimCMClientAndRelyingParty.ps1 指令碼:

      # HELP
      
      <#
      .SYNOPSIS
                       Configure ADFS for CM client app and server.
      .DESCRIPTION
          What the Script does:
                                       a. Registers the MIM CM client app on the ADFS server.
                                       b. Registers the MIM CM server relying party (Tells the ADFS server that it issues tokens for the CM server).
                       For parameter information, see 'get-help -detailed'
      .PARAMETER redirectUri
                       The redirectUri for CM client app. Will be added to ADFS server.
                       It can be found as follows:
                       1. Open the settings panel. Under settings, there is a "Redirect Uri" text box (an ADFS server address must be configured in order for the text to display).
                       2. Open MIM CM client app. Navigate to 'C:\Users\<your_username>\AppData\Local\Packages\CmModernAppv.<version>\LocalState', and open 'Logs_Virtual Smart Card Certificate Manager_<version>'. Search for "Redirect URI".
      .PARAMETER serverFqdn
                       Your deployed MIM CM server’s FQDN.
      .EXAMPLE
          .\ConfigureMimCMClientAndRelyingParty.ps1 -redirectUri ms-app://s-1-15-2-0123456789-0123456789-0123456789-0123456789-0123456789-0123456789-0123456789/ -serverFqdn WIN-TRUR24L4CFS.corp.cmteam.com
      #>
      
      # Parameter declaration
      [CmdletBinding()]
      Param(
         [Parameter(Mandatory=$True)]
          [string]$redirectUri,
      
          [Parameter(Mandatory=$True)]
          [string]$serverFqdn
      )
      
      Write-Host "Configuring ADFS Objects for OAuth.."
      
      #Configure SSO to get persistent sign on cookie
      Set-ADFSProperties -SsoLifetime 2880
      
      #Configure Authentication Policy
      #Intranet to use Kerberos
      #Extranet to use U/P
      
      #Create Client Objects
      
      Write-Host "Creating Client Objects..."
      
      $existingClient = Get-ADFSClient -Name "MIM CM Modern App"
      
      if ($existingClient -ne $null)
      {
           Write-Host "Found existing instance of the MIM CM Modern App, removing"
           Remove-ADFSClient -TargetName "MIM CM Modern App"
           Write-Host "Client object removed"
      }
      
      Write-Host "Adding Client Object for MIM CM Modern App client"
      Add-ADFSClient -Name "MIM CM Modern App" -ClientId "70A8B8B1-862C-4473-80AB-4E55BAE45B4F" -RedirectUri $redirectUri
      Write-Host "Client Object for MIM CM Modern App client Created"
      
      #Create Relying Parties
      Write-Host "Creating Relying Party Objects"
      
      $existingRp = Get-ADFSRelyingPartyTrust -Name "MIM CM Service"
      if ($existingRp -ne $null)
      {
           Write-Host "Found existing instance of the MIM CM Service RP, removing"
           Remove-ADFSRelyingPartyTrust -TargetName "MIM CM Service"
           Write-Host "RP object Removed"
      }
      
      $authorizationRules =
      "@RuleTemplate = `"AllowAllAuthzRule`"
      => issue(Type = `"http://schemas.microsoft.com/authorization/claims/permit`", Value = `"true`");"
      
      $issuanceRules =
      "@RuleTemplate = `"LdapClaims`"
      @RuleName = `"Emit UPN and common name`"
      c:[Type == `"http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname`", Issuer == `"AD AUTHORITY`"]
      => issue(store = `"Active Directory`", types =
      (`"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn`",
      `"http://schemas.xmlsoap.org/claims/CommonName`"), query =
      `";userPrincipalName,cn;{0}`", param = c.Value);
      
      @RuleTemplate = `"PassThroughClaims`"
      @RuleName = `"Pass through Windows Account Name`"
      c:[Type ==`"http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname`"] => issue(claim = c);"
      
      Write-Host "Creating RP Trust for MIM CM Service"
      Add-ADFSRelyingPartyTrust -Name "MIM CM Service" -Identifier ("https://"+$serverFqdn+"/certificatemanagement") -IssuanceAuthorizationRules $authorizationRules -IssuanceTransformRules $issuanceRules
      Write-Host "RP Trust for MIM CM Service has been created"
      
    • 更新 redirectUri 和 serverFQDN 的值。

    • 若要尋找 redirectUri,請在虛擬智慧卡應用程式中開啟應用程式設定面板,按一下 [設定],重新導向 URI 應該會列在 AD FS 伺服器網址列之下。 只有在已設定 ADFS 伺服器位址時,此 URI 才會出現。

    • serverFQDN 只是 MIMCM 伺服器的完整電腦名稱。

    • 如需 ConfigureMIimCMClientAndRelyingParty.ps1 腳本的說明,請執行:

      get-help  -detailed ConfigureMimCMClientAndRelyingParty.ps1
      

部署應用程式

當您設定 CM 應用程式時,請在下載中心下載檔案 MIMDMModernApp_<version>_AnyCPU_Test.zip,並解壓縮其所有內容。 .appx 檔是安裝程式。 您可以像部署 Windows 市集應用程式一樣,以任何方式部署它,包括使用 System Center Configuration ManagerIntune 來側載應用程式,讓使用者必須透過公司入口網站存取它,或直接將它推送到他們的電腦。

下一步