public CadesSignerInfoModel(CadesSignerInfo signerInfo) { MessageDigest = new DigestAlgorithmAndValueModel(signerInfo.DigestAlgorithm, signerInfo.MessageDigest); Signature = new SignatureAlgorithmAndValueModel(signerInfo.SignatureAlgorithm, signerInfo.SignatureValue); if (signerInfo.SignaturePolicy != null) { SignaturePolicy = new SignaturePolicyIdentifierModel(signerInfo.SignaturePolicy); } Certificate = new CertificateModel(signerInfo.SigningCertificate); Timestamps = signerInfo.SignatureTimeStamps.Select(s => new CadesTimestampModel(s)).ToList(); try { bool isCertified; var dateReference = signerInfo.GetDateReference(out isCertified); if (isCertified) { CertifiedDateReference = dateReference; } } catch { } }
public CadesSignerModel(CadesSignerInfo signer) { SigningTime = signer.SigningTime; if (signer.DigestAlgorithm != null && signer.MessageDigest != null) { MessageDigest = new DigestAlgorithmAndValueModel(signer.DigestAlgorithm, signer.MessageDigest); } if (signer.SignatureAlgorithm != null && signer.SignatureValue != null) { Signature = new SignatureAlgorithmAndValueModel(signer.SignatureAlgorithm, signer.SignatureValue); } if (signer.SignaturePolicy != null && !signer.SignaturePolicy.IsImplicit) { SignaturePolicy = new SignaturePolicyIdentifierModel(signer.SignaturePolicy); } if (signer.SigningCertificate != null) { Certificate = new CertificateModel(signer.SigningCertificate); } if (signer.SignatureTimeStamps.Any()) { Timestamps = signer.SignatureTimeStamps.Select(s => new CadesTimestampModel(s)).ToList(); } // Get date reference try { bool isCertified; var dateReference = signer.GetDateReference(out isCertified); if (isCertified) { CertifiedDateReference = dateReference; } } catch { // do nothing } }