Exemple #1
0
        public void CanGetSetProperties()
        {
            var authz = new AcmeCertificate();

            authz.VerifyGetterSetter(a => a.Revoked, true);
            authz.VerifyGetterSetter(a => a.Issuer, new AcmeCertificate());
        }
        public void ThrowExceptionWhenCertDataMissing()
        {
            var cert = new AcmeCertificate
            {
                Location = new Uri("http://my-cert-url.com", UriKind.Absolute),
                Raw      = null
            };

            var ex = Assert.Throws <Exception>(() => AcmeCertificateExtensions.ToPfx(cert));

            Assert.True(ex.Message.Contains(cert.Location.AbsoluteUri));
        }
Exemple #3
0
        /// <summary>
        /// Converts the certificate To the PFX builder.
        /// </summary>
        /// <param name="cert">The certificate.</param>
        /// <returns>The PFX builder.</returns>
        /// <exception cref="System.Exception">If the certificate data is missing.</exception>
        public static PfxBuilder ToPfx(this AcmeCertificate cert)
        {
            if (cert?.Raw == null)
            {
                throw new Exception($"Certificate data missing, please fetch the certificate from ${cert.Location}");
            }

            var pfxBuilder = new PfxBuilder(cert.Raw, cert.Key);
            var issuer     = cert.Issuer;

            while (issuer != null)
            {
                pfxBuilder.AddIssuer(issuer.Raw);
                issuer = issuer.Issuer;
            }

            return(pfxBuilder);
        }
Exemple #4
0
        /// <summary>
        /// Converts the certificate To the PFX builder.
        /// </summary>
        /// <param name="cert">The certificate.</param>
        /// <returns>The PFX builder.</returns>
        /// <exception cref="System.Exception">If the certificate data is missing.</exception>
        public static PfxBuilder ToPfx(this AcmeCertificate cert)
        {
            if ((cert ?? throw new ArgumentNullException(nameof(cert))).Raw == null)
            {
                throw new AcmeException(
                          string.Format(Strings.ErrorMissingCertificateData, cert.Location));
            }

            var pfxBuilder = new PfxBuilder(cert.Raw, cert.Key);
            var issuer     = cert.Issuer;

            while (issuer != null)
            {
                pfxBuilder.AddIssuer(issuer.Raw);
                issuer = issuer.Issuer;
            }

            return(pfxBuilder);
        }