create method
- CseKeyPair request,
- String userId, {
- String? chainValidation,
- String? $fields,
Creates and uploads a client-side encryption S/MIME public key certificate chain and private key metadata for the authenticated user.
For administrators managing identities and keypairs for users in their
organization, requests require authorization with a
service account
that has [domain-wide delegation
authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority)
to impersonate users with the
https://www.googleapis.com/auth/gmail.settings.basic scope. For users
managing their own identities and keypairs, requests require
hardware key encryption
turned on and configured.
request - The metadata request object.
Request parameters:
userId - The requester's primary email address. To indicate the
authenticated user, you can use the special value me.
chainValidation - The type of certificate chain validation to perform at
creation. The request will be rejected if the uploaded chain fails to
satisfy the requested validation checks. When unspecified, this parameter
defaults to all.
Possible string values are:
- "all" : Enable all certificate chain validation and certificate revocation checks. Recommended for normal use.
- "none" : Disable all certificate chain validation and certificate revocation checks. This may be useful when deliberately creating key pairs with invalid, out-of-use certificate chains to be used only for decryption of historical S/MIME messages. Key pairs created with invalid or revoked certificates cannot be used in a CseIdentity object.
$fields - Selector specifying which fields to include in a partial
response.
Completes with a CseKeyPair.
Completes with a commons.ApiRequestError if the API endpoint returned an error.
If the used http.Client completes with an error when making a REST call,
this method will complete with the same error.
Implementation
async.Future<CseKeyPair> create(
CseKeyPair request,
core.String userId, {
core.String? chainValidation,
core.String? $fields,
}) async {
final body_ = convert.json.encode(request);
final queryParams_ = <core.String, core.List<core.String>>{
'chainValidation': ?chainValidation == null ? null : [chainValidation],
'fields': ?$fields == null ? null : [$fields],
};
final url_ =
'gmail/v1/users/' +
commons.escapeVariable('$userId') +
'/settings/cse/keypairs';
final response_ = await _requester.request(
url_,
'POST',
body: body_,
queryParams: queryParams_,
);
return CseKeyPair.fromJson(
response_ as core.Map<core.String, core.dynamic>,
);
}