Beispiel #1
0
        public override void Synchronize(ICertificateDataReader certificateDataReader, BlockingCollection <CAConnectorCertificate> blockingBuffer, CertificateAuthoritySyncInfo certificateAuthoritySyncInfo, CancellationToken cancelToken)
        {
            Logger.MethodEntry(ILogExtensions.MethodLogLevel.Debug);

            string customerId = JsonConvert.DeserializeObject <GETShopperResponse>(_api.GetCustomerId()).customerId;

            int  pageNumber  = 1;
            bool wasLastPage = false;

            do
            {
                GETCertificatesDetailsResponse certificates = JsonConvert.DeserializeObject <GETCertificatesDetailsResponse>(_api.GetCertificates(customerId, pageNumber, _syncPageSize));

                foreach (CertificateDetails certificate in certificates.certificates)
                {
                    Thread.Sleep(1000);
                    try
                    {
                        string issuedCert = RemovePEMHeader(JsonConvert.DeserializeObject <GETCertificateResponse>(_api.DownloadCertificate(certificate.certificateId)).pems.certificate);
                        CertificateStatusEnum certStatus = CertificateStatusEnum.ISSUED;
                        if (!Enum.TryParse(certificate.status, out certStatus))
                        {
                            certStatus = CertificateStatusEnum.CANCELED;
                        }

                        blockingBuffer.Add(new CAConnectorCertificate
                        {
                            CARequestID      = certificate.certificateId,
                            Certificate      = issuedCert,
                            CSR              = string.Empty,
                            ResolutionDate   = certificate.completedAt,
                            RevocationDate   = certificate.revokedAt,
                            RevocationReason = null,
                            Status           = APIProcessor.MapReturnStatus(certStatus),
                            SubmissionDate   = certificate.createdAt,
                            ProductID        = certificate.type
                        });
                    }
                    catch (GoDaddyException) { }
                }

                wasLastPage = certificates.pagination.previous == certificates.pagination.last;
                pageNumber++;
            } while (!wasLastPage);

            blockingBuffer.CompleteAdding();

            Logger.MethodExit(ILogExtensions.MethodLogLevel.Debug);
        }
Beispiel #2
0
        public override void Synchronize(ICertificateDataReader certificateDataReader, BlockingCollection <CertificateRecord> blockingBuffer, CertificateAuthoritySyncInfo certificateAuthoritySyncInfo, CancellationToken cancelToken, string logicalName)
        {
            Logger.MethodEntry(ILogExtensions.MethodLogLevel.Debug);

            Logger.MethodExit(ILogExtensions.MethodLogLevel.Debug);

            throw new NotImplementedException();
        }