/// <summary>
 /// Convert back to service model
 /// </summary>
 /// <returns></returns>
 public static StartSigningRequestModel ToServiceModel(
     this StartSigningRequestApiModel model)
 {
     if (model == null)
     {
         return(null);
     }
     return(new StartSigningRequestModel {
         GroupId = model.GroupId,
         CertificateRequest = model.CertificateRequest,
         EntityId = model.EntityId
     });
 }
        /// <inheritdoc/>
        public async Task <StartSigningRequestResponseApiModel> StartSigningRequestAsync(
            StartSigningRequestApiModel model, CancellationToken ct)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }
            var request = _httpClient.NewRequest($"{_serviceUri}/v2/requests/sign",
                                                 _resourceId);

            request.SetContent(model);
            var response = await _httpClient.PutAsync(request, ct).ConfigureAwait(false);

            response.Validate();
            return(response.GetContent <StartSigningRequestResponseApiModel>());
        }
        /// <inheritdoc/>
        public async Task <StartSigningRequestResponseApiModel> StartSigningRequestAsync(
            StartSigningRequestApiModel model, CancellationToken ct)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }
            var request = _httpClient.NewRequest($"{_serviceUri}/v2/requests/sign",
                                                 Resource.Platform);

            _serializer.SerializeToRequest(request, model);
            var response = await _httpClient.PutAsync(request, ct).ConfigureAwait(false);

            response.Validate();
            return(_serializer.DeserializeResponse <StartSigningRequestResponseApiModel>(response));
        }
示例#4
0
        public async Task <StartSigningRequestResponseApiModel> StartSigningRequestAsync(
            [FromBody][Required] StartSigningRequestApiModel signingRequest)
        {
            if (signingRequest == null)
            {
                throw new ArgumentNullException(nameof(signingRequest));
            }
            HttpContext.User = null; // TODO: Set service principal
            var result = await _signing.StartSigningRequestAsync(
                signingRequest.ToServiceModel(), new VaultOperationContextModel {
                AuthorityId = User.Identity.Name,
                Time        = DateTime.UtcNow
            });

            return(result.ToApiModel());
        }
示例#5
0
 /// <summary>
 /// Create a certificate request with a certificate signing request (CSR).
 /// </summary>
 /// <remarks>
 /// The request is in the 'New' state after this call. Requires Writer or
 /// Manager role.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='body'>
 /// The signing request parameters
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <StartSigningRequestResponseApiModel> StartSigningRequestAsync(this IAzureOpcVaultClient operations, StartSigningRequestApiModel body, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.StartSigningRequestWithHttpMessagesAsync(body, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
示例#6
0
 /// <summary>
 /// Create a certificate request with a certificate signing request (CSR).
 /// </summary>
 /// <remarks>
 /// The request is in the 'New' state after this call. Requires Writer or
 /// Manager role.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='body'>
 /// The signing request parameters
 /// </param>
 public static StartSigningRequestResponseApiModel StartSigningRequest(this IAzureOpcVaultClient operations, StartSigningRequestApiModel body)
 {
     return(operations.StartSigningRequestAsync(body).GetAwaiter().GetResult());
 }