servicePrincipal: addTokenSigningCertificate
Espacio de nombres: microsoft.graph
Importante
Las API de la versión /beta
de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.
Crea un certificado de firma autofirmado y devuelve un objeto selfSignedCertificate , que es la parte pública del certificado generado. El certificado de firma autofirmado se compone de los siguientes objetos que se agregan al servicePrincipal:
- Objeto keyCredentials con los siguientes objetos:
- Objeto de clave privada con el uso establecido en
Sign
. - Objeto de clave pública con el uso establecido en
Verify
.
- Objeto de clave privada con el uso establecido en
- Objeto passwordCredentials .
Todos los objetos tienen el mismo valor de customKeyIdentifier.
PasswordCredential se usa para abrir el archivo PFX (clave privada). Él y el objeto de clave privada asociado tienen el mismo valor de keyId. Una vez establecido durante la creación a través de la propiedad displayName , no se puede actualizar el asunto del certificado. StartDateTime se establece en el mismo momento en que se crea el certificado mediante la acción . EndDateTime puede ser hasta tres años después de crear el certificado.
Esta API está disponible en las siguientes implementaciones nacionales de nube.
Servicio global | Gobierno de EE. UU. L4 | Us Government L5 (DOD) | China operada por 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Permissions
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
Tipo de permiso | Permisos con privilegios mínimos | Permisos con privilegios más altos |
---|---|---|
Delegado (cuenta profesional o educativa) | Application.ReadWrite.All | Directory.ReadWrite.All |
Delegado (cuenta personal de Microsoft) | No admitida. | No admitida. |
Aplicación | Application.ReadWrite.OwnedBy | Application.ReadWrite.All, Directory.ReadWrite.All |
Solicitud HTTP
Puede dirigirse a la entidad de servicio mediante su id . o appId. id y appId se conocen como id. de objeto y id. de aplicación (cliente), respectivamente, en los registros de aplicaciones en el Centro de administración Microsoft Entra.
POST /servicePrincipals/{id}/addTokenSigningCertificate
POST /servicePrincipals(appId='{appId}')/addTokenSigningCertificate
Cuerpo de la solicitud
En el cuerpo de la solicitud, proporcione las siguientes propiedades necesarias.
Propiedad | Tipo | Descripción |
---|---|---|
displayName | string | Nombre descriptivo de la clave. Debe empezar por CN= . |
endDateTime | DateTimeOffset | Fecha y hora en que expira la credencial. Puede ser hasta 3 años a partir de la fecha en que se crea el certificado. Si no se proporciona, el valor predeterminado es de tres años a partir del momento de la creación. El tipo de marca de tiempo representa la información de fecha y hora con el formato ISO 8601 y siempre está en hora UTC. Por ejemplo, la medianoche en la zona horaria UTC del 1 de enero de 2014 sería 2014-01-01T00:00:00Z . |
Respuesta
Si se ejecuta correctamente, este método devuelve un 200 OK
código de respuesta y un nuevo objeto selfSignedCertificate en el cuerpo de la respuesta.
Ejemplos
Solicitud
En el ejemplo siguiente se muestra la solicitud.
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"
}
Respuesta
En el ejemplo siguiente se muestra la respuesta.
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"
}