public void AddAuthenticationTime(DateTime?currentDateTime = null) { if (currentDateTime == null) { currentDateTime = DateTime.UtcNow; } var writer = new AsnWriter(AsnEncodingRules.DER); writer.WriteUtcTime(currentDateTime.Value); SignedAttributes.Add(new AsnEncodedData(new Oid(Oids.SigningTime), writer.Encode())); }
public void AddAlgorithmProtectAttribute() { var writer = new AsnWriter(AsnEncodingRules.DER); var algAttr = default(CmsAlgorithmProtectAttributeAsn); algAttr.DigestAlgorithm = default(AlgorithmIdentifierAsn); algAttr.DigestAlgorithm.Algorithm = new Oid(SigningPolicy.DigestAlgorithmOID); algAttr.DigestAlgorithm.Parameters = SigningPolicy.DigestAlgorithmParameters; var sigAlg = default(AlgorithmIdentifierAsn); sigAlg.Algorithm = new Oid(SigningPolicy.EncryptionAlgorithmOID, SigningPolicy.SignatureAlgorithmName); sigAlg.Parameters = SigningPolicy.SigningParameters; algAttr.SignatureAlgorithm = sigAlg; algAttr.Encode(writer); var payload = writer.Encode(); SignedAttributes.Add(new AsnEncodedData(new Oid(Oids.IdAaCmsAlgorithmProtect), payload)); }