Exemplo n.º 1
0
        /// <inheritdoc/>
        public async Task <TrustGroupRegistrationResultModel> CreateRootAsync(
            TrustGroupRootCreateRequestModel request, CancellationToken ct)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }
            var result = await _groups.AddAsync(request.ToRegistration(), ct);

            try {
                // Issues new root certificate
                var certificate = await RenewGroupCertificateAsync(result, null, ct);

                _logger.Information("Root {name} {groupId} created.",
                                    request.Name, result.Id);
                return(new TrustGroupRegistrationResultModel {
                    Id = result.Id
                });
            }
            catch {
                // Attempt to remove group
                await Try.Async(() => _groups.DeleteAsync(result.Id, r => true));

                throw;
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Create trust group model
 /// </summary>
 /// <param name="model"></param>
 public TrustGroupRootCreateRequestApiModel(TrustGroupRootCreateRequestModel model)
 {
     Name                     = model.Name;
     Type                     = model.Type;
     SubjectName              = model.SubjectName;
     IssuedKeySize            = model.IssuedKeySize;
     IssuedLifetime           = model.IssuedLifetime;
     IssuedSignatureAlgorithm = model.IssuedSignatureAlgorithm;
     KeySize                  = model.KeySize;
     Lifetime                 = model.Lifetime;
     SignatureAlgorithm       = model.SignatureAlgorithm;
 }