trustFrameworkKeySet: generateKey
本文内容
命名空间:microsoft.graph
重要
Microsoft Graph版本下的 /beta API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
在 trustFrameworkKeyset 中自动生成 trustFrameworkKey 和密码 。 呼叫者不必提供密码。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限 。
权限类型
权限(从最低特权到最高特权)
委派(工作或学校帐户)
TrustFrameworkKeySet.ReadWrite.All
委派(个人 Microsoft 帐户)
不支持。
应用程序
TrustFrameworkKeySet.ReadWrite.All
HTTP 请求
POST /trustFramework/keySets/{id}/generateKey
名称
说明
Authorization
Bearer {token}。必需。
Content-type
application/json. Required.
请求正文
在请求正文中,提供具有以下参数的 JSON 对象。
参数
类型
说明
use
string
类似于 trustFrameworkKey 的 use 属性 。
kty
string
类似于 trustFrameworkKey 的 kty 属性。
nbf
int
类似于 trustFrameworkKey 的 nbf 属性。
exp
int
类似于 trustFrameworkKey 的 exp 属性 。
响应
如果成功,此方法在响应 200 OK 正文中返回 响应代码和新 trustFrameworkKey 对象。
示例
请求
下面展示了示例请求。
POST https://graph.microsoft.com/beta/trustFramework/keySets/{id}/generateKey
Content-type: application/json
{
"use": "sig",
"kty": "RSA",
"nbf": 1508969811,
"exp": 1508969811
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var use = "sig";
var kty = "RSA";
var nbf = 1508969811;
var exp = 1508969811;
await graphClient.TrustFramework.KeySets["{trustFrameworkKeySet-id}"]
.GenerateKey(use,kty,nbf,exp)
.Request()
.PostAsync();
const options = {
authProvider,
};
const client = Client.init(options);
const trustFrameworkKey = {
use: 'sig',
kty: 'RSA',
nbf: 1508969811,
exp: 1508969811
};
await client.api('/trustFramework/keySets/{id}/generateKey')
.version('beta')
.post(trustFrameworkKey);
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/beta/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/trustFramework/keySets/{id}/generateKey"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSMutableDictionary *payloadDictionary = [[NSMutableDictionary alloc] init];
NSString *use = @"sig";
payloadDictionary[@"use"] = use;
NSString *kty = @"RSA";
payloadDictionary[@"kty"] = kty;
int32_t nbf = 1508969811;
payloadDictionary[@"nbf"] = nbf;
int32_t exp = 1508969811;
payloadDictionary[@"exp"] = exp;
NSData *data = [NSJSONSerialization dataWithJSONObject:payloadDictionary options:kNilOptions error:&error];
[urlRequest setHTTPBody:data];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
String use = "sig";
String kty = "RSA";
Long nbf = 1508969811L;
Long exp = 1508969811L;
graphClient.trustFramework().keySets("{id}")
.generateKey(TrustFrameworkKeySetGenerateKeyParameterSet
.newBuilder()
.withUse(use)
.withKty(kty)
.withNbf(nbf)
.withExp(exp)
.build())
.buildRequest()
.post();
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.New()
use := "sig"
requestBody.SetUse(&use)
kty := "RSA"
requestBody.SetKty(&kty)
nbf := int64(1508969811)
requestBody.SetNbf(&nbf)
exp := int64(1508969811)
requestBody.SetExp(&exp)
trustFrameworkKeySetId := "trustFrameworkKeySet-id"
result, err := graphClient.TrustFramework().KeySetsById(&trustFrameworkKeySetId).GenerateKey(trustFrameworkKeySet-id).Post(requestBody)
Import-Module Microsoft.Graph.Identity.SignIns
$params = @{
Use = "sig"
Kty = "RSA"
Nbf = 1508969811
Exp = 1508969811
}
New-MgTrustFrameworkKeySetKey -TrustFrameworkKeySetId $trustFrameworkKeySetId -BodyParameter $params
响应
下面展示了示例响应。
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#microsoft.graph.trustFrameworkKey",
"k": null,
"x5c": [],
"kty": "RSA",
"use": "sig",
"exp": 1908969811,
"nbf": 1908969811,
"kid": "Gaid7K8sO8RavMX9fzHir_Wg0femGhbY9b-B4rVIxbE",
"e": "AQAB",
"n": "rd54s6",
}