# Configuração geral

O SCEPman pode ser ligado ao Jamf Pro como uma CA externa através de um endpoint Jamf dedicado do SCEPman, permitindo que utilizadores e dispositivos inscritos obtenham certificados. O Jamf Pro atua como um Proxy SCEP, encaminhando a comunicação entre o SCEPman e os dispositivos do Jamf Pro.

## Ativar a integração do Jamf

A integração do Jamf no SCEPman pode ser facilmente ativada através das seguintes variáveis de ambiente no **serviço de aplicação do SCEPman**:

| Definição                                                                                                                                                                                                                 | Descrição                                                                                                                                                                                                                                                                            | Exemplo                               |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------- |
| [AppConfig:JamfValidation:Enabled](https://docs.scepman.com/pt/configuracao-do-scepman/application-settings/scep-endpoints/jamf-validation#appconfig-jamfvalidation-enabled)                                              | Pretende utilizar o SCEPman com o Jamf?                                                                                                                                                                                                                                              | true                                  |
| [AppConfig:JamfValidation:RequestPassword](https://docs.scepman.com/pt/configuracao-do-scepman/application-settings/scep-endpoints/jamf-validation#appconfig-jamfvalidation-requestpassword)                              | <p>O Jamf autentica os seus pedidos de certificado no SCEPman com esta palavra-passe segura.</p><p>Considere adicionar isto como um segredo no seu SCEPman <a href="../../../configuracao-do-scepman/application-settings#secure-configuration-in-azure-key-vault">KeyVault</a>.</p> | máx. *palavra-passe de 32 caracteres* |
| [AppConfig:JamfValidation:ValidityPeriodDays](https://docs.scepman.com/pt/configuracao-do-scepman/application-settings/scep-endpoints/jamf-validation#appconfig-jamfvalidation-validityperioddays) (opcional)             | Durante quantos dias, no máximo, os certificados emitidos através do Jamf devem ser válidos?                                                                                                                                                                                         | 365                                   |
| [AppConfig:JamfValidation:EnableCertificateStorage](https://docs.scepman.com/pt/configuracao-do-scepman/application-settings/scep-endpoints/jamf-validation#appconfig-jamfvalidation-enablecertificatestorage) (opcional) | Ative esta definição para guardar certificados do Jamf no Certificate Master                                                                                                                                                                                                         | true ou false (predefinição)          |

## Ligação da API

O SCEPman precisa de estar ligado à API do Jamf para verificar o estado dos clientes integrados. Isto é utilizado para a revogação de certificados.

[Consulte a documentação do Jamf](https://learn.jamf.com/en-US/bundle/jamf-pro-documentation-current/page/API_Roles_and_Clients.html) sobre como criar uma função de API e um cliente de API. O cliente de API tem de ter uma função com estas permissões:

* Ler dispositivos móveis
* Ler computadores
* Ler utilizador

&#x20;Defina as seguintes variáveis de ambiente no seu **Serviço de Aplicação do SCEPman**:

| Definição                                                                                                                                                                              | Descrição                                                                                                                                                                                                                                                  | Exemplo                                                                                                                                    |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| [AppConfig:JamfValidation:URL](https://docs.scepman.com/pt/configuracao-do-scepman/application-settings/scep-endpoints/jamf-validation#appconfig-jamfvalidation-url)                   | O URL da sua instância Jamf                                                                                                                                                                                                                                | `https://contoso.jamfcloud.com`                                                                                                            |
| [AppConfig:JamfValidation:ClientID](https://docs.scepman.com/pt/configuracao-do-scepman/application-settings/scep-endpoints/jamf-validation#appconfig-jamfvalidation-clientid)         | O identificador do cliente de API do Jamf                                                                                                                                                                                                                  | Ver [Jamf ClientId](https://learn.jamf.com/en-US/bundle/jamf-pro-documentation-current/page/API_Roles_and_Clients.html#ariaid-title3)      |
| [AppConfig:JamfValidation:ClientSecret](https://docs.scepman.com/pt/configuracao-do-scepman/application-settings/scep-endpoints/jamf-validation#appconfig-jamfvalidation-clientsecret) | <p>O valor de Client Secret para a configuração do Cliente de API.</p><p>Considere adicionar isto como um segredo no seu SCEPman <a href="../../../configuracao-do-scepman/application-settings#secure-configuration-in-azure-key-vault">KeyVault</a>.</p> | Ver [Jamf Client Secret](https://learn.jamf.com/en-US/bundle/jamf-pro-documentation-current/page/API_Roles_and_Clients.html#ariaid-title4) |

{% hint style="warning" %}
A API Classic do Jamf Pro suporta autenticação Bearer desde a versão 10.35.0. Existe uma definição para desativar o método de autenticação anterior, Basic Authentication, desde a versão 10.36.0. Uma futura versão do Jamf, prevista para agosto-dezembro de 2022, removerá o suporte para Basic Authentication. O SCEPman 2.0 e inferiores suportam apenas Basic Authentication para a API Classic, enquanto o SCEPman 2.1 e superiores utilizam autenticação Bearer. Para utilizar autenticação Bearer, tem de atualizar para o SCEPman 2.1 ou superior.
{% endhint %}

## Ligação de CA externa

Abra as definições do Jamf Pro e escolha "PKI Certificates" em "Global Management":

![](https://3802289327-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Fgit-blob-ba2b5fe78590c9c592ef0d65cdf14fe238acda0a%2Fimage%20\(23\).png?alt=media)

Mude para o separador "Management Certificate Template", "External CA" e ative o modo de edição. Ative o Jamf Pro como "SCEP Proxy for configuration profiles":

![](https://3802289327-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Fgit-blob-c9a89bf1790dfb161703eaf77a5afcb9b33bcd8b%2Fimage%20\(26\).png?alt=media)

Preencha os seguintes campos e guarde a configuração:

| Campo                            | Descrição                                                                                            | Exemplo/Valor                                                                                                                                                                                                    |
| -------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **URL**                          | <p>URL para o SCEPman</p><p>Não <strong>NÃO</strong> Se esqueça de <strong>/jamf</strong> no fim</p> | <https://scepman.contoso.com/jamf>                                                                                                                                                                               |
| **Nome**                         | nome da instância                                                                                    | SCEPman Contoso                                                                                                                                                                                                  |
| **Assunto**                      | entidades que seguem a norma X.500                                                                   | O=Contoso                                                                                                                                                                                                        |
| **Tipo de desafio**              | tipo de desafio para verificação da emissão de certificados                                          | Estático                                                                                                                                                                                                         |
| **Desafio de (verificação)**     | segredo pré-partilhado (desafio)                                                                     | definido no SCEPman através do parâmetro [AppConfig](https://docs.scepman.com/pt/configuracao-do-scepman/application-settings/scep-endpoints/jamf-validation#appconfig-jamfvalidation-requestpassword) parâmetro |
| Tamanho da chave                 | tamanho da chave em bits                                                                             | 2048                                                                                                                                                                                                             |
| Utilizar como assinatura digital |                                                                                                      | Sim (se necessário)                                                                                                                                                                                              |
| Utilizar para cifragem de chave  |                                                                                                      | Sim (se necessário)                                                                                                                                                                                              |
| Impressão digital                | Thumbprint do certificado CA do SCEPman (SHA-1)                                                      | visível através do painel do SCEPman ("CA Thumbprint")                                                                                                                                                           |

![](https://3802289327-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Fgit-blob-706cea0b6e3d717ff4d599d924edd31a98ff407b%2F2021-10-21%2020_37_05-Edit%20PKI%20Certificates%20PKI%20Certificates_%20and%201%20more%20page%20-%20Work%20-%20Microsoft%E2%80%8B%20Edge.png?alt=media)

### Certificado de assinatura

Ao utilizar uma CA externa, o Jamf exige que adicione o certificado da CA para que o Jamf possa comparar se os certificados estão corretamente assinados. No entanto, o Jamf só permite adicionar um certificado de CA se também adicionar um certificado de assinatura com uma chave privada correspondente. O Jamf utiliza este certificado de assinatura para assinar pedidos de certificado enviados ao SCEPman. No entanto, o SCEPman não avalia a assinatura nos pedidos e aceita até pedidos não assinados (por exemplo, do Intune), porque a validade do pedido resulta exclusivamente da utilização da palavra-passe de desafio correta configurada no Jamf.

{% tabs %}
{% tab title="OpenSSL" %}

```shellscript
openssl req -x509 -newkey rsa:4096 -keyout tempKey.key -out tempCert.pem -sha256 -days 3650 -nodes -subj "/CN=JAMF Signer Certificate for SCEPman"
openssl pkcs12 -export -out SigningCert.pfx -inkey ./tempKey.key -in ./tempCert.pem -passout pass:password
# Remover ficheiros temporários
rm tempKey.key
rm tempCert.pem
```

{% endtab %}

{% tab title="PowerShell" %}

```powershell
$cert = New-SelfSignedCertificate -Subject "CN=JAMF Signer Certificate for SCEPman" -CertStoreLocation "Cert:\CurrentUser\My" -NotAfter (Get-Date).AddYears(10)
$pfxBytes = $cert.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Pfx, "password")
[System.IO.File]::WriteAllBytes("c:\temp\jamf.pfx", $pfxBytes)
```

{% endtab %}
{% endtabs %}

Em seguida, clique em "Change Signing and CA Certificates" na configuração de CA externa do Jamf

![](https://3802289327-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Fgit-blob-4c7abd11c59ea4578210eff6b229c0b610bd5f08%2Fjamfsigningcertificate.png?alt=media)

No assistente, carregue o ficheiro PFX com o certificado de assinatura para o Jamf quando este o solicitar (Nota: Pkcs#12 e PFX são sinónimos). Nos passos seguintes, introduza a palavra-passe do ficheiro PFX e confirme a seleção do certificado de assinatura. No separador "Upload CA Certificate", tem de carregar o certificado de CA do SCEPman. Pode obter o certificado de CA do SCEPman clicando na ligação "Get CA Certificate" no canto superior direito da página inicial da sua instância do SCEPman. Por fim, confirme as suas alterações.
