protected internal override SignerInformation ExtendCMSSignature(CmsSignedData signedData, SignerInformation si, SignatureParameters parameters, Document originalData) { if (parameters is null) { throw new ArgumentNullException(nameof(parameters)); } si = base.ExtendCMSSignature(signedData, si, parameters, originalData); IDictionary unsignedAttrs = si.UnsignedAttributes.ToDictionary(); CAdESSignature signature = new CAdESSignature(signedData, si.SignerID); DateTime signingTime = signature.SigningTime.Value; if (signingTime == null) { signingTime = parameters.SigningDate; } if (signingTime == null) { signingTime = DateTime.Now; } unsignedAttrs = ExtendUnsignedAttributes(unsignedAttrs, signature.SigningCertificate, signingTime, signature.CertificateSource); SignerInformation newsi = SignerInformation.ReplaceUnsignedAttributes(si, new BcCms.AttributeTable (unsignedAttrs)); return(newsi); }
public override IList<AdvancedSignature> GetSignatures() { IList<AdvancedSignature> infos = new AList<AdvancedSignature>(); foreach (object o in this.cmsSignedData.GetSignerInfos().GetSigners()) { SignerInformation i = (SignerInformation)o; CAdESSignature info = new CAdESSignature(this.cmsSignedData, i.SignerID); infos.AddItem(info); } return infos; }
/// <summary> /// Retrieves the signatures found in the document /// </summary> /// <returns> /// a list of IAdvancedSignatures for validation purposes /// </returns> private IList <IAdvancedSignature> GetSignatures(CmsSignedData cmsSignedData) { var signatures = new List <IAdvancedSignature>(); foreach (object o in cmsSignedData.GetSignerInfos().GetSigners()) { SignerInformation i = (SignerInformation)o; CAdESSignature info = new CAdESSignature(cmsSignedData, i); signatures.Add(info); } return(signatures); }
protected internal override SignerInformation ExtendCMSSignature(CmsSignedData cmsSignedData, SignerInformation si, SignatureParameters parameters, Document originalDocument) { si = base.ExtendCMSSignature(cmsSignedData, si, parameters, originalDocument); CAdESSignature signature = new CAdESSignature(cmsSignedData, si); IDictionary unsignedAttrHash = si.UnsignedAttributes.ToDictionary(); Attribute archiveTimeStamp = GetTimeStampAttribute(CAdESProfileA.id_aa_ets_archiveTimestamp, SignatureTsa, signature.GetArchiveTimestampData(0, originalDocument)); unsignedAttrHash.Add(id_aa_ets_archiveTimestamp, archiveTimeStamp); SignerInformation newsi = SignerInformation.ReplaceUnsignedAttributes(si, new AttributeTable (unsignedAttrHash)); return(newsi); }
/// <exception cref="System.IO.IOException"></exception> protected internal override SignerInformation ExtendCMSSignature(CmsSignedData signedData , SignerInformation si, SignatureParameters parameters, Document originalData) { SignerInformation newSi = base.ExtendCMSSignature(signedData, si, parameters, originalData ); //IDictionary<DerObjectIdentifier, Asn1Encodable> unsignedAttrs = newSi.UnsignedAttributes.ToDictionary(); IDictionary unsignedAttrs = newSi.UnsignedAttributes.ToDictionary(); CAdESSignature signature = new CAdESSignature(signedData, si.SignerID); unsignedAttrs = ExtendUnsignedAttributes(unsignedAttrs, signature.GetSigningCertificate (), parameters, signature.GetSigningTime().Value, signature.GetCertificateSource()); return(SignerInformation.ReplaceUnsignedAttributes(newSi, new BcCms.AttributeTable(unsignedAttrs ))); }
/// <exception cref="System.IO.IOException"></exception> protected internal override SignerInformation ExtendCMSSignature(CmsSignedData cmsSignedData , SignerInformation si, SignatureParameters parameters, Document originalDocument ) { si = base.ExtendCMSSignature(cmsSignedData, si, parameters, originalDocument); CAdESSignature signature = new CAdESSignature(cmsSignedData, si); //IDictionary<DerObjectIdentifier, Attribute> unsignedAttrHash = si.UnsignedAttributes.ToDictionary(); IDictionary unsignedAttrHash = si.UnsignedAttributes.ToDictionary(); Attribute archiveTimeStamp = GetTimeStampAttribute(CAdESProfileA.id_aa_ets_archiveTimestampV2 , GetSignatureTsa(), digestAlgorithm, signature.GetArchiveTimestampData(0, originalDocument )); //unsignedAttrHash.Put(CAdESProfileA.id_aa_ets_archiveTimestampV2, archiveTimeStamp); unsignedAttrHash.Add(CAdESProfileA.id_aa_ets_archiveTimestampV2, archiveTimeStamp); SignerInformation newsi = SignerInformation.ReplaceUnsignedAttributes(si, new AttributeTable (unsignedAttrHash)); return newsi; }
/// <exception cref="System.IO.IOException"></exception> protected internal override SignerInformation ExtendCMSSignature(CmsSignedData signedData , SignerInformation si, SignatureParameters parameters, Document originalData) { si = base.ExtendCMSSignature(signedData, si, parameters, originalData); //IDictionary<DerObjectIdentifier, Asn1Encodable> unsignedAttrs = si.UnsignedAttributes.ToDictionary(); IDictionary unsignedAttrs = si.UnsignedAttributes.ToDictionary(); CAdESSignature signature = new CAdESSignature(signedData, si.SignerID); DateTime signingTime = signature.GetSigningTime().Value; if (signingTime == null) { signingTime = parameters.SigningDate; } if (signingTime == null) { signingTime = DateTime.Now; } unsignedAttrs = ExtendUnsignedAttributes(unsignedAttrs, signature.GetSigningCertificate (), signingTime, signature.GetCertificateSource()); SignerInformation newsi = SignerInformation.ReplaceUnsignedAttributes(si, new BcCms.AttributeTable (unsignedAttrs)); return newsi; }