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)); }
/// <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); }
/// <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); }