コード例 #1
0
        /// <summary>
        /// Map to Certificate object.
        /// </summary>
        /// <param name="developerCertificateData">Developer certificate data</param>
        /// <param name="certificate">Certificate to be updated</param>
        /// <returns>Certificate</returns>
        public static Certificate MapDeveloperCert(connector_ca.Model.DeveloperCertificateResponseData developerCertificateData, Certificate certificate = null)
        {
            if (certificate == null)
            {
                certificate = new Certificate();
            }

            certificate.Type = CertificateType.Developer;
            certificate.DeviceExecutionMode  = 1;
            certificate.SecurityFileContent  = developerCertificateData.SecurityFileContent;
            certificate.Description          = developerCertificateData.Description;
            certificate.DeveloperCertificate = developerCertificateData.DeveloperCertificate;
            certificate.AccountId            = developerCertificateData.AccountId;
            certificate.DeveloperPrivateKey  = developerCertificateData.DeveloperPrivateKey;
            certificate.CreatedAt            = developerCertificateData.CreatedAt;
            certificate.Id              = developerCertificateData.Id;
            certificate.Name            = developerCertificateData.Name;
            certificate.HeaderFile      = certificate.SecurityFileContent;
            certificate.Status          = CertificateStatus.Active;
            certificate.Issuer          = string.Empty;
            certificate.Subject         = string.Empty;
            certificate.Validity        = DateTime.Now;
            certificate.CertificateData = string.Empty;
            certificate.OwnerId         = string.Empty;
            return(certificate);
        }
コード例 #2
0
        /// <summary>
        /// Map to Certificate object.
        /// </summary>
        /// <param name="trustedCertificate">TrustedCertificate response object.</param>
        /// <param name="certificate">Certificate to be updated.</param>
        /// <param name="api">Certificate Api</param>
        /// <param name="signature">Certificate signature</param>
        /// <returns>Certificate</returns>
        public static Certificate MapTrustedCert(iam.Model.TrustedCertificateResp trustedCertificate, Certificate certificate = null, CertificatesApi api = null, string signature = null)
        {
            if (certificate == null)
            {
                certificate = new Certificate();
            }

            if (trustedCertificate.DeviceExecutionMode == 1)
            {
                certificate.Type = CertificateType.Developer;
            }
            else
            {
                switch (trustedCertificate.Service)
                {
                case iam.Model.TrustedCertificateResp.ServiceEnum.Bootstrap:
                    certificate.Type = CertificateType.Bootstrap;
                    break;

                case iam.Model.TrustedCertificateResp.ServiceEnum.Lwm2m:
                    certificate.Type = CertificateType.Lwm2m;
                    break;

                default:
                    throw new System.IO.InvalidDataException("Wrong Trusted Certificate Service");
                }

                if (api != null)
                {
                    switch (certificate.Type)
                    {
                    case CertificateType.Bootstrap:
                        certificate.ServerUri         = api.BootstrapServerCredentials.Url;
                        certificate.ServerCertificate = api.BootstrapServerCredentials.Url;
                        break;

                    case CertificateType.Lwm2m:
                        certificate.ServerUri         = api.Lmw2mServerCredentials.Url;
                        certificate.ServerCertificate = api.Lmw2mServerCredentials.Url;
                        break;

                    default:
                        break;
                    }
                }
            }

            certificate.DeviceExecutionMode = trustedCertificate.DeviceExecutionMode;
            certificate.Subject             = trustedCertificate.Subject;
            certificate.AccountId           = trustedCertificate.AccountId;
            certificate.Validity            = trustedCertificate.Validity;
            certificate.Issuer          = trustedCertificate.Issuer;
            certificate.CertificateData = trustedCertificate.Certificate;
            certificate.Id             = trustedCertificate.Id;
            certificate.Name           = trustedCertificate.Name;
            certificate.Description    = trustedCertificate.Description;
            certificate.CreatedAt      = trustedCertificate.CreatedAt;
            certificate.Status         = trustedCertificate.Status.ParseEnum <CertificateStatus>();
            certificate.OwnerId        = trustedCertificate.OwnerId;
            certificate.EnrollmentMode = trustedCertificate.EnrollmentMode ?? false;
            certificate.UpdatedAt      = trustedCertificate.UpdatedAt;
            certificate.Signature      = signature;
            return(certificate);
        }