Namespace: microsoft.graph
Note: The Microsoft Graph API for Intune requires an active Intune license for the tenant.
Create a new enterpriseCodeSigningCertificate object.
Permissions
One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.
| Permission type |
Permissions (from least to most privileged) |
| Delegated (work or school account) |
DeviceManagementApps.ReadWrite.All |
| Delegated (personal Microsoft account) |
Not supported. |
| Application |
DeviceManagementApps.ReadWrite.All |
HTTP Request
POST /deviceAppManagement/enterpriseCodeSigningCertificates
Request body
In the request body, supply a JSON representation for the enterpriseCodeSigningCertificate object.
The following table shows the properties that are required when you create the enterpriseCodeSigningCertificate.
| Property |
Type |
Description |
| id |
String |
The unique identifier of the certificate, assigned upon creation. Supports: $filter, $select, $top, $OrderBy, $skip. $Search is not supported. Read-only. |
| content |
Binary |
The Windows Enterprise Code-Signing Certificate in the raw data format. Set to null once certificate has been uploaded and other properties have been populated. |
| status |
certificateStatus |
Whether the Certificate Status Provisioned or not Provisioned. The possible values are: notProvisioned, provisioned. Default is notProvisioned. Uploading a valid cert file through the Intune admin console will automatically populate this value in the HTTP response. Supports: $filter, $select, $top, $OrderBy, $skip. $Search is not supported. The possible values are: notProvisioned, provisioned. |
| subjectName |
String |
The subject name for the cert. This might contain information such as country (C), state or province (S), locality (L), common name of the cert (CN), organization (O), and organizational unit (OU). Uploading a valid cert file through the Intune admin console will automatically populate this value in the HTTP response. Supports: $filter, $select, $top, $OrderBy, $skip. $Search is not supported. |
| subject |
String |
The subject value for the cert. This might contain information such as country (C), state or province (S), locality (L), common name of the cert (CN), organization (O), and organizational unit (OU). Uploading a valid cert file through the Intune admin console will automatically populate this value in the HTTP response. Supports: $filter, $select, $top, $OrderBy, $skip. $Search is not supported. |
| issuerName |
String |
The issuer name for the cert. This might contain information such as country (C), state or province (S), locality (L), common name of the cert (CN), organization (O), and organizational unit (OU). Uploading a valid cert file through the Intune admin console will automatically populate this value in the HTTP response. Supports: $filter, $select, $top, $OrderBy, $skip. $Search is not supported. |
| issuer |
String |
The issuer value for the cert. This might contain information such as country (C), state or province (S), locality (L), common name of the cert (CN), organization (O), and organizational unit (OU). Uploading a valid cert file through the Intune admin console will automatically populate this value in the HTTP response. Supports: $filter, $select, $top, $OrderBy, $skip. $Search is not supported. |
| expirationDateTime |
DateTimeOffset |
The cert expiration date and time (using ISO 8601 format, in UTC time). Uploading a valid cert file through the Intune admin console will automatically populate this value in the HTTP response. Supports: $filter, $select, $top, $OrderBy, $skip. $Search is not supported. |
| uploadDateTime |
DateTimeOffset |
The date time of CodeSigning Cert when it is uploaded (using ISO 8601 format, in UTC time). Uploading a valid cert file through the Intune admin console will automatically populate this value in the HTTP response. Supports: $filter, $select, $top, $OrderBy, $skip. $Search is not supported. |
Response
If successful, this method returns a 201 Created response code and a enterpriseCodeSigningCertificate object in the response body.
Example
Request
Here is an example of the request.
POST https://graph.microsoft.com/v1.0/deviceAppManagement/enterpriseCodeSigningCertificates
Content-type: application/json
Content-length: 390
{
"@odata.type": "#microsoft.graph.enterpriseCodeSigningCertificate",
"content": "Y29udGVudA==",
"status": "provisioned",
"subjectName": "Subject Name value",
"subject": "Subject value",
"issuerName": "Issuer Name value",
"issuer": "Issuer value",
"expirationDateTime": "2016-12-31T23:57:57.2481234-08:00",
"uploadDateTime": "2016-12-31T23:58:46.5747426-08:00"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new EnterpriseCodeSigningCertificate
{
OdataType = "#microsoft.graph.enterpriseCodeSigningCertificate",
Content = Convert.FromBase64String("Y29udGVudA=="),
Status = CertificateStatus.Provisioned,
SubjectName = "Subject Name value",
Subject = "Subject value",
IssuerName = "Issuer Name value",
Issuer = "Issuer value",
ExpirationDateTime = DateTimeOffset.Parse("2016-12-31T23:57:57.2481234-08:00"),
UploadDateTime = DateTimeOffset.Parse("2016-12-31T23:58:46.5747426-08:00"),
};
// To initialize your graphClient, see https://xtls-v4.hkg1.meaqua.org/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.DeviceAppManagement.EnterpriseCodeSigningCertificates.PostAsync(requestBody);
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation.
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
"time"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewEnterpriseCodeSigningCertificate()
content := []byte("y29udGVudA==")
requestBody.SetContent(&content)
status := graphmodels.PROVISIONED_CERTIFICATESTATUS
requestBody.SetStatus(&status)
subjectName := "Subject Name value"
requestBody.SetSubjectName(&subjectName)
subject := "Subject value"
requestBody.SetSubject(&subject)
issuerName := "Issuer Name value"
requestBody.SetIssuerName(&issuerName)
issuer := "Issuer value"
requestBody.SetIssuer(&issuer)
expirationDateTime , err := time.Parse(time.RFC3339, "2016-12-31T23:57:57.2481234-08:00")
requestBody.SetExpirationDateTime(&expirationDateTime)
uploadDateTime , err := time.Parse(time.RFC3339, "2016-12-31T23:58:46.5747426-08:00")
requestBody.SetUploadDateTime(&uploadDateTime)
// To initialize your graphClient, see https://xtls-v4.hkg1.meaqua.org/en-us/graph/sdks/create-client?from=snippets&tabs=go
enterpriseCodeSigningCertificates, err := graphClient.DeviceAppManagement().EnterpriseCodeSigningCertificates().Post(context.Background(), requestBody, nil)
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
EnterpriseCodeSigningCertificate enterpriseCodeSigningCertificate = new EnterpriseCodeSigningCertificate();
enterpriseCodeSigningCertificate.setOdataType("#microsoft.graph.enterpriseCodeSigningCertificate");
byte[] content = Base64.getDecoder().decode("Y29udGVudA==");
enterpriseCodeSigningCertificate.setContent(content);
enterpriseCodeSigningCertificate.setStatus(CertificateStatus.Provisioned);
enterpriseCodeSigningCertificate.setSubjectName("Subject Name value");
enterpriseCodeSigningCertificate.setSubject("Subject value");
enterpriseCodeSigningCertificate.setIssuerName("Issuer Name value");
enterpriseCodeSigningCertificate.setIssuer("Issuer value");
OffsetDateTime expirationDateTime = OffsetDateTime.parse("2016-12-31T23:57:57.2481234-08:00");
enterpriseCodeSigningCertificate.setExpirationDateTime(expirationDateTime);
OffsetDateTime uploadDateTime = OffsetDateTime.parse("2016-12-31T23:58:46.5747426-08:00");
enterpriseCodeSigningCertificate.setUploadDateTime(uploadDateTime);
EnterpriseCodeSigningCertificate result = graphClient.deviceAppManagement().enterpriseCodeSigningCertificates().post(enterpriseCodeSigningCertificate);
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation.
const options = {
authProvider,
};
const client = Client.init(options);
const enterpriseCodeSigningCertificate = {
'@odata.type': '#microsoft.graph.enterpriseCodeSigningCertificate',
content: 'Y29udGVudA==',
status: 'provisioned',
subjectName: 'Subject Name value',
subject: 'Subject value',
issuerName: 'Issuer Name value',
issuer: 'Issuer value',
expirationDateTime: '2016-12-31T23:57:57.2481234-08:00',
uploadDateTime: '2016-12-31T23:58:46.5747426-08:00'
};
await client.api('/deviceAppManagement/enterpriseCodeSigningCertificates')
.version('beta')
.post(enterpriseCodeSigningCertificate);
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation.
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\EnterpriseCodeSigningCertificate;
use Microsoft\Graph\Beta\Generated\Models\CertificateStatus;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new EnterpriseCodeSigningCertificate();
$requestBody->setOdataType('#microsoft.graph.enterpriseCodeSigningCertificate');
$requestBody->setContent(\GuzzleHttp\Psr7\Utils::streamFor(base64_decode('Y29udGVudA==')));
$requestBody->setStatus(new CertificateStatus('provisioned'));
$requestBody->setSubjectName('Subject Name value');
$requestBody->setSubject('Subject value');
$requestBody->setIssuerName('Issuer Name value');
$requestBody->setIssuer('Issuer value');
$requestBody->setExpirationDateTime(new \DateTime('2016-12-31T23:57:57.2481234-08:00'));
$requestBody->setUploadDateTime(new \DateTime('2016-12-31T23:58:46.5747426-08:00'));
$result = $graphServiceClient->deviceAppManagement()->enterpriseCodeSigningCertificates()->post($requestBody)->wait();
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation.
Import-Module Microsoft.Graph.Beta.Devices.CorporateManagement
$params = @{
"@odata.type" = "#microsoft.graph.enterpriseCodeSigningCertificate"
content = [System.Text.Encoding]::ASCII.GetBytes("Y29udGVudA==")
status = "provisioned"
subjectName = "Subject Name value"
subject = "Subject value"
issuerName = "Issuer Name value"
issuer = "Issuer value"
expirationDateTime = [System.DateTime]::Parse("2016-12-31T23:57:57.2481234-08:00")
uploadDateTime = [System.DateTime]::Parse("2016-12-31T23:58:46.5747426-08:00")
}
New-MgBetaDeviceAppManagementEnterpriseCodeSigningCertificate -BodyParameter $params
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation.
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.enterprise_code_signing_certificate import EnterpriseCodeSigningCertificate
from msgraph_beta.generated.models.certificate_status import CertificateStatus
# To initialize your graph_client, see https://xtls-v4.hkg1.meaqua.org/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = EnterpriseCodeSigningCertificate(
odata_type = "#microsoft.graph.enterpriseCodeSigningCertificate",
content = base64.urlsafe_b64decode("Y29udGVudA=="),
status = CertificateStatus.Provisioned,
subject_name = "Subject Name value",
subject = "Subject value",
issuer_name = "Issuer Name value",
issuer = "Issuer value",
expiration_date_time = "2016-12-31T23:57:57.2481234-08:00",
upload_date_time = "2016-12-31T23:58:46.5747426-08:00",
)
result = await graph_client.device_app_management.enterprise_code_signing_certificates.post(request_body)
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation.
Response
Here is an example of the response. Note: The response object shown here may be truncated for brevity. All of the properties will be returned from an actual call.
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 439
{
"@odata.type": "#microsoft.graph.enterpriseCodeSigningCertificate",
"id": "b20d3703-3703-b20d-0337-0db203370db2",
"content": "Y29udGVudA==",
"status": "provisioned",
"subjectName": "Subject Name value",
"subject": "Subject value",
"issuerName": "Issuer Name value",
"issuer": "Issuer value",
"expirationDateTime": "2016-12-31T23:57:57.2481234-08:00",
"uploadDateTime": "2016-12-31T23:58:46.5747426-08:00"
}