

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 为 SCEP 的连接器配置 Jamf Pro
<a name="connector-for-scep-general-purpose"></a>

您可以在 Jamf Pro 移动设备管理 (MDM) 系统中 AWS 私有 CA 用作外部证书颁发机构 (CA)。本指南提供有关在创建通用连接器后如何配置 Jamf Pro 的说明。

## 为 SCEP 的连接器配置 Jamf Pro
<a name="connector-for-scep-jamf-pro"></a>

本指南提供有关如何配置 Jamf Pro 以与适用于 SCEP 的连接器一起使用的说明。成功为 SCEP 配置 Jamf Pro 和 Connector 后，您将能够向托管设备颁 AWS 私有 CA 发证书。

### Jamf Pro 要求
<a name="connector-for-scep-jamf-pro-requirements"></a>

您的 Jamf Pro 实施必须满足以下要求。
+ 您必须在 Jamf Pro 中**启用 “启用基于证书的身份验证**” 设置。您可以在 Jamf Pro 文档的 Jamf Pro [安全设置](https://learn.jamf.com/en-US/bundle/jamf-pro-documentation-current/page/Security_Settings.html)页面上找到有关此设置的详细信息。

### 第 1 步：（可选-推荐）获取您的私有 CA 的指纹
<a name="connector-for-scep-jamf-pro-ca-fingerprint"></a>

指纹是您的私有 CA 的唯一标识符，可用于在与其他系统或应用程序建立信任时验证您的 CA 的身份。通过使用证书颁发机构 (CA) 指纹，托管设备可以对其连接的 CA 进行身份验证，并仅向预期的 CA 请求证书。我们建议在 Jamf Pro 上使用 CA 指纹。

**为您的私有 CA 生成指纹**

1. 从 AWS 私有 CA 控制台或使用获取私有 CA 证书[GetCertificateAuthorityCertificate](https://docs.aws.amazon.com/privateca/latest/APIReference/API_GetCertificateAuthorityCertificate.html)。将其另存为`ca.pem`文件。

1. 安装 [OpenSSL 命令行实用](https://wiki.openssl.org/index.php/Command_Line_Utilities)程序。

1. 在 OpenSSL 中，运行以下命令来生成指纹：

   ```
   openssl x509 -in ca.pem -sha256 -fingerprint
   ```

### 第 2 步：在 Jamf Pro 中配置 AWS 私有 CA 为外部 CA
<a name="connector-for-scep-jamf-pro-configure-pca"></a>

为 SCEP 创建连接器后，必须在 Jamf Pro 中设置 AWS 私有 CA 为外部证书颁发机构 (CA)。您可以设置 AWS 私有 CA 为全局的外部 CA。或者，您可以使用 Jamf Pro 配置文件 AWS 私有 CA 为不同的用例颁发不同的证书，例如向组织中的一部分设备颁发证书。有关实现 Jamf Pro 配置文件的指导超出了本文档的范围。

**在 Jamf Pro 中配置 AWS 私有 CA 为外部证书颁发机构 (CA)**

1. 在 Jamf Pro 控制台中，前往 **“设置” > “**全局**” > “PKI 证书**”，进入 **P** KI 证书**设置**页面。

1. 选择 “**管理证书模板**” 选项卡。

1. 选择**外部 CA**。

1. 选择**编辑**。

1. （可选）为**配置文件选择 “启用 Jamf Pro 作为 SCEP 代理”。**您可以使用 Jamf Pro 配置文件颁发针对特定用例量身定制的不同证书。有关如何在 Jamf Pro 中使用配置文件的指导，请参阅 Jamf Pro 文档中的[启用 Jamf Pro 作为配置文件的 SCEP 代理](https://learn.jamf.com/en-US/bundle/technical-paper-scep-proxy-current/page/Enabling_as_SCEP_Proxy_for_Configuration_Profiles.html#ariaid-title2)。

1. 选择 “**使用 SCEP-enabled 外部 CA 注册计算机和移动设备**”。

1. （可选）选择**使用 Jamf Pro 作为 SCEP 代理进行计算机和移动设备注册**。如果您遇到配置文件安装失败的情况，请参阅[解决配置文件安装失败的问题](#connector-for-scep-jamf-pro-user-initiated-enrollment-troubleshoot)。

1. 将 SCEP 连接器 SCE **P 网址**从连接器的详细信息中复制并粘贴到 Jamf Pro **的 URL** 字段。要查看连接器的详细信息，请从 [SCEP 的连接器列表中选择该连接器](https://console.aws.amazon.com/pca-connector-scep/home#/connectors)。或者，您可以通过调用[GetConnector](https://docs.aws.amazon.com/pca-connector-scep/latest/APIReference/API_GetConnector.html)并复制响应中的`Endpoint`值来获取 URL。

1. （可选）在名称字段中输入实例的**名称**。例如，你可以给它起个名字**AWS 私有 CA**。

1. 为挑战类型选择 “**静态**”。

1. 从连接器中复制质询密码，然后将其粘贴到 “**质疑**” 字段中。一个连接器可以有多个质询密码。要查看连接器的质询密码，请在 AWS 控制台中导航到连接器的详细信息页面，然后选择**查看密码**按钮。或者，您可以通过调用[GetChallengePassword](https://docs.aws.amazon.com/pca-connector-scep/latest/APIReference/API_GetChallengePassword.html)并复制响应中的`Password`值来获取连接器的质询密码。有关使用质询密码的信息，请参阅[了解 Connector 的 SCEP 注意事项和限制注意事项和限制](c4scep-considerations-limitations.md)。

1. 将质询密码粘贴到**验证质询**字段中。

1. 选择密**钥大小**。我们建议密钥大小为 2048 或更高。

1. （可选）选择 “**用作数字签名**”。选择此项进行身份验证，以授予设备对诸如 Wi-Fi 和 VPN 之类的资源的安全访问权限。

1. （可选）选择 “**用于密钥加密**”。

1. （可选-推荐）在 “**指纹**” 字段中输入十六进制字符串。我们建议您添加 CA 指纹以允许托管设备验证 CA，并且仅向 CA 申请证书。有关如何为私有 CA 生成指纹的说明，请参阅[第 1 步：（可选-推荐）获取您的私有 CA 的指纹](#connector-for-scep-jamf-pro-ca-fingerprint)。

1. 选择**保存**。

### 步骤 3：设置配置文件签名证书
<a name="connector-for-scep-jamf-pro-signing-cert"></a>

要使用带连接器的 Jamf Pro for SCEP，您必须提供与您的连接器关联的私有 CA 的签名和 CA 证书。为此，您可以将包含两个证书的配置文件签名证书密钥库上传到 Jamf Pro。

以下是创建证书密钥库并将其上传到 Jamf Pro 的步骤：
+ 使用内部流程生成证书签名请求 (CSR)。
+ 获取由与您的连接器关联的私有 CA 签署的 CSR。
+ 创建包含配置文件签名和 CA 证书的配置文件签名证书密钥库。
+ 将证书密钥库上传到 Jamf Pro。

通过执行这些步骤，您可以确保您的设备可以验证和验证由您的私有 CA 签名的配置文件，从而允许在 Jamf Pro 中使用 Connector for SCEP。

1. 以下示例使用 OpenSSL 和 AWS Certificate Manager，但您可以使用首选方法生成证书签名请求。

------
#### [ AWS Certificate Manager console ]

**使用 ACM 控制台创建配置文件签名证书**

   1. 使用 ACM [申请私有 PKI 证书]()。包括以下内容：
      + **类型**-使用与 MDM 系统的 SCEP 证书颁发机构相同的私有 CA 类型。
      + 在**证书颁发机构详细信息**部分，选择**证书颁发机构**菜单，然后选择用作 Jamf Pro CA 的私有 CA。
      + **域名**-提供要嵌入到证书中的域名。您可以使用完全限定的域名 (FQDN)，例如`www.example.com`，也可以使用裸域名或顶点域名，例如`example.com`（不`www.`包括）。

   1. 使用 ACM [导出您在上一步中创建的私有证书](https://docs.aws.amazon.com/acm/latest/userguide/export-private.html)。选择**导出证书、证书链和加密密钥的文件**。请随身携带**密码短语**，因为下一步你将需要它。

   1. 在终端中，在包含导出文件的文件夹中运行以下命令，将 PKCS \#12 bundle 写入由您在上一步中创建的密码编码`output.p12`的文件中。

      ```
      openssl pkcs12 -export \
        -in "Exported Certificate.txt" \
        -certfile "Certificate Chain.txt" \
        -inkey "Exported Certificate Private Key.txt" \
        -name example \
        -out output.p12 \
        -passin pass:{{your-passphrase}} \
        -passout pass:{{your-passphrase}}
      ```

------
#### [ AWS Certificate Manager CLI ]

**使用 ACM CLI 创建配置文件签名证书**
   + 以下命令显示如何在 ACM 中创建证书，然后将文件导出为 PKCS \#12 捆绑包。

     ```
     PCA=<Enter your Private CA ARN>
     
     CERTIFICATE=$(aws acm request-certificate \
         --certificate-authority-arn $PCA \
         --domain-name <{{any valid domain name, such as test.name}}> \
         | jq -r '.CertificateArn')
     
     while [[ $(aws acm describe-certificate \
       --certificate-arn $CERTIFICATE \
       | jq -r '.Certificate.Status') != "ISSUED" ]] do sleep 1; done
       
     aws acm export-certificate \
       --certificate-arn $CERTIFICATE \
       --passphrase password | jq -r '.Certificate' > Certificate.pem
     aws acm export-certificate \
       --certificate-arn $CERTIFICATE \
       --passphrase password | jq -r '.CertificateChain' > CertificateChain.pem
     aws acm export-certificate \
       --certificate-arn $CERTIFICATE \
       --passphrase password | jq -r '.PrivateKey' > PrivateKey.pem
       
     openssl pkcs12 -export \
       -in "Certificate.pem" \
       -certfile "CertificateChain.pem" \
       -inkey "PrivateKey.pem" \
       -name {{example}} \
       -out output.p12 \
       -passin pass:{{passphrase}} \
       -passout pass:{{passphrase}}
     ```

------
#### [ OpenSSL CLI ]

**使用 OpenSSL CLI 创建配置文件签名证书**

   1. 使用 OpenSSL，通过运行以下命令生成私钥。

      ```
      openssl genrsa -out local.key 2048
      ```

   1. 生成证书签名请求 (CSR)：

      ```
      openssl req -new -key local.key -sha512 -out local.csr -subj "/CN=MySigningCertificate/O=MyOrganization" -addext keyUsage=critical,digitalSignature,nonRepudiation
      ```

   1. 使用 AWS CLI，使用您在上一步中生成的 CSR 颁发签名证书。运行以下命令，并在响应中记下证书 ARN。

      ```
      aws acm-pca issue-certificate --certificate-authority-arn <SAME CA AS USED ABOVE, SO IT’S TRUSTED> --csr fileb://local.csr --signing-algorithm SHA512WITHRSA --validity Value=365,Type=DAYS
      ```

   1. 通过运行以下命令获取签名证书。指定上一步中的证书 ARN。

      ```
      aws acm-pca get-certificate --certificate-authority-arn <SAME CA AS USED ABOVE, SO IT’S TRUSTED> --certificate-arn <ARN OF NEW CERTIFICATE> | jq -r '.Certificate' >local.crt
      ```

   1. 通过运行以下命令获取 CA 证书。

      ```
      aws acm-pca get-certificate-authority-certificate --certificate-authority-arn <SAME CA AS USED ABOVE, SO IT’S TRUSTED> | jq -r '.Certificate' > ca.crt
      ```

   1. 使用 OpenSSL，以 p12 格式输出签名证书密钥库。使用您在步骤四和步骤五中生成的 CRT 文件。

      ```
      openssl pkcs12 -export -in local.crt -inkey local.key -certfile ca.crt -name "CA Chain" -out local.p12
      ```

   1. 出现提示时，输入导出密码。此密码是您提供给 Jamf Pro 的密钥库密码。

------

1. 在 Jamf Pro 中，导航到**管理证书模板**并转到**外部 CA** 窗格。

1. 在 “**外部 CA**” 窗格的底部，选择 “**更改签名和 CA 证书**”。

1. 按照屏幕上的说明上传外部 CA 的签名证书和 CA 证书。

### 步骤 4：（可选）在用户启动的注册过程中安装证书
<a name="connector-for-scep-jamf-pro-user-initiated-enrollment"></a>

要在您的客户端设备和私有 CA 之间建立信任，必须确保您的设备信任 Jamf Pro 颁发的证书。当客户端设备在[User-Initiated 注册过程中申请证书时，您可以使用 Jamf Pro AWS 私有 CA的注册设置](https://learn.jamf.com/en-US/bundle/jamf-pro-documentation-current/page/User-Initiated_Enrollment_Settings.html#:~:text=In%20Jamf%20Pro%2C%20click%20Settings,to%20be%20used%20during%20enrollment.)自动在客户端设备上安装您的 CA 证书。

### 解决配置文件安装失败的问题
<a name="connector-for-scep-jamf-pro-user-initiated-enrollment-troubleshoot"></a>

如果您在**为计算机和移动设备注册启用 “使用 Jamf Pro 作为 SCEP 代理**” 后遇到配置文件安装失败，请查阅您的设备日志并尝试以下操作。


| 设备日志错误消息 | 缓解方法 | 
| --- |--- |
| `Profile installation failed. Unable to obtain certificate from SCEP server at "<your-jamf-endpoint>.jamfcloud.com". <MDM-SCEP:15001>` | 如果您在尝试注册时收到此错误消息，请重试注册。注册成功可能需要几次尝试。 | 
| `Profile installation failed. Unable to obtain certificate from SCEP server at "<your-jamf-endpoint>.jamfcloud.com". <MDM-SCEP:14006>` | 您的质询密码可能配置错误。确认 Jamf Pro 中的质询密码是否与连接器的质询密码相匹配。 | 