Example #1
0
        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()));
        }
Example #2
0
        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));
        }