/// <inheritdoc/> public string ToDelimitedString() { CultureInfo culture = CultureInfo.CurrentCulture; return(string.Format( culture, StringHelper.StringFormatSequence(0, 32, Configuration.FieldSeparator), Id, SetIdCer.HasValue ? SetIdCer.Value.ToString(culture) : null, SerialNumber, Version, GrantingAuthority?.ToDelimitedString(), IssuingAuthority?.ToDelimitedString(), Signature?.ToDelimitedString(), GrantingCountry, GrantingStateProvince?.ToDelimitedString(), GrantingCountyParish?.ToDelimitedString(), CertificateType?.ToDelimitedString(), CertificateDomain?.ToDelimitedString(), SubjectId?.ToDelimitedString(), SubjectName, SubjectDirectoryAttributeExtension != null ? string.Join(Configuration.FieldRepeatSeparator, SubjectDirectoryAttributeExtension.Select(x => x.ToDelimitedString())) : null, SubjectPublicKeyInfo?.ToDelimitedString(), AuthorityKeyIdentifier?.ToDelimitedString(), BasicConstraint, CrlDistributionPoint != null ? string.Join(Configuration.FieldRepeatSeparator, CrlDistributionPoint.Select(x => x.ToDelimitedString())) : null, JurisdictionCountry, JurisdictionStateProvince?.ToDelimitedString(), JurisdictionCountyParish?.ToDelimitedString(), JurisdictionBreadth != null ? string.Join(Configuration.FieldRepeatSeparator, JurisdictionBreadth.Select(x => x.ToDelimitedString())) : null, GrantingDate.HasValue ? GrantingDate.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, IssuingDate.HasValue ? IssuingDate.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, ActivationDate.HasValue ? ActivationDate.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, InactivationDate.HasValue ? InactivationDate.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, ExpirationDate.HasValue ? ExpirationDate.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, RenewalDate.HasValue ? RenewalDate.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, RevocationDate.HasValue ? RevocationDate.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, RevocationReasonCode?.ToDelimitedString(), CertificateStatusCode?.ToDelimitedString() ).TrimEnd(Configuration.FieldSeparator.ToCharArray())); }