servicePrincipal: addTokenSigningCertificate

Namespace: microsoft.graph

Importante

As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.

Cria um certificado de assinatura autoassinado e retorna um objeto selfSignedCertificate , que é a parte pública do certificado gerado. O certificado de assinatura autoassinado é composto pelos seguintes objetos que são adicionados ao serviçoPrincipal:

  • O objeto keyCredentials com os seguintes objetos:
    • Um objeto de chave privada com uso definido como Sign.
    • Um objeto de chave pública com uso definido como Verify.
  • O objeto passwordCredentials .

Todos os objetos têm o mesmo valor de CustomKeyIdentifier.

A senhaCredential é usada para abrir o arquivo PFX (chave privada). Ele e o objeto de chave privada associado têm o mesmo valor de keyId. Depois de definido durante a criação por meio da propriedade displayName , o assunto do certificado não pode ser atualizado. O startDateTime é definido para o mesmo tempo em que o certificado é criado usando a ação. O endDateTime pode ser de até três anos após a criação do certificado.

Essa API está disponível nas seguintes implantações nacionais de nuvem.

Serviço global Governo dos EUA L4 GOVERNO DOS EUA L5 (DOD) China operada pela 21Vianet

Permissões

Escolha a permissão ou as permissões marcadas como menos privilegiadas para essa API. Use uma permissão ou permissões privilegiadas mais altas somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.

Tipo de permissão Permissões menos privilegiadas Permissões privilegiadas mais altas
Delegado (conta corporativa ou de estudante) Application.ReadWrite.All Directory.ReadWrite.All
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Aplicativo Application.ReadWrite.OwnedBy Application.ReadWrite.All, Directory.ReadWrite.All

Solicitação HTTP

Você pode abordar a entidade de serviço usando sua id ou appId. Id e appId são chamados de ID de Objeto e ID do Aplicativo (Cliente), respectivamente, em registros de aplicativo no centro de administração do Microsoft Entra.

POST /servicePrincipals/{id}/addTokenSigningCertificate
POST /servicePrincipals(appId='{appId}')/addTokenSigningCertificate

Corpo da solicitação

No corpo da solicitação, forneça as seguintes propriedades necessárias.

Propriedade Tipo Descrição
displayName string Nome amigável para a chave. Ele deve começar com CN=.
endDateTime DateTimeOffset A data e a hora em que a credencial expira. Pode ser até três anos a partir da data em que o certificado é criado. Se não for fornecido, o padrão será de três anos a partir do momento da criação. O tipo de carimbo de data e hora representa informações de data e hora usando o formato ISO 8601 e está sempre em tempo UTC. Por exemplo, meia-noite UTC em 1 de janeiro de 2014 é 2014-01-01T00:00:00Z.

Resposta

Se for bem-sucedido, esse método retornará um 200 OK código de resposta e um novo objeto selfSignedCertificate no corpo da resposta.

Exemplos

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/beta/servicePrincipals/004375c5-6e2e-4dec-95e3-626838cb9f80/addTokenSigningCertificate
Content-type: application/json

{
    "displayName":"CN=customDisplayName",
    "endDateTime":"2024-01-25T00:00:00Z"
}

Resposta

O exemplo a seguir mostra a resposta.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#microsoft.graph.selfSignedCertificate",
  "customKeyIdentifier": "2iD8ppbE+D6Kmu1ZvjM2jtQh88E=",
  "displayName": "CN=customDisplayName",
  "endDateTime": "2024-01-25T00:00:00Z",
  "key": "MIICuDCCAaCgAwIBAgIIYXJsNtL4oUMwDQYJKoZIhvcNAQEL...StP8s/w==",
  "keyId": "93bc223f-7235-4b9c-beea-d66847531c49",
  "startDateTime": "2021-05-05T18:38:51.8100763Z",
  "thumbprint": "DA20FCA696C4F83E8A9AED59BE33368ED421F3C1",
  "type": "AsymmetricX509Cert",
  "usage": "Verify"
}